Digital Musical Instrument Design and Creation: course (Pure Data code)

Course code examples:
“Digital Musical Instrument Design and Creation”
(DXARTS 198b/DXARTS 198c)


These examples were made for a course I created and taught at the University of Washington’s Center for Digital Arts and Experimental Media (DXARTS) in Early Fall 2009 and Early Fall 2010.

The course was an intensive, one-month long course for freshmen with diverse backgrounds, and focused on introducing them to the fundamentals of digital sound, sound synthesis, interfacing, mapping, and digital instrument design, as well as electronic music and composition.

The example files are a combination of files created by myself, files included in the original distribution of Pd, and tutorials written by other people, all selected and put together in a sequence that made sense to teaching this class.

Original course description:

During this discovery seminar participants will learn to creatively appropriate commercial user-interfaces and use them as tools for artistic expression.

The need for making digital technology more intuitive and accessible has been driving an ever-growing trend towards research and development of interfacing technology. In many aspects, musicians, composers and media artists are pioneers of this progression, constantly pushing forward concepts, design, and usability issues.

This seminar will introduce participants to the rich history of human-machine interfacing in the arts while teaching them practical skills and providing them with a platform for hands-on experimentation. By the end of the seminar, participants will have created their own musical instruments, based on software they design specifically for ‘found’ interfaces of their choice – for their iPhone/iPod/iPad or their computer and ‘found’ interfaces such as gamepads, joysticks, MIDI controllers, Wii-remotes, Wacom tablets or Guitar Hero controllers. Each participant will compose a studio-based musical piece and make a short performance using his/her instrument, solo or in a band with other participants.

The class will consist of three main sections: Theory / Development / Practice. It is expected that the course will start with more lectures, reading and theory, continue with increasingly more development and programming and finish with increasingly more lab sessions. This seminar is ideal for students interested in music, media arts, computer science and engineering, or anyone with musical or performance interests. No prior knowledge is required. The course can be used toward completion of the Visual, Literary, and Performing Arts (VLPA) requirement.

More info about the class can be found here


• Day 01 & 02:
Intro to Pd (by Hans-Christoph Steiner)

• Day 03:
Sound synthesis basics: sines and amplitude control
Interfacing 1: keyboard & mouse
Simple mouse-theremin

• Day 04:
Additive synthesis

• Day 05:
Interfacing 2: HID & MIDI
Mapping strategies
Subtractive synthesis: noise & filters

• Day 06:
Simple synthesis: drums & bass
Interfacing 3: iPhone & iTouch

• Day 07:
More additive synthesis
Interfacing 4: Apple laptop sensors
Non-sinusoidal waveforms
Complex drum synthesis
Digital Musical Instrument examples
Recording to disc / Playing back from disc

• Day 08:
Interfacing 5: Wii
Interfacing 6: Wacom (using a standalone app written in SC)
Interfacing 7: Feature extraction of audio signals
Pattern recognition basics
Wavetable oscillator
Wavetable samples
rjdj abstractions (by Reality Jockey Ltd.)

• Day 09:
Interfacing 8: automation
Analog style control signals
Non-linear distortion (waveshaping)
Delay-based effects

• Day 11:
More delay-based stuff

• Day 12:
Interfacing 9: computer vision

>> Download all examples here <<