Presentation is loading. Please wait.

Presentation is loading. Please wait.

Developing Software Synthesizers

Similar presentations


Presentation on theme: "Developing Software Synthesizers"— Presentation transcript:

1 Developing Software Synthesizers
By: Dan Bogucki

2 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

3 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

4 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

5 Sound Waves Four Types of basic waveforms Sine Square Sawtooth
Triangle

6 Sound Waves

7 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

8 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

9 History Continued 1950s – Max Mathews of Bell Telephone Lab began exploring the use of using digital computers as a means to generate sounds. 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

10 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

11 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

12 Software Synthesizer Example
https://www.youtube.com/watch?v=6FgKeGUZKiE

13 Synthesizer Methodology
Additive Synthesis Subtractive Synthesis FM Synthesis Wavetable Synthesis

14 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

15 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

16 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

17 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

18 General Makeup of a Synthesizer Today
Oscillators Envelopes Filters Frequency Modulators Samplers (in some synthesizers) Functionality and options are endless

19 Oscillators Control to repeat a waveform with a fundamental frequency and peak amplitude

20 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

21 Filters Subtract frequency content Behave like an equalizer
Four basic types Low-pass High-pass Band-pass Band-reject

22 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?

23 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

24 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

25 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 cycles per second – range of the entire human ear

26 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)

27 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)

28 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

29 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

30 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

31 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!

32 Virtual Studio Technology (VST)
LADSPA Header File

33 Questions / Comments?

34 References Alles, Harold G. "Music Synthesis Using Real Time Digital Techniques." Proceedings of the IEEE 68.4 (1980): Web. 10 Mar <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= >. Crombie, D.; Lenoir, R.; McKenzie, N., "Producing accessible multimedia music," Web Delivering of Music, WEDELMUSIC. Proceedings. Third International Conference on , vol., no., pp.45,48, Sept. 2003 <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &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), th International Conference on , vol., no., pp.311,314, Feb doi: /CONIELECOMP <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &isnumber=544074 6> "electronic music." Encyclopædia Britannica. Encyclopædia Britannica Online Academic Edition. Encyclopædia Britannica Inc., Web. 10 Mar <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 doi: /ip-cdt: <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &isnumber=32679>

35 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: / <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: /MSP <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &isnumber=411682 8> Ottewill, Matt. "Synthesis Types." Planet Of Tunes. N.p., n.d. Web. 10 Mar 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, June 2009 doi: /cp <http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &isnumber=552466 2> "Principles of Sound Synthesis." Sound Synthesis Tutorial. N.p., n.d. Web. 10 Mar Rabenstein, R.; Trautmann, L., "Digital sound synthesis by physical modelling," Image and Signal Processing and Analysis, ISPA Proceedings of the 2nd International Symposium on , vol., no., pp.12,23, 2001 doi: /ISPA <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

36 "DrPetter's Homepage - Basic Sound. Theory and Synthesis. " DrPetter's
"DrPetter's Homepage - Basic Sound Theory and Synthesis." DrPetter's Homepage - Basic Sound Theory and Synthesis. N.p., 25 Mar Web. 13 Mar Burk, Phil, Larry Polansky, Douglas Repetto, Mary Roberts, and Dan Rockmore. "Music and Computers." Music and Computers. N.p., n.d. Web. 13 Mar


Download ppt "Developing Software Synthesizers"

Similar presentations


Ads by Google