Programming for Musicians and Digital 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
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.
First, I would like to note that I came to this book after knowing other programming languages. I know that the book is intended for "musicians and digital artists" who never programmed, therefore, this complain is somewhat unfair. The authors repeat themselves too much, and the book is very slow, making it a bit hard to read. The code snippets exemplify this issue: there are inline comments in the code, additional annotation around it, and explanation of the annotations in the text body. It is 3 times repetition! I found myself skimming through the text when it explains a code snippet and just read the comments / annotations. In that case, I would prefer only comments or only annotations. Second, I think that the authors try to "sell" the book to the reader way too often. When something new is demonstrated, it is almost always followed by statements that praise the language and the feature. As a reader, I decided to read this book because I believe that chuck is worth learning. Showing the selling features of the language in the introduction will be enough. Next, I would like to mention one good thing about the book, and this is its appendices. Most programming books I read are not useful as reference books. This one, however, include most of the information necessary as reference in the appendices. It includes libraries and unit generator "catalogs", and useful information for installing and running the program in different scenarios. As opposed to the rest of the book, the appendices are also more dense, which is, IMHO, a good thing. Finally, I would still recommend the book to someone who want to learn chuck. Apart from the criticism above it is well written and well organized. And it is the only book to learn chuck at the moment.