Theremin
A theremin is a monophonic instrument whose volume and pitch are controlled by the positions of a player's hands, relative to two antennae. Using the x and y positions of the cursor, create a simple theremin in code. You may not use mouse clicks or the keyboard.
Sequencer I
Create a sequencer that plays a fixed, looping phrase or a collection of sounds. You will need to use arrays to store values that are interpreted as musical notes, chords, rhythms, or other musical parameters. Advanced students: consider how your sequencer's “score” is displayed.
Sequencer II
Create a sequencer that allows a performer to record and play back a looping musical phrase. Devise a visual interface so the performer can alter its playback: for example, changing its speed, transposing it, playing it backwards, reordering its notes, or altering its timbre.
Sampler
A sampler is an electronic instrument that triggers sound recordings. Create a sampler that triggers sounds with key presses. Develop a method for altering the nature of the playback in a way that is coupled to the x and y position of the cursor.
Modulation
Create a project that uses oscillators and envelopes to continuously modify some parameter of a sound. For example, you might implement tremolo (periodic amplitude modulation), vibrato (periodic frequency modulation), or wah-wah (periodic modulation of a resonant filter).
Filter
Create a simple interactive program that permits the user to filter a sound or noise source, using the x and y positions of a cursor to control the filter. Experiment with different types of filters and their parameters.
Polyphony
Create a sonic experience that explores polyphony. Scaffold this on a visual system (such as a simulation or game) where the pitch of each voice responds to the speed, position, or orientation of a corresponding particle or mob. For simplicity, restrict your polyphony to multiples of the same instrument or sound.
Visualizer
Create a music visualizer for a specific musical recording. Your display should respond to the dynamics (volume changes) and, if possible, the frequency content of your chosen music. For simplicity, be sure to select a recording without speech or lyrics.
Data Sonification
Locate a real-time Internet data stream, such as one published by a sensor or an API (monitoring weather, stock prices, satellite locations, tweets, seismic events). Create a program that sonifies this data or uses it to control a musical parameter for a generative composition.
Delay Line Effect
Using a delay line (a collection of time-delayed copies of a sound), create a program that transforms a specific sound in a customized way. Popular delay line effects include echo and reverb but also flangers, chorus, and harmonization, when governed by an oscillator.
Physics-Based Modulation
Create or repurpose some code for a real-time physical simulation, such as a particle system or spring mesh. Use time-varying quantities from the physical simulation to govern continuous parameters of an audio synthesizer. Consider using statistical properties of the simulation as the basis for audio mappings. For example, the average horizontal position of a collection of particles could be mapped to the stereo position of a sound, while the particles’ mean velocity could be mapped to pitch. Which mappings produce the most compelling results? Do you note a tight connection between the visualization and sonification of the simulation?
Whistle Cursor
Find a tool to estimate the pitch of a real-time monophonic audio signal, such as the fzero~ object (Max/MSP/Jitter), sigmund~ (Pure Data), or ofxAubio (openFrameworks). Create an interactive game in which the pitch of the user's whistling is used to steer a spaceship up or down.
Synthetic Voice
Build a DIY speech synthesizer. Use any audio techniques you wish, except for preexisting speech samples or a text-to-speech system. You could synthesize different vowels with formant synthesis and consonants with gated noise. What word does your machine pronounce best?
Sound to Physical Action
Use a microphone to control an actuator in a sculpture, environment, or product prototype. Consider how mic placement affects the sounds you'll collect. An example: collect door-knocking sounds with a contact mic; use these to govern a solenoid that makes tapping sounds far away.