360 likes | 534 Views
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.
E N D
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
Synthesizer Methodology • Additive Synthesis • Subtractive Synthesis • FM Synthesis • Wavetable Synthesis
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!
Virtual Studio Technology (VST) • LADSPA Header File • http://www.ladspa.org/ladspa_sdk/ladspa.h.txt
References • Alles, Harold G. "Music Synthesis Using Real Time Digital Techniques." Proceedings of the IEEE 68.4 (1980): 436-49. Web. 10 Mar. 2013. <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1455942>. • 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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1233872&isnumber=27650> • 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. 2010doi: 10.1109/CONIELECOMP.2010.5440747 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5440747&isnumber=544074 6> • "electronic music." Encyclopædia Britannica. Encyclopædia Britannica Online Academic Edition. Encyclopædia Britannica Inc., 2013. Web. 10 Mar. 2013. <http://www.britannica.com/EBchecked/topic/183823/electronic-music>. • 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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1532084&isnumber=32679>
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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=848227&isnumber=18448> • 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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4117931&isnumber=411682 8> • 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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5524704&isnumber=552466 2> • "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 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=938598&isnumber=20289> • 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.