Over the past few years, software synthesis has become a major craze on the desktop. Shareware and commercial developers alike have flocked to this new

Over the past few years, software synthesis has become a major craze on the desktop. Shareware and commercial developers alike have flocked to this new technology, releasing myriad products ranging from basic playback synths and emulators to full-blown, real-time virtual synthesizers. In many cases, these software synths rival their hardware counterparts.

Audio Architect 4.01 from Audio Software is a powerful application that lets you re-create many different synthesis systems by using basic building blocks like those found in analog modular synthesizers-with a few new digital twists thrown in. The graphical nature of the program makes it easy to create systems, from a simple 1-oscillator analog synth to a complex FM or additive circuit. An extensive toolkit of modules provides a wide range of flexibility. These modules are "patched" together in the program's work space (called the "design sheet") to form a network. The program then calculates the sound and lets you hear it in real time or save it as a digital audio file.

You might say that Audio Architect is a real-time modular synth, a digital and virtual-analog synth, a synth construction kit, a professional sound-design system, and an array of classic synths, all in one software package. But because of a few limitations, the program's strengths lie in synth construction and sound design rather than in real-time virtual synthesis.

DESIGNING A NETWORKDesigning a network in Audio Architect is actually quite easy thanks to its graphical interface. A wide range of examples-from complex additive networks to simpler Hammond organ emulations-is available for you to study. (A number of additional free networks are available for download from the Audio Software Web site, with more promised in the future.)

By selecting the icons that represent the modules you need from the Module Toolbox and dropping them onto a design sheet, you can create a network within a few minutes (see Fig. 1). A basic network needs an input module, a sound generation module, and an output module.

For example, you might use the MIDI module for input, the Oscillator module for sound generation, and the Real-Time module for real-time output. After placing these modules on the design sheet, you create control and audio connections between them by right-clicking the mouse on one module and dragging and releasing the mouse on another. In our simple example, three connections are made: an audio connection from the Oscillator to the Real-Time module and two control connections from the MIDI module to the Oscillator (one for controlling pitch and another for turning the oscillator on and off).

Each module also comes with its own group of adjustable parameters. Double-clicking on a module brings up its corresponding parameter window. For example, the MIDI module lets you specify the MIDI port and channel, the gate mode (retrigger or legato), and two user-defined controllers. Basic controllers, such as Modulation, Pitch Wheel, Aftertouch, and Volume, are predefined. You can set up more user-defined controllers by adding more MIDI modules to the network and assigning them to the same MIDI port and channel.

Once you've added modules, made connections, and set parameters to complete a network, selecting the Modules/Calculate menu computes the sound that the network is designed to make. You can then play the sound with any MIDI device. Calculation never took more than a few seconds on my PC, even with very complex networks. (I'll address real-time performance issues a bit later.) And after a network has been calculated, you can still make changes such as altering module parameters and connections, or even adding and deleting modules, as the network is being played. This is where the real-time capabilities of Audio Architect come in handy; you can tweak a sound as you listen to it.

Of course, to design sounds in Audio Architect, you have to know something about how synthesis works-this program won't teach you. Fortunately, the included documentation is quite good, and a printed manual and online help file both explain the workings of the program very nicely. The manual includes a number of tutorials to get you started.

BASIC MODULESAs you work with Audio Architect, you begin to realize just how much power is possible with software synthesis. This is especially true with this program because of its modular approach. By giving you access to the basic building blocks of synthesis, Audio Architect lets you create sounds using a variety of methods, including subtractive, additive, FM, phase distortion, and sample playback.

In addition to the MIDI module, the Sequencer and File Player modules can be used to drive a network. The Sequencer is modeled after the old analog riff-based sequencers and provides three channels of 16 values each (see Fig. 2). It steps through the values at a user-defined rate (in milliseconds) and sends them to three control output connections.

Because the values sent are numerical, they can be used to represent notes as well as any kind of control data. For instance, you can use one channel to send note values to an oscillator, another channel to send filter parameters to a lowpass filter, and the third channel to set the volume of an output module. This makes the Sequencer extremely flexible and useful for creating all kinds of dynamic sounds. The File Player is the same as the Sequencer except that it lets you output five values and provides an unlimited number of steps via a text file that you must construct by hand.

For sound generation, Audio Architect provides Oscillator, Phase Displacement Oscillator, and Sample Player modules. You can produce many basic waveforms with the Oscillator, including sine, square, sawtooth, triangle, and noise. The Oscillator can be controlled via its note, detune, and amplitude control connections. It can also be hard-synched and modulated by another oscillator. The Phase Displacement Oscillator is basically the same as the Oscillator, but it has a distinct sound because it is based on the phase distortion synthesis method. This lets you create networks that mimic the old Casio CZ hardware synths.

The Sample Player module is one of the best tools in the kit, because you can use it for sample playback as well as to modulate an Oscillator. This provides the means for some very complex FM synthesis simulations, although you can use the Sample Player only as a modulator and not as a carrier. The Sample Player is also limited to mono files. To get around this, you can set up two Sample Players, each containing half of the stereo signal. The Sample Player can also loop and play a sample in reverse.

Some of the other basic modules included in Audio Architect are the Low Frequency Oscillator, Low-Pass Filter, Amplifier, ADSR Envelope, Mixer, Delay, Pan, Crossfader, Lag Time Processor, and WAV. Most of these provide the same functions as their hardware counterparts. Amplifier, for instance, is the same as a voltage-controlled amplifier in an analog synth. The exceptions are the Lag Time Processor and WAV. WAV is simply an alternative to the Real-Time output module and is used to save the sound generated by a network to a 16-bit mono or stereo WAV file. This lets you create complex networks that might not be playable in real time, and you can use the audio output in another sample playback device (or as the starting point for a new network). The Lag Time Processor provides a portamento function when used to control the note input of an Oscillator or Sample Playback module.

One grievance I have with some of these basic modules is that there are not enough detailed parameter settings. The Low Frequency Oscillator, for example, provides LFO depth, modulation frequency, and depth parameters that can be set via sliders, but there aren't any numerical readings showing what values the sliders represent. Although the parameters for the Low-Pass Filter and ADSR Envelope do include numerical readings, it would be nice to see a graphical representation of the filter and envelope and to have the option of editing them graphically as well.

ADVANCED MODULESIn addition to the basic sound generation and processing modules, Audio Architect boasts some more advanced functions. These include the Wave Oscillator, Finite Impulse Response Filter, Waveshaper, and Sine Shaper. There are also various modules available for manipulating control signals the same way as audio signals. These include the Control Amplifier, Control Mixer, Control Delay, and Control Shaper.

The most interesting module is the Waveshaper (see Fig. 3). It takes an audio input and passes it through a wavetable. The wavetable is derived by using the Wave Analysis function, which performs a set of Fourier transforms on a WAV file and uses the harmonic information to construct the wavetable. With the Waveshaper, you can create new sounds based on the characteristics of existing ones. For example, if you perform a Wave Analysis on a violin sound and then use the resulting wavetable on a vocal sample being passed through the Waveshaper, you'll end up with a vocal sound that has violin-like qualities. It makes for some very interesting experimentation. The Wave Oscillator and Sine Shaper are similar to the Waveshaper except that the Wave Oscillator uses a sawtooth wave as its audio source at all times, and the Sine Shaper is permanently set to simulate resonance.

I should also mention the Finite Impulse Response Filter. This module is a digital filter that uses mathematically based settings to perform its function. By setting up a kernel of up to eight coefficients, you can create very complex filtering algorithms that can strengthen certain frequencies and weaken others at the same time. Personally, I find it a bit confusing, but there's plenty of room for experimentation here, and I plan to delve further into this function during future sound-designing sessions.

REAL-TIME ISSUESSo just how well can Audio Architect substitute for your favorite hardware synth? Here are some comments about my own experience.

As mentioned previously, networks can be played in real time via MIDI. I tested the program's real-time capabilities extensively and found that even on my Pentium II 300 with 64 MB of RAM, Audio Architect exhibited quite a bit of latency. This happened even with the simplest networks. Luckily, the program lets you fine-tune your sample and control-rate settings to minimize problems.

In addition to latency, polyphony is another important consideration. Networks can be designed for either monophonic or polyphonic performance, and you can limit the polyphony of a network to achieve more responsive playback. On the other hand, the program has a hard limit of ten polyphonic voices, which may or may not be adequate for your needs.

Though you'll often be using a MIDI controller to play the program, there might be times when you want to control a network from a sequencer running on the same computer. Audio Architect doesn't come with built-in virtual MIDI-routing capabilities, but you could use a third-party virtual MIDI router, such as the one that's bundled with Sonic Foundry's Sound Forge.

Using this router, I was able to direct the MIDI output from Cakewalk Pro Audio into Audio Architect. At first I got very choppy performance-digital distortion in the form of clicks and dropouts kept interrupting the sound. Then I discovered Audio Architect's High Priority mode. This feature forces your computer to provide Audio Architect with more CPU power than any other program running at the same time. Turning High Priority mode on caused sluggish interface response in all of my other programs, but it also eliminated any anomalies in playback, allowing Pro Audio to drive Audio Architect with no problems at all. The High Priority mode would also be the preferred one to use if you were writing the program's output to disk and wanted to make real-time changes in parameters while doing so.

Most musicians are accustomed to multitimbral capabilities in their hardware. Though you can have more than one network open at once in Audio Architect, they can't share the same sound-card output. This means that to play two or more networks simultaneously, you have to use more than one sound card or use a card that has multiple outputs. Even so, I'm a bit skeptical about how the program would perform with more than one network open in real time. (I wasn't able to test this option.)

Audio Architect's limited polyphony and lack of multitimbral support limit the program's usefulness as a real-time playback synth. However, being able to tweak a sound as it plays, even with a bit of latency, definitely comes in handy when designing your own networks. (And don't forget that this is a $149 product.)

ENDLESS POSSIBILITIESAs you can see, Audio Architect is a powerful program. With the basic building blocks of synthesis at your disposal, you can create networks that mimic the sounds of classic synths. And because you can add as many modules to a network as your CPU allows, you can also create new sounds limited only by your imagination.

The only real misgivings I have about the product are the limited polyphony, somewhat limited real-time performance, and lack of multitimbral capabilities. If these three aspects were improved, Audio Architect would shine not only as a synth construction kit and professional sound-design system but also as a real-time multitimbral playback synth for compositional purposes. The High Priority mode definitely improves Audio Architect's real-time performance, but it adversely affects the program's responsiveness and that of other programs running simultaneously.

In either mode, the real-time capabilities of Audio Architect are most helpful in the construction of new sounds, and the program's numerous synthesis modules cry out for experimentation. One thing is certain: if you're interested in sound design and synthesis, you could quickly become addicted to this program. Audio Architect is one tool that every serious synthesist should check out.