12/09/00

 

 

Modular Software Synthesis

http://www.dropthescience.com/about.htm

 

Electronic sound synthesis exists in many forms.  Various methods have been developed and refined over the past 80 years or more.  Recent advances in microchip and computer technologies have pushed sound synthesis forward in the past few decades.  Some of the more common forms of sound synthesis include:  modular synthesis, physical modeling, FM/AM synthesis, additive/subtractive synthesis, and transitional synthesis.

One of the biggest software categories to benefit from the current advances in computer technology is software synthesis.  Hundreds of programs are now available for Windows, Macintosh, BeOS, and the Linux operating systems.  The process of native signal processing began in the mid 1990s when Intel, Motorolla, and others brought it to the market place.  But not just until recently has Native processing  reached its potential.  The surgence of high-powered PCs running 1.4 GHZ with the possibilities of dual 1GHZ systems, have allowed programs to utilize the CPU in digital signal processing.

In the earliest days of the synthesizer, they were not self-contained units such as they are today.  These synthesizers consisted of individual modules that performed a specific simple function.  Each module was mounted inside a rack and patched into another module using a ¼” patch chord.  Each sound you created was aptly called a “patch”.  The same language still applies to the hardware/software synthesizers of today.  The first two synthesizer manufacturers were Buchla and Moog.  The moog synthesizer is the most well known, because of it’s exposure from the hit song, “Switched On Bach" by Wendy Carlos.  The Moog modular synthesizer defined the standard, which is currently used by most synthesizers today.  In analog synthesis all functions of the synthesizer are controlled by a control voltage (CV) of one volt per octave.  The digital synthesizer has been around since the late 50’s when RCA introduced the Mark I synthesizer.  The Mark I incorporated digitally manipulated parameters that controlled analog voltage values.

In modular synthesis the underlying principle involves connecting modules (block diagrams) with specific functions together to produce the desired sound.  These modules can be broken down into two fundamental categories – generators(source) and processors (modifier).  The generator module (source) produces a voltage or a digital signal.  Common sources are sine, square, triangle, and sawtooth waves generators.   The other type of generator called a CV (controlled voltage)  is used to control some other parameter.  For instance a LFO (low-frequency oscillator) may be used in conjunction with a controlled voltage to modulate the filters cut-off frequency.  Another generator used commonly as a synth module is the noise generator.  Noise generators usually create white and pink noise.  White noise consists of a random distribution of all audible frequencies with equal amplitude between equal bandwidths.  This noise is perceived as hiss or static.  Pink noise is made up of a random distribution of all audible frequencies of equal amplitude between any octaves.  Pink noise sounds like a gently blowing wind sound. 

Modifier modules (processors) process the audio generated by the source.  Probably the simplest and easiest modifier to understand is the amplifier module.  This module allows you to control the input voltage of an oscillator either by variable control or step increments.  This type of modifier is analogous to the moving faders found on mixers.  As you move the fader down (attenuate the output in dB), you are manipulating a controlled voltage that lowers the level of the signal being driven.

            All of these modules can be interconnected by following a few basic rules.  First of all, audio signals always flow from left to right.  Sources (generators) are always located to the left of all it’s modifiers.  Generator outputs are drawn as horizontal arrows from the right side of a source or controller.  Modifier module inputs are on the left side.  Both modifiers and generators can accept control inputs.  These are shown on the bottom of the module.

            There are two types of connections that can be made between modules.  The first type is called a processing pair, where the output of a generator is connected to the input of a modifier.  The second is a control pair, where the output of a generator is connected to the control input of either another generator or a processor.  Processing connections are drawn as arrows horizontally, left to right.  Control connections are drawn as vertical arrows from bottom to top.

            Most modular synth software allows you to combine sources together by using a combiner.  The combiner usually has a control, which allows the user to adjust the relative levels of the sources to be combined.  This way several waveforms may be combined to create more complex waveforms.

            Most parameters can be changed with respect to time.  The key to software synthesis involves the ability to vary timbre, pitch, and dynamics not only in file based processing but in real-time as well.  To achieve this affect a time-variant control may be employed to more accurately emulate real acoustic music.  Music consists of inflections of tone and rhythm that give it a natural sound. The most common type of time-variant control is the envelope generator.  The envelope generator consists of several stages that vary the output (loudness) over time.  The four-stage envelope is referred to as ADSR (attack-decay-sustain-release) or EG (envelope generator).  This is used as a control signal, which varies the VCOs output.

As stated before, it is necessary to control the VCOs output over time to create a more realistic and interesting sound, rather than just a continuous pitch with no variation.  For instance, an oboe sound has a distinct articulation that separates it from other instrument.  The user designates the following parameters:

  • A -  Attack:  This is how quickly the volume of the note rises as you press the key.  A quick attack is a more percussive or abrupt note-on, while a long attack makes the note fade in slowly the longer you press the key.
  • D-  Decay:  This is the immediate drop in level after the peak level is reached in the attack.  A short decay means the note volumes drops off very quickly after being struck, while a long decay means the note will fade more slowly.
  • S - Sustain:  This is basically the "ring" of the instrument as it sustains after the note is played.
  • R - Release:  This is the amount of time for the final fade out of the note after the sustain portion. 

Unfortunately, hardware-based modular systems are still expensive, regardless of whether you buy vintage modular synths or newly manufactured systems, or even analog vs. digital. Moreover, they are not much lighter to carry nor simpler to operate than they were fifteen years ago.  Processor based systems today have developed to where they are equally as powerful as their hardware counter-parts.  Especially when combined with a dedicated DSP card.  Sound cards are relatively inexpensive compared to vintage hardware synthesizers.  Most software synths are designed to emulate hardware gear, but with out the added cost and more flexibility.  But now software synthesizers are expanding to capabilities to costly and difficult to implement in a hardware version.  Because of software’s flexibility and upgrade-ability, many musicians are switching to this medium instead.

Any synthesized sound can be broken down to three basic components (parameters) – fundamental frequency (oscillator), harmonic content (filter), and volume (amplifier).  These components may be designated as VCO/DCO, VCF, and VCA respectively.  These parameters may also be varied over time by applying a controlled voltage (CV).  These components usually have either/both selectable parameters and variable parameters.

The VCO (voltage controlled oscillator)/DCO (digital controlled oscillator) is a circuit that produces a continuous frequency according to a designated waveform.  Common waveforms such as sine, sawtooth, square, triangle, sample-and-hole, white/pink noise, and other more complex waveforms can be found in modular synthesis programs.  Most VCOs have a linear response pattern to the input signal, although it is common to find VCO that change on a Volt/Octave basis.  Simple VCOs circuits can be combined to form more complex waveforms.

A specific type of VCO is the LFO (Low-Frequency Oscillator).  This is an oscillator whose frequency is usually between 0 and 100 Hz.  The LFO produces a waveform like the VCO, but is used to modulate another module (parameter).  For example, the LFO can modulate the VCO circuit to vary it’s pitch over time, producing the effect commonly know as vibrato.  The two common terms associated with LFO are depth and rate.  The depth refers to the magnitude of the circuits modulation.  So this will determine how much the oscillators pitch will vary.  The rate determines how fast the pitch will vary with respect to time.  Some common types of LFOs may be a sample-and-hold, DCO1 pitch, or a noise modulator.  A sample and hold modulation may hold a random value every time a note is played.  The can be used to add a small variation to the filter cutoff for each note to make the sound more interesting.  The DCO1 Pitch value can be set according to the note being played by the oscillator.  The can be used to make the filter cutoff track the pitch of the oscillators.       

The next basic element in modular synthesis is the VCF (Voltage Controlled Filter).  This circuit is basically a type of equalization.  The VCF is usually of type:  BPF (band-pass filter), BRF (band-reject/notch filter), LPF (low-pass filter), or HPF (high-pass filter).  The CV can be used to change the center frequency in which the VCF is affecting.  Usually with a knob, one is able to sweep the entire frequency range of the system.  This parameter can be set to a constant value or may be varied with respect to time to produce the desired result.

The VCA (Voltage Controlled Amplifier) is the final basic component in modular synthesis.  This determines the output level of the VCO.  You can manipulate the volume (amplification) either up or down.  This is exactly analogous to moving a volume knob up or down on your stereo.

            Many synth modules have a CV (controlled voltage) input that fluctuates continuously in proportion to the control signal.  Analog voltages move smoothly and in an infinite continuum continuously, unlike digital signal, which moves in discrete steps from one level to the next.  Even stepped waveforms like the square wave move continuously.  If the square wave is closely examined on an oscilloscope, one will notice slightly rounded edges, because the voltage takes a finite time to rise and fall.  No physical oscillator can achieve the infinitesimal rise time of the ideal square wave.  Analog signals have 2 key properties – they are continuous, and their parameters: frequency, amplitude, and phase are continuously (and infinitely ) variable.  Digital synths on the other hand represent signals as numbers (discrete values).  Digital signals are quantized into finite number of discrete values.  Therefore the synth module parameters are quantized into finite steps.  The higher the resolution/bit depth of the system, the more accurately a digital synth can approximate the infinite resolution of an analog device.  There is a point where the discrete values are so close together that the human ear perceives them as continuous values.

            Analog oscillators are similar to acoustic sounds produced by traditional instruments in that it is nearly impossible to tune more than one sources exactly.  This slight de-tuning produces an amplitude/timbral fluctuation called beating.  Unlike digital synths analog oscillators will drift randomly up or down in frequency overtime.  A similar affect produced in digital systems is accomplished by detuning one of the oscillators.  In a digital synth the “control rate” controls the number of steps, usually correlated to the sample rates.  For example, a 44.1kHz sampling frequency would have a corresponding control rate of 441 Hz – a change every 100 samples.

            Hardware modular synthesizers are constrained by the preset signal paths of the device.  Software modular synthesizers are more flexible.  They allow almost infinite number of interconnections.  There are a number of hybrid hardware synth devices that are both digital and analog in design

It is important to consider the type of audio engine employed by the software you wish to use for sound synthesis.  Remember your computer will only perform as good as it’s weakest component.  You can achieve acceptable levels of performance using sound cards with MME drivers, but Direct-X works the best on PC based computers.  Macintosh systems primarily run on Sound Manager, DAE, MAS, FreeMIDI and OMS.  Sound Manager is Apple’s proprietary sound engine for digital audio I/O.  MAS (MOTU Audio System) is Mark Of The Unicorn’s proprietary sound engine used to run Digital Performer and other software programs requiring sophisticated digital audio I/O.  This is designed specifically to work best with MOTU hardware, although it is compliant with almost every manufacturer.  Another proprietary format is Digidesign’s DAE (Digital Audio Engine).  DAE also was designed to work best with Digidesign’s propriety hardware, available for their ProTools systems.   FreeMIDI and OMS are used for MIDI studio configurations only, not for digital audio.  OMS was created by Opcode Music System.  It is the defacto standard for MIDI I/O.  FreeMIDI now is able to run in conjuction with OMS, almost flawlessly.

Another factor affecting performance is the amount and type of MIDI messages you send to a patch in real time. Numerous Pitch Bend and Aftertouch messages can generate an enormous amount of MIDI data, which can affect any sound's responsiveness. The best way to keep your Generator sounds playing smoothly is to send only limited amounts of MIDI information to the program. Furthermore, if you record the MIDI information into a sequencer, you should use the Thin Controls tool (or your sequencer's equivalent) to thin out the potentially huge volume of messages for subsequent output.

The quality of your sound card largely dictates the quality of synthesis you are able to achieve.  Drivers should be checked and updated constantly.  Updates from manufacturer websites are available and must be taken advantage of.  Windows machines process sound by either using DirectSound, ASIO, or MME audio drivers.  The preferred driver is DirectSound, which improves on the performance of the older MME standard.  Macintosh systems have numerous audio protocols to choose from.  The best one will be determined by which ones your synths and hardware are compatible with.  The ASIO protocol will improve performance on every platform when switching from MME.

The next important determinant in performance is the system’s RAM ( random access memory).  The computer will need RAM not only for the audio program running, but also for tasks running in the background not associated with the program you are using.  There are several different types of RAM now available.  They include SDRAM, DDRAM, and RAMBUS.  The performance of RAM is largely determined by the speed at which it runs.  Currently RAM bus speeds of 66MHz, 100Mhz, and 133Mhz are commonly supported.

Another way to improve polyphony and increase processing power can be attained by switching off Virtual Memory on the Mac and loading only the extensions and control panels needed during a work session.  You can purchase a copy of Conflict Catcher for the Mac, which allows you to find-out which extensions are loading at startup.  It also allows for extensive control over which extensions load at what time.  Those users of PC based systems should shut down Autonotification in their Device Manager.  This program periodically checks to see if a CD has been inserted into your drive.  This can cause fatal errors if it occurs in the middle of some audio processing.

One of the best sounding and most flexible software modular synths available for both Mac and PC is BitHeadz’s Retro AS-1.  Modules are design to operate at varying degrees of complexity.  Some are called macros that can perform multiple functions at once, while others are more basic and can handle only one task at a time.

There are a handful of audio-programming languages available now that provide sound processing without the common graphical user interface (GUI).  Instead you will have to edit your synth patches/modules by enter text into a word processor/text editor like you would when writing in C, Java, and other common program languages.  These languages provide a means for sound synthesis that doesn’t have the limits of complexity found in GUI software synthesis.  Two of these sound processing languages are:  Barry Vercoe’s Csound (free) and James McCarney’s SuperCollider ($250).

Modular Synthesis is flourishing now in the software synth market-place.  There are over a dozen companies now designing stand-alone programs for both Mac and PC based systems.  This isn’t even including the number of plug-ins available and now under development.  Software synthesizers have surpassed there hardware counter-parts in price, manageability, and flexibility.  Even different models of synthesis are coming together in software technology to give the user advanced processing not available in hardware form.  Modular software synthesis is still developing and who knows what modular-synth hybrid will be available in the future as technology progresses.


 

Resources for Software Synthesis:

http://www.emusician.com

http://www.futuremusic.co.uk

http://www.recordingmag.com

http://www.sospubs.co.uk/sos/jul00/articles/modularcorner_news.htm

http://www.indiemusicsite.com/synth/index.htm

http://www.sospubs.co.uk/sos/oct99/articles/nord_news.htm

http://www.sospubs.co.uk/sos/1995_articles/mar95/korgoasys.html

http://www.sospubs.co.uk/sos/apr98/articles/synthschool.html

http://www.sospubs.co.uk/sos/1997_articles/apr97/soundsynthesis.html

http://www.sospubs.co.uk/sos/1997_articles/sep97/synthschool3.html

http://www.arboretum.com/S120_links/S120LINKS.html

http://xoom.com/fundulac/index.html

http://www.steinberg.de

 

 

 

 

 

FundulacMusic            <Home>