Contents

COURSE HISTORY AND DESCRIPTION

This course was originated in 1996 to offer a hands-on approach to interaction design for musical applications. It was originally helmed by Max Mathews and Bill Verplank, and early on was jointly taught over teleconference with instructors at San Jose State and Princeton. In 2002, CCRMA began offering an intensive workshop version of this course during the summer. Other past instructors include Matt Wright and Michael Gurevich.

This workshop integrates programming, electronics, interaction design, audio, and interactive music. Focus will be on hands-on applications using sensors and microprocessors in conjunction with real-time DSP to make music. Specific technologies will include Arduino microcontrollers, PD and/or Max/MSP for music synthesis, and sensors including force-sensitive resistors, bend sensors, accelerometers, IR range finders, etc. Participants will design and build working prototypes using a kit that can be taken home at the end of the workshop. Further issues to be explored will include modes and mappings in computer music, exercises in invention, and applications of sensors and electronics to real-time music. The course will be augmented by a survey of existing controllers and pieces of interactive music.

COURSE SCHEDULE

We will meet from 9am-5:00pm daily, with mini-breaks at 10:30 and 3:00, and a lunch break from 12-1.

DETAILED DESCRIPTION

Many workshops teach the technical details involved in making music using the Arduino. The PID
workshop goes the extra mile by mentoring participants in evaluating and further developing their own
ideas with the help of the Verplankian physical interaction design (PID) framework. Participants learn the
philosophy and utility underlying the eight interrelated PID perspectives: idea, metaphor, model, display,
error, scenario, task, and control.

The workshop also teaches technical skills for designing musical interactions. The workshop integrates
programming, electronics, robotics, audio, and interactive music along with PID. Hands-on applications
using sensors and microprocessors in conjunction with real-time DSP will be explored for making music.
Specific technologies will include Arduino platform, processing, Firmata, and PD and/or
Max/MSP for music synthesis. Participants will learn how to use resistive, force-sensitive, capacitative,
optical, ultrasound, magnetic, optical, and acceleration sensors. We will also teach students how to make
their own sensors with custom geometries constructed out of materials such as conductive fabric,
piezoresistive fabric, and copper tape. We will discuss popular controller components such as (multi-)touch
screens, TacTex pads, Nintendo Wii, Novint Falcon, and many more. Participants will design and build
working prototypes using a kit that can be taken home at the end of the workshop. Many prototypes will be
applicable for performance and exhibits. Further issues to be explored will include modes and mappings in
computer music, exercises in invention, and applications of sensors and electronics to real-time music. The
course will be augmented by a survey of existing controllers and pieces of interactive music.

This workshop is intended for: Musicians or composers interested in exploring new possibilities in interactive
music in a hands on and technical way; Anyone looking to gain valuable skills in basic analog and digital
electronics, with a focus on invention; Makers, engineers, computer scientists, or product designers
interested in exploring artistic outlets for their talents and collaborating with performers and composers.

Worskhop structure: The workshop is an accelerated variant of the
Music 250A course. The workshop will consist of half-day supervised lab sessions,
and half-day lectures, classroom exercises and discussions. Participants are encouraged (but by no means
required) to bring their own laptop computers with any music software/hardware they already use.

WORKSHOP PROJECT

One of the goals of this workshop is to help you get hands-on experience building a musical physical interaction project of your choosing. You are encouraged to work with other workshop participants on the project, particularly those who might have skills that complement your own. Since the workshop is short, it is a good idea to start thinking of ideas during the first lectures and labs; during the second half of the workshop, you will primarily be working on getting a "demo-able" prototype ready for the project presentations on Friday afternoon.

HOMEWORKS

LABS

SOFTWARE

Max 5
is the graphical programming environment that we recommend using for synthesizing sound using OS X or Windows. You can download a 30 day demo for free, but the regular version is rather expensive.

Pure Data (Pd) Extended is the open source alternative to Max, which you may opt to install instead. It is absolutely free and open source, and it runs under OS X, Windows, and Linux. We will lecture in either Pd or Max, depending on what the majority of participants will be using.
Note: Install the extended version, not vanilla.

The Arduino software can be used to program the Arduino Nano board. You do need to download and install it, although you will probably not use it extensively as we will use Firmata to get data from the Arduino Nano board into your sound synthesis software.
Note: Install the most recent version (probably 0018).

Firmata for Arduino is included in Arduino 0018 or later. In the Arduino IDE, use File -> Open -> Examples > Library-Firmata > StandardFirmata to load the standard firmware. Connect your Arduino Nano to your computer using a USB cable. Use Tools->Board and Tools->Serial Port to select the Arduino Nano and USBserial tty port, then hit the Play button to verify and compile the program. Upload the Firmata firmware to your Arduino Nano using the fourth square button from the left (the one with the sideways arrow).

REFERENCES

FAQ

Project questions

Can I do ____ for my project?

You can do whatever you would like for your project. Keep in mind that you really only have a few days to work on it, so you might want to focus on one crucial aspect of a larger project that you'd like to have working.

Can I incorporate my own hardware and software into my project?

Yes, you can, although we have limited time and ability to support hardware and software other than what is introduced in the labs. Ideally, your hardware and/or software can send OSC messages to interface with the tools we provide.

Can I keep the tools we use during the workshop?

The software we're using is open-source, and can be downloaded and set up on your own Linux, Windows or Mac OS X computer. Participants have the option of purchasing a $100 lab kit at the end of the workshop. The kit contains an Arduino, a prototyping board, power supply, data cable, and a variety of sensors. We will try to point you to sources where you can buy similar parts.