It's hard to believe that only a few years ago real-time software synthesizers were a novelty. Now modular software synthesizers, virtual classic synths,

It's hard to believe that only a few years ago real-time software synthesizers were a novelty. Now modular software synthesizers, virtual classic synths, and unique desktop synthesizers are an unquestioned part of music production. Similarly, software-based samplers have rapidly evolved from oddities into everyday music-development tools. It's not surprising, because samplers and computers have much in common. Both have RAM and hard disk storage, and with a little effort a computer program can mimic a sampler's OS and functions.

Not all software samplers are virtual reproductions of their hardware-based counterparts, however. Some follow divergent paths in design or function. Native Instruments' sampling program Transformator, for one, is blazing a new trail with modular sampling.

Modular sampling is a concept built on the premise that a one-size-fits-all operating environment isn't necessarily the most resource-efficient, that you should be able to create a sampler that performs only the tasks you require. It's similar in many ways to modular synthesis, and both have their advantages and drawbacks. Do the advantages of modular sampling outweigh the disadvantages?

STRUCTURED ENVIRONMENTTransformator, like its companion program, Generator, builds its samples by "wiring" together sound-generating or sound-processing modules. The only difference is that Transformator uses various types of sampling modules (and their related samples) instead of oscillator modules to generate sound. Otherwise,

Transformator employs the same control, display, mixer, envelope, and other modules found in Generator (see the Generator review in the January 1999 issue of EM). Transformator's modular-sampler networks are, as in Generator, organized hierarchically. The highest level, the Ensemble, is a top-down, encapsulated view of the modular structure's components. However, when you open an Ensemble file, the first thing you see is the control panel of its various parts. For example, when you open the Ensemble file called Plasma, Transformator displays two control-panel windows (see Fig. 1). The left window shows all the parameters that you can modify in real time with the mouse or with MIDI control devices and programs. In this scenario, you manipulate a short sample by altering or randomizing the playback start point. The Grains (resynthesis) section further alters sound output by determining the granularity of the resynthesis process; lower settings output larger sections of the original material, while higher settings output a stream of smaller bits (or grains). Other controls transpose the sample pitch, adjust the playback envelope's attack and release, and adjust filter and resonance settings.

The right-hand control panel adjusts the Plasma Ensemble's overall volume level. The little rectangular box, labeled Plasma, next to the slider shows that this Ensemble has a second control panel. This may seem pointless given that we already know about the second control panel, but it's actually a handy feature. Ensembles commonly have multiple control panels, all of which are listed in the "master" control panel. Clicking on a rectangle activates the selected control panel and brings it to the top-useful if your screen is cluttered with many overlapping control panels.

Obviously, the control panel is not a representation of the Ensemble's structure. To see that, right-click on any free area in a control panel to open a context-sensitive menu, and select Structure (see Fig. 2). Plasma's Ensemble structure seems simple at first glance, but that's only because much of Plasma's structure is still hidden, as you will see later. For now, you can see an Audio In module with a red X at the lower left indicating that it's inactive. There is also an Audio Out module with a box labeled Plasma connected to outputs 1 and 2. (Notice the rectangle labeled Level connected to the Level output.) The 16 separate outputs are available in this example because I used the two 8-channel ADAT outputs of my Frontier Designs Dakota card with ASIO drivers. Had I used a stereo audio card instead, you'd see only two channels on the Audio In and Out modules.

To see Plasma's Instrument structure, the next level down, right-click on the Plasma box in the Ensemble window and select Structure. The details of Plasma's modular network will then be more apparent (see Fig. 3). For example, the leftmost box, Notein, is the beginning of Plasma's Instrument structure. To find out which functions Notein performs, right-click on the box and select Properties from the pop-up menu; a dialog box will appear and describe the details of what Notein does. You can access the same information by positioning the mouse pointer over the Notein box; the description then appears in a highlighted window. This works with any input or output.

The Notein box is itself a summarized view of an even lower level in Plasma's structure, the Macro (see Fig. 4). A Macro can be thought of as a structure within a structure, except that it doesn't manage MIDI data or have control panels. A Macro is identifiable by its gray label and "structure" icon. As you can see in Fig. 3, the boxes labeled Pitch, Position, Re-Synthesis, Amp, Filter, and Diffusion are all Macros. Each contains a lower network level.

The most basic part of a network's structure is the module. Like Generator, Transformator contains a variety of modules that perform basic tasks such as audio and event switching, MIDI event generation, mathematical functions, audio mixing and amplification, and sequencing. As you can see in Fig. 4, this network of modules delivers MIDI note values for pitch and gate (note on/off) to the Pitch and Amp Macros shown in Fig. 3. The Macros then connect to the Sample/Map module, which is actually the Sample Resynth module (more details in a moment).

ART OF NOISETransformator employs seven types of Sampler modules to play back sound samples. The most basic module is simply called Sampler. It has a logarithmic control input for playback rate (pitch) and for selecting a sample from the loaded sample map. It also has a trigger input that plays back the sample from the beginning, a control input for setting the output amplitude, and an output connection (on the module's right side).

Another relatively simple module is Sample Lookup. It makes samples available as function value look-up tables. You set a position within the sample with the Position input, and the value is sent to the outputs. This allows you to play back samples from a point other than the sample's beginning. Sample Lookup adds separate Left and Right audio outputs so that you can play stereo samples. The remaining Sampler modules become increasingly complex. The Sampler FM module adds a linear control input for modulating the sample playback rate, along with a control input that determines the starting point when the next trigger occurs. The output side adds a polyphonic event output that dictates sample playback length. The Sampler Loop module adds a gate input control, a control input for selecting a sample from the sample map, and a Loop Start and Loop Length input control.

The Sample Resynth module is a real-time resynthesizer that allows you to control pitch and playback speed independently and manipulate samples extensively. Standard samplers maintain a pointer for each voice that always points to the current position in the sample. Output amplitude is always the same as the amplitude of the sample at the current pointer position. Because the pointer moves at varying speeds through the sample, it generates an amplitude that varies over time. In other words, the pointer's movement speed determines sample playback speed and the pitch at which the sample is heard. If the pointer stops moving, output amplitude stops changing-which means that no audible signal is produced.

With Sample Resynth, a synthesizer inside the module resynthesizes the signal at the pointer position to generate the output signal. The pitch of the resynthesized signal is independent of the sample's pointer speed. Even if the sample pointer isn't moving, the synthesizer continues to produce a sound. And although the Pitch input determines the output pitch, the separate Pointer Speed input, not the sample pointer, determines the pointer speed. Add to this the Granularity audio control input (for determining the size of the sound particles used) and the Smoothness input (for controlling the resynthesis process), and you can reshape any sample beyond recognition.

The Sample Pitch Former module is also a real-time resynthesizer, but it differs from Sample Resynth in that it removes the normal pitch development from a sample and allows you to specify any chosen pitch. In addition, the module lets you carry out spectral transpositions-that is, pitch-independent transpositions of the sample's timbre. In normal samplers, transposing a sample's pitch also means transposing all of its spectral components. When transposed too far, unexpected effects may occur (like Munchkin or Darth Vader effects in voice samples). With Sample Pitch Former, you can set sample pitch and generate spectral information for that specific pitch.

Another Sampler module is Beat Loop, which is a real-time resynthesizer for the synchronized playback of beat-loop samples. All beat loops play in sync with one another, independent of the samples' individual speeds. However, certain conditions must be met to play loops with an acceptable level of quality. First, all samples must be perfectly cut so that the loop playback is seamless. Second, each loop should contain 2, 4, 8, 16, or 32 beats. Third, the original speed of the beat loops should be between 87 and 174 bpm.

SAMPLE MANAGEMENTTransformator uses any mono or stereo WAV or AIFF audio files recorded at any sample rate as the basis for its samples. If these files contain loop or keyboard allocation data, Transformator can read that information as well. Keep in mind that the program has no audio editor to convert other types of sound files into a readable format, insert loop data, or perform other types of editing; Native Instruments assumes that the user already has an audio-editing program to handle those tasks. In fact, you can set the path to your own audio editor so that you can access it while working within Transformator.

Before it can use a sound file, Transformator has to load the sample into the computer's RAM. Regardless of the audio material's original bit depth, Transformator uses a 32-bit floating-point format for the internal representation of the sample. This means that a file that was originally 400 KB will now occupy 800 KB of computer RAM. Despite the increase in RAM usage, this approach has some advantages beyond its goal of increased CPU processing efficiency. Even with 16-bit samples, the extra bits in the output stage are useful because processing always increases the significant word length. Transformator can output more bits to ASIO sound cards if the driver supports it, and that translates into better sound quality. (At this time, however, the program cannot import 24-bit files.)

You load samples into a Sampler module using its Properties window (see Fig. 5). Here you can give the module a unique name and can mute or set output to mono. You can also add sound files to the Sample Map. Every time you add a file to the Sample Map, you can establish its root key and its left split point. (The next sound file's left split point determines the previous file's right split point.) Additionally, you can detune individual samples within a range of plus/minus100 cents. Combine that feature with some judicious note mapping, and you can create or reproduce instruments with nonstandard tunings.

Furthermore, you can set each sample individually to loop forward or backward or to alternate between the two. If you wish, you can simply turn the loop function off. These loop settings can be applied to all samples in the Sample Map. In the module section, you can choose to back up your sound sample files with the Sampler module. And once you have created your Sample Map, you can save it as a separate file. When you want to use a different Sample Map with the same Sampler module, all you need to do is load another Sample Map file-all settings and sounds will be loaded into the appropriate Sampler module.

However, once sound files are loaded into a Macro, Instrument, or Ensemble mode, Transformator saves only the paths of the associated sound files. If these files are deleted, moved, or renamed after the structures are saved, the program won't be able to find the files-which makes it nearly impossible to re-create the structures in question.

Nevertheless, there are two ways around this problem. First, Transformator opens a dialog box to indicate which sample files are "missing." Using the Replace button, you may be able to find and reload the moved or renamed files. The alternative is to back up the sound files within the Macro, Instrument, or Ensemble file as mentioned in the previous paragraph. This way, if something happens to the original files, you can use the copies to restore your work.

ANALYZE THISThe biggest problem I faced while reviewing Transformator was grasping how useful modular sampling can be. I suspect that this lack of vision will be a significant barrier for other users as well. Transformator did a creditable job of enlightening me, however, by providing good examples of the different uses for modular sampling. I was pleasantly surprised to discover that modular sampling can be as simple or as complex as you need or want it to be.

Even so, for conventional software sampler tasks, I prefer a program that better mimics a standard sampler without all of the hassles inherent in a modular-based program. Call me old-fashioned, but I'm accustomed to that traditional interface.

On the other hand, when it comes to playing synchronized audio loops and sequenced percussion samples, or for combining sample playback with synthesized sounds, Transformator really shines, especially when it works in the Reaktor environment (see the sidebar "Fusion Reaktor"). And when you use its granular synthesis tools to mangle sounds beyond recognition, Transformator is pure, unadulterated aural fun. Plug into it and catch a good buzz.

Zack Price occasionally claims to be a former member of a famous German synth band, just to see if people will really believe him.

FUSION REAKTORAlthough Transformator and Generator are available as separate programs, you may want to consider buying them in one package, marketed by Native Instruments under the name Reaktor. For one thing, Reaktor costs just $469, while Generator and Transformator are $298 each. But buying Reaktor is more than a matter of saving $127. It provides a unified environment in which you can use Generator and Transformator together. Imagine, for example, creating a multitimbral instrument that performs FM synthesis and uses analog waveforms, multisampling, and granular synthesis simultaneously. With Generator's FM and subtractive synthesis features and Transformator's sampling and granular synthesis capabilities, you can do all of that and more. But you can't achieve the same results using both programs separately.

Reaktor's copy-protection scheme loads a 100 MB file named Enigma onto your computer's hard disk; it acts as the "key" for program operation. I'm glad that every software maker doesn't use this sort of copy protection; if they did, keys would occupy most of my drive space. On the positive side, at least Native Instruments didn't use a hardware dongle or require a CD-ROM to be loaded at all times.

Another reason to upgrade is that Reaktor has new sound-creation modules such as Multisine and Geiger; mathematical module tools like Sine/ Cosine, Square Root, and Modulo; and routing modules including To Voice, From Voice, and Router 16. Reaktor also contains additional Macros and Instruments to make the process of creating these elements less tedious.

Because the program supports ASIO 2.0, so you can route different instruments in a multitimbral Ensemble to separate outputs, provided you have a multichannel audio card with ASIO drivers. Furthermore, Reaktor can be a VST 2.0 plug-in: you can open an Ensemble as a virtual instrument, or use any of the package's effects (Reaktor considers effects processors to be Instruments) to process audio tracks in Steinberg's Cubase VST or a VST 2.0-compatible sequencer such as Emagic's Logic Audio.

For Mac users, Reaktor also supports DirectConnect, which provides an easy way for applications to stream audio directly into Pro Tools or other DAE hosts. DirectConnect allows up to 32 separate audio channel outputs from any host-based application (such as software synthesizers or samplers) to be independently routed, recorded, processed, and mixed within the Pro Tools TDM mixing environment. Currently, Reaktor supports a maximum of 16 DirectConnect audio channels. Routing audio input into Reaktor using DirectConnect isn't yet supported by Digidesign, but it's in the works.

In addition, Reaktor includes MIDI File Player, so you can now play Standard MIDI Files without opening a separate sequencer. This reduces the amount of system resources your computer needs to play back Reaktor Ensembles or Instruments, making system overload less likely and thus helping to prevent the skips and dropouts caused by resource allocation problems during operation.

Overall, Reaktor is more efficient than the separate Transformator and Generator programs in terms of the average percentage and peak use of resources. With a software-based synth or sampler-especially a modular program-efficiency is a major concern, and it's one that Reaktor addresses admirably.