Introduction to Programming for Musicians and Digital Artists
This course provides a complete introduction to programming for digital musicians and
artists, in the real-time multimedia language ChucK. Rich with practical examples and
pointers to additional web resources, it can be understood by novices wishing to learn to
program interactive arts systems.
About the Course
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).
Course Syllabus
WEEK 0: Introduction
0.1 Interaction Design
0.2 New Musical Instruments
0.3 Why do Digital Artists need to learn how to program?
0.4 Why Open source?
0.5 Why ChucK?
WEEK 1: Basics: Sound, Waves, and ChucK Programming
1.1 Introduction to Sound
1.2 Programming Basics
1.3 Timing
1.4 Control Structures
1.5 Example: Making Sound with Oscillators
WEEK 2: Libraries and Arrays
2.1 Libraries
2.2 Arrays
2.3 Example: Playing a Melody
WEEK 3: WaveTable Synthesis & Sound File Manipulation
3.1 Wavetable Synthesis
3.2 SndBuf
3.3 Example: Making a Sequencer
WEEK 4: Functions
4.1 Declaration
4.2 Advanced Techniques
4.3 Example: Making Chords
WEEK 5: Unit Generators
5.1 Global Special Unit Generators
5.2 Signal Generators:
5.3 Oscillators
5.4 Gain
5.5 FM and Filter Based Synthesis
5.6 Physical Models
5.7 Audio Effects
5.8 Filters
5.9 Envelopes
5.10 Example: Create a Band
WEEK 6: Multi-Threading and Concurrency
6.1 Parallel Processing, Concurrency
6.2 Machine Commands
6.3 A Software Architecture
6.4 Sporking
6.5 Example: Synchronization
WEEK 7: Objects and Classes
7.1 Objects
7.2 Classes
7.3 Example: Build a Smart Mandolin Player
WEEK 8: Polling vs. Events
8.1 Polling
8.2 Events
8.3 Common HCI Input Devices
8.4 Example: Play a Flute with your Keyboard
0.1 Interaction Design
0.2 New Musical Instruments
0.3 Why do Digital Artists need to learn how to program?
0.4 Why Open source?
0.5 Why ChucK?
WEEK 1: Basics: Sound, Waves, and ChucK Programming
1.1 Introduction to Sound
1.2 Programming Basics
1.3 Timing
1.4 Control Structures
1.5 Example: Making Sound with Oscillators
WEEK 2: Libraries and Arrays
2.1 Libraries
2.2 Arrays
2.3 Example: Playing a Melody
WEEK 3: WaveTable Synthesis & Sound File Manipulation
3.1 Wavetable Synthesis
3.2 SndBuf
3.3 Example: Making a Sequencer
WEEK 4: Functions
4.1 Declaration
4.2 Advanced Techniques
4.3 Example: Making Chords
WEEK 5: Unit Generators
5.1 Global Special Unit Generators
5.2 Signal Generators:
5.3 Oscillators
5.4 Gain
5.5 FM and Filter Based Synthesis
5.6 Physical Models
5.7 Audio Effects
5.8 Filters
5.9 Envelopes
5.10 Example: Create a Band
WEEK 6: Multi-Threading and Concurrency
6.1 Parallel Processing, Concurrency
6.2 Machine Commands
6.3 A Software Architecture
6.4 Sporking
6.5 Example: Synchronization
WEEK 7: Objects and Classes
7.1 Objects
7.2 Classes
7.3 Example: Build a Smart Mandolin Player
WEEK 8: Polling vs. Events
8.1 Polling
8.2 Events
8.3 Common HCI Input Devices
8.4 Example: Play a Flute with your Keyboard
FAQ
Will I get a Statement of Accomplishment after completing this class?
Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by the instructor.
Yes. Students who successfully complete the class will receive a Statement of Accomplishment signed by the instructor.
No comments:
Post a Comment