Developing Software Synthesizers

yakzephyrΤεχνίτη Νοημοσύνη και Ρομποτική

24 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

64 εμφανίσεις

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

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. 2010


doi
: 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.