Physical Interaction Design For Music
CCRMA Summer Workshop 2009
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.
We will meet from 9am-5:00pm daily, with mini-breaks at 10:30 and 3:00, and a lunch break from 12-1.
|Date||Morning (9am-12noon)||Afternoon (1:00pm-5:00pm)|
|6/22 Monday||PID Introduction, Survey of Physical Interfaces for Music, Architecture Overview, [Intro To Kit], PID2009 HW 1||Max/Pd Lecture, Software Lab|
|6/23 Tuesday||Max/Pd Lab & PID2009 HW 1 Review, Interaction Design Framework, Introduction to Electronics||Sensors1, Hardware Lab, PID2009 HW 2|
|6/24 Wednesday||Hardware Lab & PID2009 HW 2 Review, Interfacing With The Rest Of The World, Making sensors, Controllers, Project Ideas||Mini-Instrument Lab|
|6/25 Thursday||Demo Mini-Instrument, Special Topics (e.g. Fun with Wiimotes Microcontroller Architecture), Work on project||Work on project, Dress rehearsal|
|6/26 Friday||Work on project||Project presentations 3:30-5PM, BBQ starting at 5PM|
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.
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.
- PID Introduction
- Survey of Physical Interfaces for Music
- Introduction to Electronics
- Microcontroller Architecture
- Interaction Design Framework
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. However, its functionality is more limited, and this is why we will lecture using Max. 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 0016).
Firmata for Arduino is included in Arduino 0012 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).
- 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.