I.
INTRODUCTION
The history of
software synthesizers begins in the 1950’s with the first known use of a
computer to produce music. It took
place at Bell Laboratories in
The development of
There are
currently hundreds of software synthesizers, but most were written after the
Pentium III, G3 and VST 2.0 were released.
The Pentium III and G3 are central processors with improved speed and
hardware acceleration for audio and video processing. This increased speed is critical for the
real-time, digital-signal-processing, software synthesizers. VST 2.0 is a plug-in protocol that was
created by Steinberg Media Technologies GmbH (in 1999, I believe). It allows
I chose four software synthesizers for this report based on their popularity, extensive features and their ability to use a number of different sound synthesis techniques. To give this report greater breadth I chose two commercial and two academic synthesizers. It’s probably obvious, but a commercial synthesizer is offered for sale and an academic synthesizer is free and is usually affiliated with one or more universities or research centers.
II.
COMMERCIAL SOFTWARE
SYNTHESIZERS
Reaktor.
Reaktor version 4 is a very flexible software synthesizer thanks to its modular structure. It consists of more than one hundred modules and function blocks (like macros) which can be connected in an almost unlimited number of ways. This flexibility enables users to design and build their own instruments, samplers (record and playback sounds), effects, sequencers (record and playback musical notes) and sound design tools. Here is an example of modules connected to create a sound filter.
Modules are included for a wide variety of synthesis and processing techniques. Many of the modules will accept multiple value ranges and connections. These will be listed in more detail later in section IV, Synthesizer Comparison and Contrast. But, the internal organization is as follows from the Reaktor user manual:
Reason.
Reason version 2.5 is the flagship application for Propellerhead Software
in
drum machine, eight effect units and two types of sequencers. The inputs and outputs of these components can be connected in almost any order. Depending on your computer’s speed, you can also have multiple instances of the different modules running at the same time.
Reason also
includes an interface technology called ReWire which allows it to integrate
tightly with more full-featured sequencers such as Cakewalk’s Sonar or
Steinberg’s Cubase. When Reason is
integrated with other audio software through ReWire it is able to both send and
receive audio and
III.
ACADEMIC SOFTWARE
SYNTHESIZERS
Csound.
Cooper calls Csound a “software synthesizer”; in fact it was probably the first software program to be called that. However, it’s really more of a musical computer language or a specialized library of C language opcode's made for musical use and it can create entire music compositions from basic audio building blocks. These opcodes are like modules that can be used in any order or structure to create more complex sound-processing and sound-generating objects. There were more than 450 of these Csound
opcodes available in 2000 and there appears to be a significantly larger number now. (Cooper 41)
Csound started out (about twenty years ago) as a language that had to be
completely scripted and then compiled (converted to binary form so it will run
on a computer). As computers became
faster, and
Csound appears to have been created principally by Barry Vercoe at the
Massachusetts Institute of Technology.
He released the source code for Csound to the public and the language has
been expanded by programmers world-wide ever since. It is available for free download and
you can now find many graphic interfaces that make using it much easier than the
old method of writing C language text files
PD.
PD stands for Pure Data. It is a visual programming language created by Miller Puckette for making computer music and graphics. It is in many ways a new and improved version of his very popular Max/MSP programs. As such, there is much in common between the two. But one big difference is that PD is available for many platforms where Max/MSP is only available for the Macintosh.
According to PD’s manual, the main PD data file is called a “patch” or
“canvas”. It can consist of any
combination of boxes of which there are four types: object, message, GUI, and
comment. (Center) The example below taken from the online
manual gives a good idea of how PD works:
You make
objects by typing text into object boxes. The text is divided into
atoms separated by white space. The first atom specifies what type of
object Pd will make, and the other atoms, called creation arguments, tell
Pd how to initialize the object. If you type for example,
the "+" specifies the class
of the object. In this case the object will be the kind that carries out
addition, and the "13" initializes the amount to add. Atoms are either numbers
or symbols like "+". The text you type into an object box determines how
many and what kinds of inlets and outlets the object will have. Some classes
(like "+" always have a fixed arrangement of inlets and outlets, and in the case
of other classes, the inlets and outlets will depend on the creation arguments.
Here for example is a simple MIDI
synthesizer:
(Center)
As you might expect for a programming language, PD is very deep with
hundreds of objects. New tools and
extended features are being added to it all the time. It is currently available for free
download and use, but since it is at version 0.39 there is the possibility that
once it reaches version 1.0 it will become a commercial product like it’s
predecessor Max/MSP.
IV.
SYNTHESIZER COMPARISON AND
CONTRAST
System and Sound Compatibility and Requirements
|
|
Reaktor |
Reason |
Csound |
PD |
|
Operating systems |
MacOS 8.6 or higher; Windows 95,98, NT-XP |
MacOS X; Windows 98, NT-XP |
Macintosh OSX; Windows 3.1-XP; MS-DOS; Unix; Linux; IRIX |
Windows 98-XP; Linux; Macintosh OSX; IRIX |
|
CPU’s |
G3, G4; Pentium II, III, IV; Athlon |
G3, G4; Pentium II, III, IV; Athlon |
Theoretically any CPU |
G3, G4; Pentium II, III, IV; Athlon; MIPS |
|
DSP chips or cards |
Digidesign DAE systems |
None |
Analog Devices Sharc; Motorola 5600x |
None |
|
Audio I/O |
DirectX; ASIO |
DirectX; ASIO |
DirectX; |
ASIO; |
|
Sound Formats Imported |
AIFF; WAV; SD II; Akai S1000, S3000 |
AIFF; WAV; SoundFonts; REX; |
AIFF; WAV; SD II |
AIFF; WAV |
|
Sound Formats Exported |
AIFF; WAV |
Rewire |
AIFF; WAV; SD II |
AIFF; WAV |
|
Instruments |
Users can create |
Users cannot create |
Users can create |
Users can create |
|
Sound Patches |
Open and trade able. |
Open and trade able. |
Open and trade able. |
Open and trade able. |
Notes:
Synthesis
Technology
|
|
Reaktor |
Reason |
Csound |
PD |
|
Subtractive Synthesis |
32 types of oscillators |
14 types of oscillators |
Yes |
Yes |
|
Additive Synthesis |
Yes with noise |
No |
Yes |
Yes |
|
FM Synthesis |
7 types including sampled sounds. |
No |
Yes |
Yes |
|
Sampling |
6 types |
No, but 4 sample player types |
Yes |
Yes |
|
Phase Distortion |
Yes |
Yes |
Yes |
Yes |
|
Wave Sequencing |
Yes |
Yes |
Yes |
Yes |
|
|
Reaktor |
Reason |
Csound |
PD |
|
Granular Synthesis |
Yes |
One grain table instrument |
Yes |
Yes |
|
Wave-shaping Synthesis |
Yes |
Yes |
Yes |
Yes |
|
Physical Modelling |
Simple types only |
Not user controllable |
Yes |
Yes |
|
Vector Synthesis |
Yes |
Yes |
Yes |
Yes |
|
Spectral Synthesis |
Yes |
No |
Yes |
Yes |
|
Filters |
Unlimited Multimode |
14 Types, Unlimited Instances |
Unlimited Multimode |
Unlimited Multimode |
|
Special Features |
Pattern sequencers |
Pattern and linear sequencers |
Sequencing objects; Anyone can program new objects in C;
|
Sequencing objects; Anyone can program new objects in C; Extensive graphics processing |
Notes:
Jeff Pressing in "Synthesizer Performance and Real-Time Techniques" gives this list of approaches to sound synthesis.
· subtractive synthesis - filtering of complex sounds to shape harmonic spectrum, typically starting with geometric waves.
· additive synthesis - combining tones, typically harmonics of varying amplitudes
· frequency modulation synthesis - modulating a carrier wave with one or more operators
· sampling - using recorded sounds as sound sources subject to modification
· phase distortion - altering speed of waveforms stored in wavetables during playback
· resynthesis - modification of digitally sampled sounds before playback
· wave sequencing - linear combinations of several small segments to create a new sound
· granular synthesis - combining of several small sound segments into a new sound
· waveshaping - intentional distortion of a signal to produce a modified result
· physical modeling - mathematical equations of acoustic characteristics of sound
· vector synthesis - technique for fading between any number of different sound sources (Pressing)
· Spectral Synthesis – also known as spectral modeling, it analyzes the spectral (frequency) content of a sound, breaking it into many components and then processing and resynthesizing the sound according to the algorithm used.
· Pattern Sequencers – also know as step sequencers, record and play a repeating pattern, usually of less than 32 steps.
·
Linear Sequencers – have no length limit. Can be thought of as endless musical
staff paper.
V.
RECENT SOUND SYNTHESIS
DEVELOPMENTS
Most of the synthesis research and development in both academic and commercial sectors has been focused on various types of physical modeling. This work is primarily divided into two main areas: analog modeling and acoustic instrument modeling. Most of the commercial work has been centered on trying to emulate the characteristics of various vintage, analog synthesizers. There are many hardware and software examples of this trend. Often both the traits of the analog circuits and the sounds they produce are modeled.
Academic research is mostly focused on modeling acoustic instruments. In many ways this is more challenging than modeling analog circuitry. Most acoustic instruments produce a greater variety of noises (sounds without a single dominant frequency). There are also many more variables involved in the ways they can be played. Each of these variables can have an effect on the way sounds are produced and must be painstakingly modeled in order to get a realistic simulation. So while physical modeling itself isn’t a recent development, there are many more physical models available now than there was ten years ago.
Below are some other recent developments in sound synthesis:
VI.
COMPARISON OF NEW SOUND SYNTHESIS WITH CURRENT
SOFTWARE SYNTHESIZERS
Most commercial and academic synthesizers today use physical modeling to generate
their sounds. However the commercial synthesizers usually don’t allow the user to change the values for the physical models themselves. In these cases the models are used to give greater realism or detail to the sound which is then processed with other, less processor-intensive synthesis techniques. Academic synthesizers on the other hand, do allow the user to change the settings for physical models or even to create their own physical models. This is often accomplished with the aid of a math application such as MATLAB.
Formant filters can be built in Reaktor and some other synthesizers but are not available in most, including Reason. They can be built in PD, Csound and other academic sound software. The only commercially available software synthesizer that can do any kind of sound mapping is Max/MSP. Most academic sound software already has opcodes that can receive the data used for sound mapping and can then be programmed to process it as the user desires.
VII.
CONCLUSION
In general, commercial synthesizers give greater real-time functionality and are more compatible with other commercial software and a greater variety of sound formats. However, due to the fact that their source-code is unavailable to the public, users cannot easily extend their features or technology to take advantage of new developments. The user must wait for the company that makes the software to release a new version.
Academic software is usually open source and if the user knows how to program, can be quickly customized to take advantage of new theories or developments in sound synthesis. None of these programs are as user friendly as most of the commercial products, but that seems to be an unavoidable trade off. Reaktor is probably the most flexible and powerful of the commercial synthesizers and it is also the most difficult to master. True, with all of its included ensembles and instruments the user can be playing sounds on it a few seconds after installing it, but it takes a lot more time to learn how to create your own ensembles. If a user wants to be able to use a piece of software for rapidly advancing sound research they have little choice but to use academic software.
BIBLIOGRAPHY
Works Sited
Center for Research in Computing and the Arts, The
World Wide Web Site.
< http://crca.ucsd.edu/~msp/Pd_documentation/index.htm>
Cooper, Robert L., and Richard Boulanger. “Csound, True Virtual Synthesis.” Keyboard.
Jan. 1997: 41-48.
Kurz, Michael, et al. Reaktor Version 3 Manual.
Synthesis GmbH. 2001.
Native Instruments Software Synthesis, GmbH. World Wide Web Site.
< http://www.native-instruments.com/>.
Pressing, Jeff.
Synthesizer Performance and
Real-time Techniques.
A-R Editions, Inc. 1992.
Works Also Consulted
Boulanger, Richard.
The Csound Book: Perspectives in Software Synthesis, Sound
Design, Signal Processing, and
Programming.
Cook, Perry R.
Real Sound Synthesis for Interactive Applications.
Peters Ltd, 2002.
Garton, Brad.
Director of the
Guttman, Newman, et al.
Computer Music Currents 13, The
Historical CD of Digital
Sound Synthesis 1995.
Miranda, Eduardo. Computer Sound Design: Synthesis Techniques and Programming.
Roads, Curtis. Microsound.
Rowe, Robert. Machine Musicianship. Cambridge, MA: MIT Press, 2001.
Serra, Xavier, et al. “Integrating complementary spectral models in the design of a
musical synthesizer.” Proceedings of the International Computer Music Conference 1997.
Schmitt, Stefan. One of the founders of Native Instruments and co-authored the original
version of Reaktor. Personal interview.
Solenberg, Fredrik. Software developer for Propellerhead Software. Email interview.
Tanner, Ted. Architectural Strategist for Microsoft
Corporation. Email
interview.