Copyright © 2011 by Denny Lin1 Simple Synthesizer Part 1 Based on Floss Manuals (Pure Data) “Building a Simple Synthesizer” By Derek Holzer Slides by Denny Lin
Copyright © 2011 by Denny Lin2 Purpose Learn different synthesis and modulation techniques Build a monophonic synthesizer based on the MiniMoog
Copyright © 2011 by Denny Lin3 Oscillators Sine wave: Pure tone with no harmonics. Signal travels between -1 and 1 Sawtooth: Harsh tone with odd and even harmonics. Signal travels between 0 and 1 Square wave: Hollow tone with only odd harmonics. Signal travels between -1 and 1
Copyright © 2011 by Denny Lin4 Using phasor~ and expr~ to get a square wave Changes in the phasor~ signal level can be used to generate a square wave: –Output a 1 (true) when the signal is greater than 0.5 –Output a 0 (false) otherwise (signal less than or equal to 0.5) $v1 holds the phasor~ signal level in the expr~ object The output of expr~ $v1 > 0.5 object is 1 (true) when the phasor~ signal is greater than 0.5, and 0 (false) otherwise The 0.5 in the expr~ object produces a 1 (true) output 50% of the time, and a 0 (false) output 50% of the time
Copyright © 2011 by Denny Lin5 Additive Synthesis Adding a sawtooth wave with a sine wave results in a new waveform that combines shapes from both signals Both waveforms are added by connecting to the inlet of the *~ object Signal was scaled down my the *~ object to 0.5
Copyright © 2011 by Denny Lin6 Additive Synthesis, no scaling Failure to scale down signals results in clipping and distortion in signal Output from both oscillators are added up, but never scaled down
Copyright © 2011 by Denny Lin7 Adding close-by frequencies When two close-by frequencies are added, the combined values of the two waves interfere with each other The frequency of the modulation is the difference of the two original frequencies.
Copyright © 2011 by Denny Lin8 Amplitude Modulation The gain (amplitude) of the carrier signal is modulated by the gain of another signal Types of AM: –Simple: Modulator and carrier are both oscillators –Tremolo: uses a low frequency (below 20hz) as modulator –Ring modulation: uses an audio signal as modulator
Copyright © 2011 by Denny Lin9 Simple Amplitude Modulation The gain of an oscillator modulates the gain of another oscillator (carrier) Both the carrier and modulator have gains that vary from 0 (no gain) to 1 (full gain)
Copyright © 2011 by Denny Lin10 Tremolo The gain of the carrier signal is modulated by a low (below 20Hz) frequency Sine wave modulator is scaled so output goes between 0 (no gain) and 1 (full gain) Commonly used to alter the sound of organs and guitars
Copyright © 2011 by Denny Lin11 Ring Modulation The gain of the carrier audio signal is modulated by another audio signal (which contains positive and negative values) There is no sound when only one audio signal is present Often used to create alien voices
Copyright © 2011 by Denny Lin12 Frequency Modulation The frequency of the carrier oscillator is changed by the frequency of a modulating oscillator The modulation amount is multiplied by the modulator signal The carrier frequency is added to the product of modulation amount and modulator signal Small amounts of modulation (changes in pitch) result in a vibrato effect Greater amounts of modulation result in a glissando effect
Copyright © 2011 by Denny Lin13 Pulse Width Modulation The pulse width (“on time” or “duty cycle”) of a square wave can go from 0 to 1 (not just 0.5 or 50%) The right inlet ($v2) of the expr~ object receives the pulse width (“on time percentage”) When the phasor~ signal level is greater than the pulse width, the expr~ object outputs a 1 (true), and a 0 (false) otherwise
Copyright © 2011 by Denny Lin14 Variable Pulse Width Modulation Modulating the pulse width with a low frequency oscillator (LFO) produces a unique sound The LFO produces a 0.1Hz output After removing negative values (using the abs~ object) from a sine wave oscillator, its output (0 to 1) can be use to vary the pulse width
Copyright © 2011 by Denny Lin15 Math and Logic Operations The output of a square wave generator is always binary (0 or 1) We can perform Boolean logic operations on the output of a square wave generator 0AND0=0 0 1=0 1 0=0 1 1=1 0OR0=0 0 1=1 1 0=1 1 1=1 0EQ0=1 0 1=0 1 0=0 1 1=1
Copyright © 2011 by Denny Lin16 Modulating Square Waves with different logical operations