YoVDO

Introduction to Real-Time Audio Programming in ChucK

Offered By: California Institute of the Arts via Kadenze

Tags

Digital Media Courses Object-oriented programming Courses Audio Effects Courses Multi-Threading Courses Sound Synthesis 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

  • Basics: Sound, Waves, and ChucK Programming
    • Let's begin with the basics of ChucK and computer science, including variables, types, conditional statements, and looping structures.
  • Multi-Threading and Concurrency
    • This session our topic will be multi-threading, or how you can make your ChucK program "juggle" multiple things at the same time.
  • Classes and Object-Oriented Programming
    • Our focus this session will be object-oriented programming and how you can create your own "objects" to use in your ChucK code.
  • ChucK Libraries and Intro to Arrays
    • This session introduces libraries built in ChucK, and shows how random numbers and different mathematical equations can be used to make more expressive compositions. We also introduce arrays and show how to use them to make melodies.
  • Sound File Manipulation in ChucK
    • This session we introduce how to use sound files in ChucK and how you can use them to create soundscapes and a techno song.
  • Functions in ChucK
    • This session will introduce the concept of functions and how they can be used in modularizing and organizing your code, and help you create more expressive compositions.
  • Unit Generators and Physical Models
    • This session we are going to learn how to make audio effects! Through ChucK we will be using built-in synthesis techniques and other concepts to strongly enhance the sounds you use to make your.
  • Live Control: Keyboard, Mouse, MIDI & OSC
    • Learn how to bring your programming skills into a Live Performance using external input such as HID, MIDI and OSC to control your ChucK programs.

Taught by

Ajay Kapur

Tags

Related Courses

Ableton Push Fast Start
CreativeLive
GearGods Presents: Mastering Metal Mixing: Finalizing Your Mix
CreativeLive
Mixing Electronic Music In Ableton Live
CreativeLive
Music Production in Logic Pro X: Vocal Mixing Essentials
CreativeLive
Robert Lang Studios Mixing Class
CreativeLive