You're walking down the street, sniffing the daisies. A car goes by, packed with cool guys cruising at high volume: Doof! Doof! Doof! Doof! Weee! Rh-rh-rh-rh-zhuuuu. You've heard that music before: four-on-the-floor kick drum, bass synth taking up most of the picture, some juicy chord stabs, a plinky riff.

And you wonder: It's loud and full, but it doesn't have many simultaneous parts like the music of previous decades. Why is that?

The answer probably lies in the technology used. The music was mainly created on a computer, using software synthesizers, also known as virtual instruments. The PC's speed limited the number of simultaneous voices and their complexity, promoting grandiosity rather than symphonic subtlety. Musicians tailor their music to fit the technological opportunities, and the most exciting opportunities currently come from virtual instruments.

SynthEdit Examples
Some virtual instruments, most made with SynthEdit,a drag-and-drop synthesizer design program

This is the first of a series of three articles road-testing SynthEdit, a shareware program that has become a major force in creating virtual instruments for Windows and Linux using the VST plug-in format. Whereas most virtual instrument users stick to preset sounds or tweak them slightly, with SynthEdit you can design your own perfect instrument and personal sounds from the ground up.

  • Part 1—this article—introduces SynthEdit and the VST format and offers extensive links to sounds and instruments (both commercial and free) made with SynthEdit.
  • Part 2, "Outside the Ricko-3A," will introduce the basic categories of synthesizers and explore the basic design and GUI of the Ricko-3A, a real VST virtual synthesizer I created with SynthEdit.
  • Part 3, "Inside the Ricko-3A," will describe in detail how I made the Ricko-3A, including the modules and how MIDI automation is implemented.

Don't worry if you're already confused by all the jargon: this is an exciting, quirky, and rich area, and I'll explain many terms along the way.

Virtual Instruments Explained

What are these virtual instruments? Typically, they're small software applications that run from inside a host program such as a MIDI sequencer. To trigger and shape notes on a virtual instrument you may send it data from the host sequencer, an external sequencer, a MIDI keyboard, or other control surface. The host may also provide mixing and effects capabilities.

Virtual instruments have given the home or laptop-based musician unprecedented access to new sounds and new ways to make them, especially with the availability of high-class, free, or shareware VST plug-ins such as the Greenoak Crystal synthesizer, Ichiro Toda's Synth 1 Nord emulation, RGC Audio sfz sample player, Big Tick Angelina choir synth, Ticky Clav Clavinet emulator, and the Tweakbench Tapeworm Mellotron emulator. Effects processors have been virtualized as well; examples include the Ambience and SIR reverb units and Endorphin compressor.

SynthEdit Examples
More SynthEdit virtual instruments; note the similarity to classic ARP synths

Free to Be VST

VST stands for Virtual Studio Technology, which recreates hardware instruments and effects in software, often with a photorealistic control panel onscreen. It was originally developed by the German music software company Steinberg for its Cubase sequencer program. Steinberg offers a C++ library for creating VST effects and synthesizers.

Almost all major audio programs support VST. PC programs typically look for VSTs in a common directory, such as VstPlugins, close to the root or under the application's installation directory. They may also look in the directory set in a %VSTPLUGINS% registry entry. On PCs, VST plug-ins are .DLLs, sometimes with extra patch banks or samples provided as separate files.

As mentioned, VST instruments must be played from a host: SynthEdit itself is such a host and even provides an onscreen keyboard. At a minimum, the host accepts MIDI data, and the VST synthesizer generates audio data. If you want to run VST instruments without a fancy host program (for example, if you want to use the computer as a sound module for live performance from your MIDI keyboard), check out Herman Sieb's SAVIhost (Windows) or the Ugly VSTi Interface (Mac). Note that if you don't have a fast CPU, low-latency soundcard, or optimized drivers, virtual synth modules may be slow to speak, to use the term favored by cathedral organists. Another option is to use a standalone hardware VST host such as the Muse Receptor.

One important factor in VST's success is that it supports parameter automation: The host and the VST instrument can exchange the settings of each knob or control on the VST's GUI, allowing the users to "play the panel" rather than being stuck with static settings. Each VST also may have support for receiving control information such as vibrato, brightness, and portamento (glide) over MIDI.

The VST application programming interface (API) is defined for both Windows and Mac OS; however, VST modules need to be compiled separately for each platform. So when you download a VST module, make sure to get the correct one for your platform, if it's available.

VST is not the only game in town. Apple and Microsoft also support their own APIs—Audio Units and DirectX, respectively—and there are many more plug-in formats. There are also non-VST hosts. The most notable include Buzz and AudioMulch, which, like SynthEdit, allow you to connect modules into complex studios. To my ear, Buzz sounds smoother than SynthEdit, while AudioMulch allows much more sophisticated digital signal processing (DSP) and experimentation.

One very popular use of VSTs is to create emulations of older synthesizers. Musicians who do not want the problems of geriatric hardware get to experience retro pleasures; venerable manufacturers such as Korg, PPG (now Steinberg), and EMS can resurrect classic designs; and new developers such as Arturia get a more easily sellable target.

Korg MS-20 Controller
With a USB MIDI keyboard, you can play your virtual instrument like a real one. The Korg Legacy Collection of software synths includes this compact controller that's modeled on Korg's classic MS-20 analog synth. Korg and other manufacturers also make controllers with full-size keys.

SynthEdit: Power to the People

SynthEdit is a phenomenon. A shareware program in very late beta, it has been used to make hundreds of synthesizers and signal processors. The quality varies enormously, from amateurish, naive efforts that just use stock modules in the least innovative way, to slick, professional-quality plug-ins, many featuring custom modules written with the SynthEdit C++ Software Development Kit (SDK). The variety is such that the front page of the KVR Audio web site, a portal and community for users of VSTs, divides VSTs into those made with SynthEdit and all the rest.

SynthEdit acts primarily as a standalone modular synthesizer, where you connect virtual patch cords between modules, as on the old hardware instruments. But it has taken center stage because of its unique functionality: After you've created a system, you can save it as a VST for use by other VST hosts. SynthEdit has a thriving and helpful developer community; for example, SynthEdit creator Jeff McClintock puts out a new beta once or twice a week, fixing bugs or making improvements almost as soon as they're reported.

It is now 25 years since I programmed a big modular Moog system, and I find SynthEdit brings back the same kind of homemade fun. The program has brought me the chance to try out the synthesizer configurations that have been floating around in my head ever since 1980. A common complaint among SynthEdit developers is that they started developing synths to realize their musical dreams but found it so much fun they never actually get to making music. So beware!

The modules in SynthEdit include:

  • Virtual Analog (VA), which means conventional oscillator→filter→amplifier designs, for the sounds of 1960s modular synths and 70s mini-synths
  • Sample Playback, for playing back prerecorded sounds in SoundFont or .WAV formats
  • Frequency Modulation (FM), for sounds popularized by 80s Yamaha synths
  • Phase Distortion (PD), for sounds associated with 80s Casio synths
  • Many additive and waveshaping techniques

Mixing and matching different methods is the order of the day. Because SynthEdit schedules each module one at a time to process a buffer full of information, frequently with 96 or more samples, synthesis techniques that rely on small delays cannot be done very successfully by connecting existing modules. That includes most of the physical modeling, FFT, or convolution-based techniques that produced much of the sound of the last decade. However, there is a network of C++ programmers who make and share custom modules using the SynthEdit SDK that implement physical modeling (in particular), as you can hear in the audio examples below. So SynthEdit is far from being purely retro.

You can download a stable release from the SynthEdit web site and the latest beta and help files from a special beta page. A Yahoo group, SynthEditUsers, hosts community discussions. The group is very active and friendly, and features frequent contributions from most of the developers mentioned in this article. Often the developer of one synthesizer will also provide a bank of presets for another developer's synths.

Screen 1
Creating a synthesizer in Synth Edit can be as simple as connecting audio modules. (View bigger image.)

Above is a screenshot of a SynthEdit project. At the top is a virtual MIDI keyboard to allow us to trigger notes without needing an external keyboard. At the bottom left, partially obscured, is the front panel we will be using. At the bottom right is a window with various modules connected together. The black boxes with green lines are waveshapers used to generate different characteristic waveforms. Finally, at the top right is the Audio Output module, to let us hear the results.

SynthEdit Audio Examples

A sound is worth a thousand words. Most of the following MP3s were made by the designer of a particular synth to demonstrate the sound of that instrument, rather than be pure music. And most of them are 100 percent SynthEdit, though often people use other tools for drums and final effects. Note: Most samples are hosted offsite, so their availability may vary. All MP3s open in new windows.

Artist MP3 Description
Krakli (Ian Webster) PolyEz demo Virtual analog (pad)
Krakli (Ian Webster) Rticul8 Physical model (plucked)
Novakill whyWONTyouDIE VA and Phase Distortion
Odo Odo Machines Various VA synths, with campy vocoder MC
Guido Scognamiglio Mr Ray Presets Physical model
Mik Sybrandt Oryend Tends towards Korg sounds
SynthEdit Labo Receptor Pad demo FM, with the modulator signal coming from SoundFont samples
Ugo Impact Virtual analog
Ugo Traveler Physical model (plucked string)
Etric Van-Mayer Mindless Shapeshifter Virtual analog + FM
Xoxos (Rurik Leffanta) When Everyone Should Receive an Instrument

Quite a few SynthEdit users are interested in semi-automatic composition. This demo is all done in SynthEdit but uses several external modules. The performer read random lyrics into a microphone, and the software generated a stochastic (algorithmic) melody. Both are combined by a vocoder module into a hysterical song. The backing music is also stochastic.

For a slightly more conventional piece, Xoxos also created "Breath Cube," the world's first (free) robot singer. (Hear an MP3.)

20 Great VST Plug-Ins Made with SynthEdit

The less interesting SynthEdit synths have given the program a reputation for being CPU-hungry and sounding the same. There is more than a grain of truth in this. Commercial VSTs can be written in assembler using the special DSP-derived multimedia instructions built into modern CPUs, which are not utilized by standard C++ compilers; furthermore, the commercial imperative keeps developers from adding extraneous features, whereas SynthEdit positively encourages exploration and growth. And many SynthEdit synths are constructed from the same stock oscillators and filters, arranged in the same basic Minimoog-style architecture with just cosmetic differences. It is quite like the situation with the first polyphonic synthesizers in the late 1970s and early 80s: Two companies started making oscillator and filter chips, and most synths were basically designed by selecting between the two choices, resulting perhaps in a narrowing of the range of sounds compared to the more experimental monophonic days.

However, a really good synthesizer design will involve many other factors apart from the oscillator and filter design. Two important ones are how to compensate levels so that changing tone (by pulse-width modulation, waveshaping, high-pass filtering, and so on) does not cause volume dropouts, and whether the envelope generators (typically labelled "ADSR" for Attack, Decay, Sustain, and Release) provide exponential or linear slopes.

SynthEdit also allows the creation of synthesizers with novel architectures that would otherwise not be developed. Here are some commercial SynthEdit creations, typically virtual analog synths with a lot of attention paid to good presets and GUI. If there is any doubt about the "world" in World Wide Web, the links below should dispel it! Australia (Novakill, the AudioMulch program, me), Denmark, Germany, Italy, Japan, New Zealand (Jeff McClintock), Russia, Spain, Sweden, UK, and the USA are all represented.

Commercial VSTs

Plug-In Developer Description
Adventus Gino Côté Made for thick trance and rave music (Hear a demo.)
GreenMachine Amp II Wurr Audio Engineering Tube amplifier simulator
Jup 6 EFM An emulation of the Roland Jupiter 6. EFM also makes many other emulations as well as real (solder and chip!) modular synths.
Nebula 42 Algomusic (Tim Conrady) Virtual analog paired with SoundFont player. Includes sophisticated arpeggiator.
Performer SuperWave Virtual analog paired with FM
Synpack EVM A great value pack with 12 synths and two rhythmic devices

Shareware or Donationware VSTs

Plug-In Developer Description
AgonyX Prodyon Virtual analog, especially for trance music. (Hear a demo.)
ARP 2600 Richard Brooks Look-alike recreation of an ARP 2600 semi-modular synth. Brooks is very interested in providing skins based on famous modular synths on top of standard SynthEdit modules, rather than slavish sonic emulation. A great site.
Drummatic E-phonic Virtual analog drums
ELOTTRONIX XL Elogoxa Frippertronic-style long tape delay
Mr Ray Guido Scognamiglio An electric piano emulator based on physical modeling
Organized Guido Scognamiglio An organ. Istvan Kaldor's free DirtBag is highly regarded as well.
Ricko-3A Rick Jelliffe A vintage synth emulator inspired by Roland's 1974 SH-3A monosynth

Free VSTs

Plug-In Developer Description
etEquet Krakli String ensemble sounds. The synth called reticul8 is also very good.
Nerve Neko Sudios (Stefan Toivonen) Dual virtual analog with arpeggiator, and some extras. Good for trance and electro. Very good sound.
Oud Safwan Matni Ultra simple plug-in: the sound of the Oud with various middle Eastern tuning options.
Receptor SynthEdit Labo FM synth using SoundFonts. This site also hosts Japanese tutorials and forums for SynthEdit
Satyr Land of Cockaigne (Mikko Hyyryläinen) A large virtual analog. The tiny Oberon has a great panel design and may be easier to handle.
String Theory Ugo Physical model of plucked sounds
SuperWave P8 Christopher Gill A virtual analog synth with special waveshapes. An enhanced version of this, the Performer, is also available commercially at SuperWave's site. This is a free version.

Note: These tables were made at the beginning of 2005, so the links may change. Check with sites such as KVR Audio for news on recent creations.

To Be Continued...

I hope you've enjoyed this introduction to the potential of SynthEdit. Part 2 of this series, "Outside the Ricko-3A," will begin the SynthEdit road test. I'll provide some general info on types of softsynths, and then introduce an example synth I developed, the Ricko-3A. I'll introduce block diagrams, explain how I made the GUI, and include audio examples and an appraisal of the design experience.

Part 3, "Inside the Ricko-3A," is the under-the-hood part. It will give more details on specific operation of the SynthEdit application, as well as the kinds of modules available. Stay tuned! (Of course, staying tuned is much easier with software synths than the original analog ones.)