Programming for Musicians and Digital Artists: Creating Music with ChucK offers a complete introduction to programming in the open source music language ChucK. In it, you'll learn the basics of digital sound creation and manipulation while you discover the ChucK language. As you move example-by-example through this easy-to-follow book, you'll create meaningful and rewarding digital compositions and "instruments" that make sound and music in direct response to program logic, scores, gestures, and other systems connected via MIDI or the network.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About this Book
A digital musician must manipulate sound precisely. ChucK is an audio-centric programming language that provides precise control over time, audio computation, and user interface elements like track pads and joysticks. Because it uses the vocabulary of sound, ChucK is easy to learn even for artists with little or no exposure to computer programming.
Programming for Musicians and Digital Artists offers a complete introduction to music programming. In it, you'll learn the basics of digital sound manipulation while you learn to program using ChucK. Example-by-example, you'll create meaningful digital compositions and "instruments" that respond to program logic, scores, gestures, and other systems connected via MIDI or the network. You'll also experience how ChucK enables the on-the-fly musical improvisation practiced by communities of "live music coders" around the world.
Written for readers familiar with the vocabulary of sound and music. No experience with computer programming is required.
What's Inside
Learn ChucK and digital music creation side-by-side
Invent new sounds, instruments, and modes of performance
Written by the creators of the ChucK language
About the Authors
Perry Cook, Ajay Kapur, Spencer Salazar, and Ge Wang are pioneers in the area of teaching and programming digital music. Ge is the creator and chief architect of the ChucK language.
Table of Contents
Introduction: ChucK programming for artists
PART 1 INTRODUCTION TO PROGRAMMING IN CHUCK
Basics: sound, waves, and ChucK programming
Libraries: ChucK's built-in tools
Arrays: arranging and accessing your compositional data
Sound files and sound manipulation
Functions: making your own tools
PART 2 NOW IT GETS REALLY INTERESTING!
Unit generators: ChucK objects for sound synthesis and processing
Synthesis ToolKit instruments
Multithreading and concurrency: running many programs at once
Objects and classes: making your own ChucK power tools
Events: signaling between shreds and syncing to the outside world
Integrating with other systems via MIDI, OSC, serial, and more