Presentation on theme: "Developing Software Synthesizers By: Dan Bogucki."— Presentation transcript:
Developing Software Synthesizers By: Dan Bogucki
Overview What is Sound? What is a Sound Synthesizer? History of the Synthesizer Hardware vs. Software Why turn to Software Synthesizer? Types of Synthesizers Methodology The Makeup of a Synthesizer Developing a Software Synthesizer
What is Sound? Sound is moving energy that travels as a pattern of changing pressure Sound is the perceived vibration (oscillation) of air resulting from the vibration of a sound source Sound source can be anything Guitar sound board, speaker cone, hair dryer, vocal cord, etc
Sound Waves As your sound source expands and contracts a pattern of changing air pressure energy moves away from the source Ottewill, Matt. "What Is Sound?" Planet Of Tunes. N.p., n.d. Web. 13 Mar. 2013.
Sound Waves Four Types of basic waveforms Sine Square Sawtooth Triangle
What is a Sound Synthesizer? An electronic instrument capable of producing sound Generate electric signals (waveforms) which are converted to sound through speakers or headphones
History of the Synthesizer 1860 – Hermann von Helmholtz built an electro-mechanical oscillator 1906 – Lee de Forest invented a vacuum- triode amplifier valve 1950s – Transistors became available 1961 – Harald Bode invented the Melochord, the first voltage controlled synthesizer 1964 – Robert Moog constructed a transistor voltage-controlled oscillator and amplifier 1966 – Moog launched the first commercial version of the Moog Synthesizer
History Continued 1950s – Max Mathews of Bell Telephone Lab began exploring the use of using digital computers as a means to generate sounds. 1960 - Mathews produced MUSIC III 1962 – MUSIC IV 1968 – MUSIC V 1968 – Barry Vercoe developed MUSIC 360 1973 – Vercoe developed MUSIC11 1979 – Australian Fairlight CMI synthesizer was introduced
Hardware vs. Software Software synthesizers use digital processors Hardware synthesizers use analog circuitry Computer technology is advancing faster than hardware synthesizer technology For example, wavetable and additive synthesis is not feasible with hardware synthesizers Musicians preference between hardware sounds and character vs. software sounds
Why Turn to Software Synthesizers? Popularity of personal computers More flexibility and invention for both the end user as well as the software itself Cost
Software Synthesizer Example https://www.youtube.com/watch?v=6FgKeGUZKiE
Additive Synthesis Most fundamental method of sound synthesis Based on the Fourier Theory Produces sound by adding different sine waveforms together This technique can potentially generate sounds similar to acoustic musical instruments
Subtractive Synthesis Basically the reverse of additive synthesis Produces sounds by generating a waveform that contains more harmonic content than a sine wave The waveform is passed through filters which subtract harmonics
FM Synthesis Uses FM sidebands as harmonics for synthesized waveforms. Applied digitally through FM operators Digital sine waveform and an envelope Output is then used to modulate the frequency of another operator Modulation of one sine wave by another produces more complex sounds Used widely in radio transmission
Wavetable Synthesis Also known as sampling Most widespread and popular method Recorded or synthesized musical events are stored in the internal memory and are played back on demand Provides a set of playback tools Pitch Shifting Looping Enveloping
General Makeup of a Synthesizer Today Oscillators Envelopes Filters Frequency Modulators Samplers (in some synthesizers) Functionality and options are endless
Oscillators Control to repeat a waveform with a fundamental frequency and peak amplitude
Envelopes The synthesizer’s time varying gain function Simple analogy: A sequence of events that occurs every time you press a key Attack Decay Sustain Release
Filters Subtract frequency content Behave like an equalizer Four basic types Low-pass High-pass Band-pass Band-reject
Developing a Software Synthesizer To create sound we need to move an object. In this case a speaker or headphones Formula for generating a sine wave is Y = sin(x) Simple right?
Developing a Software Synthesizer Many programming languages have standard mathematics libraries with many of the trigonometric functions represented Most basic computer synthesis methods follow this same general scheme: a formula or function is defined that accepts a sequence of values as input
Developing a Software Synthesizer Computer soundcards have digital-to- analog converters They are able to generate an electrical signal from a digital number that is given to it
Producing a Simple Sine Wave A cycle of a sine wave is 2π radians long Sine waves have a peak amplitude of +/- 1 A sample rate would be 44100 cycles per second – range of the entire human ear
Producing a Simple Sine Wave Input: Peak amplitude (A), Frequency (f) Output: Amplitude value (y) y = A * sin(phase) phase = phase + ((2 * pi * f) / samplerate) if phase > (2 * pi) then phase = phase - (2 * pi)
Producing a Square Wave Input: Peak amplitude (A), Frequency (f) Output: Amplitude value (y) if phase < pi then y = A else y = -A phase = phase + ((2 * pi * f) / samplerate) if phase > (2 * pi) then phase = phase - (2 * pi)
Virtual Studio Technology (VST) Interface for integrating software audio synthesizer and effect plugins with audio editors Use digital signal processing VST is supported by a large number of audio applications
Virtual Studio Technology (VST) Run within your Digital Audio Workstation (DAW) Classified as instruments or effects VST instruments include synthesizers and samplers VST effects include effects like reverb and phaser First released in 1996
Virtual Studio Technology (VST) VST is the plugin standard for DAWs Allows any third party developer to create a VST plugin for use within DAWs Steinberg’s VST SDK is a set of C++ classes based around an underlying C API. You can download the SDK from their website Steinberg also developed the VST GUI (another set of C++ classes) which is also available to add graphical interface to your VST
Virtual Studio Technology (VST) There are several third party ports available jVSTwRapper – Java version Python ctypes-based VST wrapper Noise and VST.NET – two.NET versions LADSPA – Linux Audio Developers Simple Plugin API JRUBY And many more!
References Alles, Harold G. "Music Synthesis Using Real Time Digital Techniques." Proceedings of the IEEE 68.4 (1980): 436-49. Web. 10 Mar. 2013.. Crombie, D.; Lenoir, R.; McKenzie, N., "Producing accessible multimedia music," Web Delivering of Music, 2003. 2003 WEDELMUSIC. Proceedings. Third International Conference on, vol., no., pp.45,48, 15-17 Sept. 2003 Echeverria, U.G.; Castro, F.E.G.; Lopez, J.M.D.B., "Comparison between a Hardware and a software synthesizer," Electronics, Communications and Computer (CONIELECOMP), 2010 20th International Conference on, vol., no., pp.311,314, 22-24 Feb. 2010 doi: 10.1109/CONIELECOMP.2010.5440747 "electronic music." Encyclopædia Britannica. Encyclopædia Britannica Online Academic Edition. Encyclopædia Britannica Inc., 2013. Web. 10 Mar. 2013.. Gibbons, J. A.; Howard, D.M.; Tyrrell, A.M., "FPGA implementation of 1D wave equation for real-time audio synthesis," Computers and Digital Techniques, IEE Proceedings -, vol.152, no.5, pp.619,631, 9 Sept. 2005 doi: 10.1049/ip-cdt:20045178
References Horner, A., "Low peak amplitudes for wavetable synthesis," Speech and Audio Processing, IEEE Transactions on, vol.8, no.4, pp.467,470, Jul 2000 doi: 10.1109/89.848227 Lindemann, E., "Music Synthesis with Reconstructive Phrase Modeling," Signal Processing Magazine, IEEE, vol.24, no.2, pp.80,91, March 2007 doi: 10.1109/MSP.2007.323267 Ottewill, Matt. "Synthesis Types." Planet Of Tunes. N.p., n.d. Web. 10 Mar. 2013. Phelan, Cormac; Bleakley, Chris J.; Cummins, Fred, "Adapting and parameterising auditory icons for use in a synthetic musical instrument," Signals and Systems Conference (ISSC 2009), IET Irish, vol., no., pp.1,6, 10-11 June 2009 doi: 10.1049/cp.2009.1695 "Principles of Sound Synthesis." Sound Synthesis Tutorial. N.p., n.d. Web. 10 Mar. 2013. Rabenstein, R.; Trautmann, L., "Digital sound synthesis by physical modelling," Image and Signal Processing and Analysis, 2001. ISPA 2001. Proceedings of the 2nd International Symposium on, vol., no., pp.12,23, 2001 doi: 10.1109/ISPA.2001.938598 Seum-Lim, Gan. "Digital Synthesis of Musical Sounds." Digital Synthesis of Musical Sounds. National University of Singapore, n.d. Web. 10 Mar. 2013
"DrPetter's Homepage - Basic Sound Theory and Synthesis." DrPetter's Homepage - Basic Sound Theory and Synthesis. N.p., 25 Mar. 2010. Web. 13 Mar. 2013. Burk, Phil, Larry Polansky, Douglas Repetto, Mary Roberts, and Dan Rockmore. "Music and Computers." Music and Computers. N.p., n.d. Web. 13 Mar. 2013.