Introduction to Real-Time Audio Programming in ChucK

Go to class
Write Review

Free Online Course: Introduction to Real-Time Audio Programming in ChucK provided by Kadenze is a comprehensive online course, which lasts for 8 weeks long. The course is taught in English and is free of charge. Upon completion of the course, you can receive an e-certificate from Kadenze. Introduction to Real-Time Audio Programming in ChucK is taught by Ajay Kapur.

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
  • Session 1: 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. Session 2: Libraries And 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. Session 3: Sound File Manipulation 
    This session we introduce how to use sound files in ChucK and how you can use them to create soundscapes and a techno song. Session 4: Functions 
    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. Session 5: 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. Session 6: Multi-Threading And Concurrency 
    This session our topic will be multi-threading, or how you can make your program "juggle" multiple things at the same time. Session 7: Objects And Classes 
    Our focus this session will be object-oriented programming and how you can create your own "objects" to use in your code. Session 8: Live Control: Keyboard, Mouse, MIDI & OSC 
    Learn how to bring your programming skills into a Live Performance using HID, MIDI and OSC.

Tags