Pure Data Synthesis

As part of an assignment for the Audio Technology module for my Music Technology Systems degree, I was tasked with creating two synthesisers a (I decided to create a Karplus-Strong synthesiser and an FM synthesiser), a graphical user interface to control both of these and an audio demonstration, using qlist, lasting about 1 minute and demonstrating the range of timbres available from the synths. Both synthesisers also take MIDI input so notes can be played in from a real or virtual keyboard and the timbral range of the synths can be explored.

The Karplus-Strong Synthesiser

The first synthesiser is a 3-voice polyphonic implementation of the Karplus-Strong algorithm. An impulse of white noise is written to and read from a buffer periodically, with each voice having its own buffer and the read/write period being proportional to the frequency the user wishes to achieve.

Two slight changes have been made to the algorithm. Firstly, the noise input first goes through a low- pass filter at 1500Hz before being written to the buffer. Secondly, in the feedback loop, an average is taken across two samples, using the ‘z~’ object with a delay of one sample. Both of these changes are used to soften the timbre, since the original sound has such a piercingly sharp attack.

One final change is an amplifier with a gain of between 0.93 and 0.99 in the feedback loop to provide a palm-mute style dampening, much like a guitar.

The output from the synthesiser is then sent through two effects, chosen for their common use with electric guitars. The first of which is a variable bandpass filter with the center frequency being controlled via an LFO and the ‘minimum center frequency’, ‘maximum center frequency’ and ‘Q’ being controlled by the user, creating an ‘Auto-Wah’ style effect.

The second effect is a clipping amplifier where the input signal is amplified and then passed through a ‘Clip’ object, with the clipping level being set by the user. Also within the subpath is a system by which the signal output is amplified proportionally to the level at which the signal is clipped, providing a consistent peak-to-peak amplitude no matter what amount of clipping is applied. Both of these effects have a bypass toggle and are bypassed by default.

 

The FM Synthesiser

The second synth is a monophonic FM synthesiser with the input frequency, set by the user, being modulated by an oscillator with a frequency equalling the carrier frequency multiplied by the harmonic ratio, which is between 0 and 16, and an amplitude between 0 and 2000. Both of these parameters are assigned to the x and y axes of the grid respectively, to be controlled by the user similarly to using a Kaoss Pad.

The synthesiser is routed to an ADSR envelope. Each parameter of which is sent from 4 corresponding vertical sliders in the main GUI, which all have different ranges depending on their use.

Master Controls

After producing signals and routing them through their respective effects, both synths are sent to one of two arrays in the GUI, panned, sent through a stereo reverb and are controlled by a master volume slider. Each synth has their own volume slider and mute toggle, using a sub patch based on the ‘vline~’ object which eliminates clicking from audio signals and multiplying the output by a toggle output. The same sub patch is then reused just before the ‘dac~’ output to create a master volume and mute.

Both synthesisers also feature panning via two knobs in the GUI. The method of using one knob to produce two outputs, one which varies from 0 to 1 and one which produces the inverse, is also reused in the wet/dry mix of the reverb.

The reverb is based on the ‘freeverb~’ object and has controls for the room size, damping, width and wet/dry mix on the GUI. ‘Freeverb’ is a stereo reverb so the stereo output from each synthesiser is processed and sent to the stereo output and stereo VU meters seen in the GUI.

Audio Demo

The audio demonstration is based on the composition ‘Marble Machine – PIANO VERSION’ written by Swedish composer and crazy instrument inventor Martin Molin. The piece was changed to 120bpm to make writing it to qlist easier and the left and right hands of the piano part were split across the two synthesisers and slightly adapted to accommodate the FM synth being monophonic.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s