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>