Software Instrument Design

Course Description (HMU260)

This course will provide you with a fundamental understanding of the role and construction of software-based musical instruments. The course will focus on fundamental computer music concepts, such as modulation and granular synthesis, while exploring UI design issues. You will also be introduced to lower-level coding languages and you will develop original message and audio-rate modules for prominent computer music production environments, honing skill-sets applicable within modern music and video gaming industries.

Sample student projects are presented below:

Richard Thomas: A Pong Granular Synthesis Game for Multichannel Loudspeaker Playback

P2 screenshot

“For the second project in this course, the objective was to ‘design a multi-voice, modular granular synthesizer that utilizes both time and pitch-shifting approaches, for use with multiple loudspeakers’. My aesthetic approach to achieving this was based on utilizing an independent project I had previously completed in which I attempted to recreate a game of pong using Pure Data; the general concept is that dynamic gameplay mechanics can be represented as sound events, and that the spatial parameters of game objects can influence both the spatialization of audio as well that the parameters of granular synthesis. While defining the result of this effort as an ‘instrument’ might be considered a stretch in the traditional sense of the word, I believe it can be considered to be since the sound it generates are entirely influenced by the actions of the ‘player’.”

Rich’s patches: http://stevens/260


Pat Cleary: Polyphonic Synthesizer


“This square-wave synthesizer patch was developed based off of the square wave generator in DCAM Synth Squad’s ‘Strobe’ virtual synth. It features four-voice polyphony as well as velocity-sensitive amplitude envelopes for each voice. Positioned after the sound generators are a simple adjustable delay and a cosine-based panning stage. The pan stage is fitted with an LFO to allow for all sorts of wacky manipulations of the sound field ranging from light auto-panning to full-on headache generation. The primary objective was to design a square-wave synth with an LFO connected to the synthesizer’s pulse width, allowing for dynamic pulse width modulation (PWM). This can be varied from a very slight morphing over time – which lends itself very well to long drones, pads, basses, and organ sounds – to rapid, violent “morphing” between pulse widths – particularly useful for leads and stabs/accents.”

Pat’s patches: http://stevens/260


Andy Wiggins: Max for Live Library

Screen Shot 2014-01-22 at 2.34.14 PM

“TRIADD is a Max midi effect that interacts with a midi controller. The user can play a triad on a keyboard, and the effect splits the input signal into three notes, sending them to different channels. The interface allows the user to sequence different rhythmic patterns for each of the three chordal tones. The three Max instruments LOW, MID, and HIGH receive the three separate sequences and have their own adjustable parameters to alter the sound. At this stage, the LOW signal is lowered an octave, and HIGH is raised an octave, to cover a large spectrum of notes. Finally, each synthesizer has access to the TRIPLE DELAY effect, which has three adjustable delay lines. This allows the user to also create arrhythmic, ambient textures with this instrument.”

Andy’s patches: http://stevens/260


Jesse House: Granular Synthesizer for Multichannel Loudspeaker Playback

Screen shot 2013-12-17 at 12.39.48 PM

“The patch is a multi-voice granular synthesizer that utilizes both time stretching and pitch shifting DSP.  Designed originally for an 8 channel surround sound system, the patch exploits the use of grain overlap with 8 grains, each given a specific place in phase.”

Jesse’s patches: http://stevens/260


Kyle Gonzalez: Timbre Morphing for Surround Sound

Screen Shot 2014-01-21 at 11.07.24 PM

“This project was developed in Pure Data as a demonstration and creative application of fundamental concepts in software instrument design. The aesthetic design was inspired by the idea of specific tones rotating cyclically at different rates around the listener that would produce interesting sonorities as they occurred together in time or in a proximate aural space. Each of the tones (A2, C3, E3, B3, C4, D4, G4, B4) are enveloped and have evolving partial structures. The interface allows the user to apply low-rate frequency modulation and shape a global envelope that is applied to the audio repeatedly at a modifiable rate. The resultant texture that is produced can be described as a slowly evolving atmosphere that repeatedly grows into a dense wash of sound and recedes. If the user wishes, the global envelope allows for a more structured rhythmic articulation, and the frequency modulation produces a shimmering effect that can interact rhythmically with the global envelope. The technical implementation is organized as a series of levels, or abstractions. The first couple of abstractions handle the functionality of the interface and the reverb. The primary abstraction instantiates each of the tones via a ‘Tone’ abstraction, assigns them their unique amplitude, duration, and panning rate values, and activates each tone at its specific rate. The ‘Tone’ abstraction first instantiates a partial structure that evolves based on the tone’s amplitude and duration via a ‘Partial’ abstraction, and then pans the resultant tone according to the specified rate. The ‘Partial’ abstraction handles the enveloping of a partial according to start delay, starting amplitude, ending amplitude, and duration parameters provided in the partial structure of the ‘Tone’ abstraction.”

Kyle’s patches: http://stevens/260

Leave a Reply

Your email address will not be published.