developing software synthesizers
Post on 21-Jan-2016
51 Views
Preview:
DESCRIPTION
TRANSCRIPT
Developing Software SynthesizersBy: 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
Sound Waves
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
Questions / Comments?
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=5440746>
"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=4116828>
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=5524662>
"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.
top related