Introduction to Real-Time Audio Programming in ChucK
Offered By: California Institute of the Arts via Kadenze
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 StartCreativeLive 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