New Music Controllers
CCRMA Summer Workshop 2012
July 16-July 20
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, Michael Gurevich, and Wendy Ju.
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 Satellite CCRMA, Beagle Board, Arduino Nano, Pd 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.
- Project presentations from 2009
We will meet from 9am-5:00pm daily with a lunch break from 12-1.
|Date||Morning (9am-12noon)||Afternoon (1:00pm-5:00pm)|
|Monday||PID Introduction, Example Interfaces,Intro To Kit, HW 1, Pd Lecture||Software Lab|
|Tuesday||Pd Lab & HW 1 Review, Interaction Design Framework, Architecture Overview, Introduction to Electronics||Sensors1, Sensor_Arduino_Lab, HW 2|
|Wednesday||Hardware Lab & HW 2 Review, Interfacing With The Rest Of The World, Making sensors, Controllers, Project Ideas||Mini-Instrument Lab|
|Thursday||Demo Mini-Instrument, Work on project||Work on project|
|Friday||Work on project||Project presentations 3-4:30PM|
Old lectures: Microcontroller Architecture
Many workshops teach the technical details involved in making music using the Arduino. The NMC workshop goes the extra mile by mentoring participants in evaluating and further developing their own ideas with the help of the Verplank physical interaction design (PID) framework. Participants learn the philosophy and utility underlying the eight interrelated physical interaction design 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 physical interaction design. Hands-on applications using sensors and microprocessors in conjunction with real-time DSP will be explored for making music. Specific technologies will include Satellite CCRMA, Beagle Board, Arduino platform, processing, Beagle Board, Firmata, and PD 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 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
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 Beagle Board platform enables linux to be run on a high-power 720MHz CPU. It can execute floating point operations natively, which is essential for rapid prototyping of audio algorithms.
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).
- PID Links
- Inter-Device Communication
- Useful Commands for the Satellite
- List of PureData objects and extended objects
- 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 $200 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.