YoVDO

Introduction to Programming for Musicians and Digital Artists

Offered By: California Institute of the Arts via Coursera

Tags

Digital Music Courses Object-oriented programming Courses Sound Design Courses Multi-Threading Courses Event Handling Courses Physical Modeling Courses

Course Description

Overview

The course, lecture, and examples build on each other to teach the fundamentals of programming in general (logic, loops, functions, objects, classes) and also deals with advanced topics including multi-threading, events and signals.  Throughout the course, students create meaningful and rewarding expressive digital “instruments” that make sound and music in direct response to program logic.  The ChucK language provides precise high-level control over time, audio computation, and user interface elements (track pad, joysticks, etc.).  ChucK is used (unknowingly in most cases, via SMule Apps) by millions of users throughout the world, and is the backbone of dozens of academic programs and laptop orchestras.  Learning to program using ChucK, through the musical examples provided in this course, will prepare students to program in C++, Java, and other languages. There will be special guest lectures from creators of the ChucK language, Dr. Ge Wang (Stanford University) and Dr. Perry R. Cook (Princeton University).


Syllabus

WEEK 1: Basics: Sound, Waves, and ChucK Programming

WEEK 2: Libraries and Arrays

WEEK 3: Sound File Manipulation

WEEK 4: Functions

WEEK 5: Unit Generators and Physical Models

WEEK 6: Multi-Threading and Concurrency

WEEK 7: Objects and Classes

WEEK 8: Live Control: Keyboard, Mouse & MIDI


Taught by

Ajay Kapur

Tags

Related Courses

Models in Architecture – design through physical & digital models
Delft University of Technology via edX
Synthesis and Sound Design 101
CreativeLive
Digital Modeling: Volume, Surface, Space
University of Nevada, Las Vegas via Kadenze
Ultimate Ableton Live 11, Part 4: Synthesis and Sound Design
Kadenze
Applying Differential Equations and Inverse Models with R
Pluralsight