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 two-week 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 (will change as needed)
We will meet from 9am-5:00pm daily, with a break for lunch from 12-1.
|Date||Morning (9am-12noon)||Afternoon (1:00pm-5:00pm)|
|6/22 Monday||PID2008 Introduction, Survey of Physical Interfaces for Music, Architecture Overview, Intro To Kit, PID2009 HW 1||Max/Pd Lab Lecture, Max/Pd Lab|
|6/23 Tuesday||Max/Pd Lab & PID2009 HW 1 Review, Interaction Design Framework, Introduction to Electronics||Sensors, 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-Instrumnt, Special Topics (e.g. 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 http://ccrma.stanford.edu/courses/250a/]. 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 week's 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.
- PID2008 Introduction
- Introduction to Electronics
- AVR Programming
- Microcontroller Architecture
- Interaction Design Framework
- PID2008 Intro to Pd
- Survey of Physical Interfaces for Music
[Max 5 http://www.cycling74.com/downloads/max5] This 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 http://puredata.info/downloads] Pd 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.
[Arduino Software http://arduino.cc/en/Main/Software] This is the software that we use to program the Arduino Nano board. You will probably not use it extensively as we're planning to use Firmata to get data from the Arduino Nano board into your sound synthesis software. Don't worry too much yet if you don't know what this means! Note: Install the most recent version (probably 0016).
- PID Links
- Inter-Device Communication
- ATMega644 Summary (pdf)
- ATMega644 Datasheet (pdf)
- AVRMini Schematic (pdf)
- AVR-libc online html documentation
- AVRLib online html documentation
- 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 week 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. The cost of the development kit (including the prototyping board, some sensors and accessories) is included in the workshop fee, so it is yours to keep. Some of the sensors, tools and equipment you will use belong to CCRMA and/or RP, so please ask before taking anything that is not in your lab kit. We will try to point you to sources where you can buy similar parts.