- Use promo code PRIMEBOOKS18 to save $5.00 when you spend $20.00 or more on Books offered by Amazon.com. Enter code PRIMEBOOKS18 at checkout. Here's how (restrictions apply)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Programming for Musicians and Digital Artists: Creating music with ChucK 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
Frequently bought together
Customers who bought this item also bought
Special offers and product promotions
About the Author
Ajay Kapur is currently the Director of the Music Technology program (MTIID) at the California Institute of the Arts, as well as the Associate Dean for Research and Development in Digital Arts. Kapur is also a Senior Lecturer in the Sonic Engineering Labs for Creative Technology (SELCT) at Victoria University of Wellington in New Zealand. He has also published over 80 technical papers and presented lectures across the world on music technology, human computer interface for artists, robotics for making sound, and modern digital orchestras
Perry R. Cook served as Stanford's Technical Director of the Center for Computer Research in Music and Acoustics, until joining the faculty of Princeton University in 1996 as a Professor of Computer Science, with a joint appointment in music. Along with working for companies such as NeXT Inc., Media Vision, Xenon/Chromatic, Interval Research, and mobile music App giant SMule, Cook has published over 200 technical and music papers and has lectured worldwide on the acoustics of the voice and musical instrument simulation, human perception of sound, and interactive devices for expressive musical performance. He is also the author of the Synthesis Toolkit in C++ (STK), and co-author of the ChucK audio programming language.
Spencer Salazar is a doctoral student at the Stanford Center for Computer Research in Music and Acoustics (CCRMA), researching computer-based forms of music performance and experience. He has created interfaces for ChucK, developed prototype consumer electronics, architected large-scale social music interactions for SMule, composed for laptop and mobile phone ensembles, and taught numerous workshops on computer music topics.
Ge Wang is the creator and chief architect of the ChucK audio programming language. He is an Assistant Professor at Stanford University's Center for Computer Research in Music and Acoustics (CCRMA) where his research includes programming languages and interactive software systems for computer music, mobile and social music, new performance ensembles paradigms (e.g., live coding), interfaces for human-computer interaction, musical visualization, and methodologies for education at the intersection of computer science and music. Ge is also the co-founder of mobile music startup SMule (over 100 million users) and the designer of the iPhone's Ocarina and Magic Piano.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The book offers plenty of clear how-to content for those who want to take their first deep dives into the techniques needed to make, modify and perform music using computers.
Indeed, this excellent guide can help take you from generating "Hello, World" and "Twinkle, Twinkle, Little Star" to linking up with MIDI devices and creating sophisticated music and sounds that can be used in live performances and elsewhere.
Don't be scared by the word "Programming" in the title. Yes, it can help--but it is not required--to have a little bit of programming experience. As you start working with the audio-centric programming language ChucK, you will simply type a few brief lines of code or paste them from downloaded files into a simple on-screen tool known as the "miniAudicle." With this tool, you can then make changes and hear the results "instantly without interrupting other sounds being synthesized and heard," the authors point out. You also can save your files, load different files and do other tasks quickly.
The free, open-source ChucK programming language, the authors' emphasize, "is designed specifically for real-time sound synthesis and music creation." Their book provides numerous short code examples to tinker with, as well as a few basic physics, math and music pointers that illustrate features and help support the authors' descriptions.
Note: If your goal is to simply sit down at a keyboard and immediately start creating digital music, you may want to skip this book and look for other options. The authors concede that "many artists are happy with over-the-counter software systems and controllers for real-time performance work. And there are many who only want to use computers to produce static final products in the form of .wav/.mp3 files, CDs or collections of songs, sound tracks for videos, and more. A large number of those artists are happy to learn and use the packages and tools from commercial or free sources.
"But there are many, and we’re betting you’re one, who want more," they add. "Maybe you’re coming to this book with a big idea (or many big ideas) and want the tools to help you realize it/them. Maybe you’re looking to shift directions in your art making. Or perhaps you already know how to program in a language such as Java, but you find it doesn’t do what you want."
ChucK gives you "greater under-the-hood access" than some of the other popular music/sound languages and systems, such as Csound, SuperCollider, JSyn, Max/MSP and PD (Pure Data). And ChucK, the authors note, "is generally more succinct, requiring much less code (lines of typed text) than these other languages in order to accomplish a particular task."
You learn how to work with many different tools, ranging from oscillators, to filters, to delay generators, reverberators and other audio effects, and MIDI (even without a MIDI interface and cable). You also learn how to generate the sounds of several different musical instruments.
ChucK has a key emphasis on ease of controlling time: for example, how long a tone or sounds occurs, how often it occurs within a set time period, and how long are the silences between tones or sounds.
I have not yet tried all of the code examples in the book, but the ones I have tried in several chapters have worked very well on a Windows laptop and are easily modified and tested in real time using the miniAudicle. (The book also shows how to install ChucK on Mac OS X and Ubuntu Linux systems).
Thus far, I have encountered only one code typo in the printed book's code examples. In Listing 1.8, "Playing notes with integer values," there is a mistake in the line that is supposed to multiply the frequency of a tone pitch by 2. However, the line is printed "1 *=> myPitch;" -- which simply repeats previous pitch. Changing the line to "2 *=> myPitch;" fixes the problem and takes only a couple of seconds to accomplish in the miniAudicle.
I am giving this book five stars, because it meets a specific need for me and provides a lot of the information I have been wanting. You may want more--or less--than the book provides. But that is always the challenge for authors of programming how-to books: providing just enough for most readers. I had heard that ChucK is both powerful and easy to use, and, with this book and the miniAudicle, I have found that it really is.
(My thanks to Manning for providing a review copy of the book.)