Analysis of Four Software Synthesizers.   

 

 

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 Murray Park, NJ.  The first music programming language called Music I was developed in the 1960’s by Max Mathews.  Development continued as computers became both cheaper and more powerful.  Then the MIDI specification was released in 1982.  This provided a standard digital interface and networking protocol for computers and electronic musical instruments.

            The development of MIDI spawned a flurry of musical software activity.  This led to an explosion of new companies and a new market.  Most of the new commercial software processed MIDI, but not audio.  Academic software could also process audio, but they required their users to be able to know a programming language, usually C or Lisp.  Then in 1994 some software products started integrating MIDI and audio.    The first commercial music synthesizer was called Reality and was released in 1995. 

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 MIDI information to be passed to and from plug-ins which is necessary if a software synthesizer is to function as a plug-in within a host application.

            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 Sweden.  It can’t really be considered a modular synthesizer in the way that Reaktor is, but it can be called a modular sound studio.  This is because it contains a number of components that are frequently found in a sound studio:  a mixer, a subtractive synthesizer, a granular/wavetable synthesizer, three different kinds of sample players, a

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 MIDI information.  This greatly expands its capabilities.  For example, Reason's sounds can be sent to Cubase where they can be altered by Cubase’s effects or by any plug-in software that can run inside of Cubase.  Going the other way, a guitar track recorded into Sonar and patched through ReWire into Reason can be further mutated by Reason’s synthesizers, samplers and/or effects. 

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 MIDI interfacing opcodes were introduced, it became possible to control at least some parts of a Csound script in real-time.  So now you can create a musical instrument in Csound and play it in real time with a MIDI instrument or some other means of computer input.

            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; OSS; ALSA

ASIO; OSS; ALSA

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 University of California, San Diego.

World Wide Web Site.  8 July 2003.

            < 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. Berlin:  Native Instruments Software

Synthesis GmbH.  2001.

 

Native Instruments Software Synthesis, GmbH.  World Wide Web Site.  8 July 2003.

            < http://www.native-instruments.com/>.

 

Pressing, Jeff.  Synthesizer Performance and Real-time Techniques.  Middleton, WI: 

            A-R Editions, Inc.  1992.

 

 

Works Also Consulted

 

Boulanger, Richard.  The Csound Book: Perspectives in Software Synthesis, Sound

Design, Signal Processing, and Programming.  Cambridge, MA:  MIT Press, 2000.

 

Cook, Perry R.  Real Sound Synthesis for Interactive Applications.  Natick, MA:  A K

Peters Ltd, 2002.

 

Garton, Brad.  Director of the Computer Music Center and Professor of Music at

Columbia University.  Personal interview.

 

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.

Burlington, MA:  Focal Press, 2002.

 

Roads, Curtis.  Microsound.  Cambridge, MA:  MIT Press, 2002.

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.