Unbeatable phone accessories deals
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

See all
Something went wrong. Please try your request again later.

Programming for Musicians and Digital Artists: Creating music with ChucK First Edition


Summary

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
  1. Introduction: ChucK programming for artists
    PART 1 INTRODUCTION TO PROGRAMMING IN CHUCK
  2. Basics: sound, waves, and ChucK programming
  3. Libraries: ChucK's built-in tools
  4. Arrays: arranging and accessing your compositional data
  5. Sound files and sound manipulation
  6. Functions: making your own tools
  7. PART 2 NOW IT GETS REALLY INTERESTING!
  8. Unit generators: ChucK objects for sound synthesis and processing
  9. Synthesis ToolKit instruments
  10. Multithreading and concurrency: running many programs at once
  11. Objects and classes: making your own ChucK power tools
  12. Events: signaling between shreds and syncing to the outside world
  13. Integrating with other systems via MIDI, OSC, serial, and more

Editorial Reviews

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.

Product details

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.9 out of 5 stars
18 global ratings

Top reviews from the United States

  • Reviewed in the United States on March 12, 2020
    Format: PaperbackVerified Purchase
    Very good to have this since software's documentation is a bit hard to find.
  • Reviewed in the United States on September 23, 2017
    Format: PaperbackVerified Purchase
    A perfect book in a perfect development! Good explanations, very good index, very intetesting programming language!
    2 people found this helpful
    Report
  • Reviewed in the United States on February 20, 2015
    Format: Paperback
    Manning's Programming for Musicians and Digital Artists is enjoyable, informative reading, particularly if you like music and programming and are motivated to combine them in some way.

    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.)
    13 people found this helpful
    Report
  • Reviewed in the United States on June 8, 2015
    Format: PaperbackVerified Purchase
    It seems to have been designed for people who are total noobs at programming, making it kind of slow moving for those who have some experience. But to learn Chuck, it's all here.
    5 people found this helpful
    Report

Top reviews from other countries

  • Rangarajan Krishnamoorthy
    5.0 out of 5 stars Five Stars
    Reviewed in India on July 25, 2015
    Format: PaperbackVerified Purchase
    The only book you need to learn and use Chuck!
  • D.Ball
    5.0 out of 5 stars the book on chuck a fun language to learn and use to teach
    Reviewed in the United Kingdom on May 21, 2015
    Format: PaperbackVerified Purchase
    the book on chuck a fun language to learn and use to teach programming
  • Cliente Amazon
    5.0 out of 5 stars Único. Dos libros en uno.
    Reviewed in Spain on March 21, 2016
    Format: PaperbackVerified Purchase
    Este libro enseña dos cosas. A programar aplicaciones de sonido, y a programar.

    Para un músico que nunca ha programado puede sonar extraño, pero la programación es un arte en sí mismo, no es lo mismo saber programar que haber hecho un programa, como no es lo mismo saber música que saber tocar una canción. Este libro enseña a hacer aplicaciones musicales concretas, pero también enseña los conceptos fundamentales de la programación moderna perfectamente ejemplificados.

    Todo se explica poco a poco, en palabras sencillas, por lo que cualquier persona puede aprender, sin embargo se profundiza lo suficiente como para programar sintetizadores, secuenciadores, efectos, manipulaciones MIDI... cualquier cosa. Además, el lenguaje Chuck en el que se basa el libro es muy similar a los principales lenguajes de programación profesionales (C#, C++, Java, PHP), así que lo aprendido se puede ampliar hacia lenguajes más generalistas.

    El único "pero" es que si ya se tienen buenas nociones de programación se hace un poco pesado, precisamente por explicar cada pequeño paso.