REAKTOR TAKES YOU WHERE FEW SYNTHS HAVE GONE BEFORE.
Native Instruments' Reaktor is one of the most powerful new programs to hit the scene in years. Combining a massive synthesis "toolkit" with a huge range of sampling and sample-processing options, this modular software can put an endless number of sounds at your disposal. But once you've purchased this extremely deep and complex program and given it 300 MB of your hard disk space, where do you go from there?
If you're a relative newcomer to Reaktor, some of the ideas presented in this "Master Class" should help you get the genie out of the bottle. If you're a seasoned (or singed) Reaktivist, I hope that you, too, will find some new ideas worth pursuing. If you've never touched Reaktor, I suggest you look at the sidebar "Reaktor Basics" before proceeding.
I'll discuss three Reaktor elements: understanding and modifying Ensembles from Reaktor's Premium Library, exploring Reaktor 's Macros and using them to build a versatile additive synthesizer, and developing a complete Ensemble from a basic idea.
DEVOLUTION OF AN ENSEMBLEReaktor comes with a wonderful library of preset Ensembles, and even more are available in various libraries at the Native Instruments Web site (www.native-instruments.com). Unfortunately, a first look at one of these beasts often produces a giant, audible "Huh?" In fact, it's not uncommon to have the same reaction to your own favorite constructions after a few weeks' absence. Here are some tips on how to approach a new Ensemble to figure out how it works.
Take a look at the NewsCool Ensemble from the NI Premium Library (see Fig. 1). The Premium Library is included with Reaktor 2.3, and its Ensembles are individually downloadable from the Native Instruments Web site. (See a short summary of the Library's offerings in the sidebar "Reaktor's Premium Library.") If you don't have access to the Premium Library, you'll find versions of NewsCool on earlier Reaktor CD-ROMs as well as in the NI User Library, which also has a version with a built-in randomizer.
Before you start. First, make a copy of the Ensemble. If you're doing more than taking it for a quick spin, this precaution ensures that you can always get back to "ground zero" after you've intentionally or inadvertently saved some changes.
It's also a good idea to turn your monitor levels down and keep your thumb poised over the 0 key. The 0 key stops all Reaktor audio processing, immediately cutting off all sound output. Turning audio processing off also releases a lot of CPU power; when you're building or modifying an Ensemble, this can make things go more smoothly. Finally, check the system usage when audio processing is on. If necessary, you can save CPU cycles by lowering the sample rate.
Take it for a spin. If you have no idea what an Ensemble does, look first at its Control Panel. (This, not the Structure, is the place to start.) More than likely the Ensemble is a synthesizer, a sample player, a sequencer, or an audio processor. If it's a sequencer, you will need to start Reaktor's clock in the toolbar; if it's an audio processor, you'll have to feed Reaktor some audio; and if it's a synth or sample player, you'll need to play your MIDI keyboard.
A look at the NewsCool Control Panel reveals sequencer, synth, filter, and delay sections, arranged from top to bottom. The synth section (labeled "Sine Decays") contains four identical rows of controls representing four identical sine-wave synths. The sequencer section has four rows of red LEDs. When an LED is turned on, the corresponding synth is triggered at that stage of the sequence (that is, any stage of the sequence can trigger any or all of the synths). The output of the synths is processed by the filter, then by the delay line.
If Snapshots (Reaktor's term for sets of parameter presets) are provided with an Ensemble, they could help you find out what the author intended - often they have indicative names. Look first for Snapshots on the Ensemble level, as these can be used to select Instrument Snapshots automatically. Otherwise, you'll need to select Snapshots for each individual Instrument in the Ensemble. The Snapshots in NewsCool are on the Instrument level, and the names are all anagrams of evil (undoubtedly indicating that this is one bad patch!).
Go for help. If you're having trouble figuring out some of the controls, turn on Reaktor's Show Hints option. When you mouse over any object, whatever information the author provided about its properties will be displayed in a Help box. (Working the controls with the hints turned off is easier, however.) When you're building your own Ensembles, it's a good habit to fill in Help-box information as you go along; you'll be glad you did, and other users of your Ensembles will be grateful.
The toolbar's Compare button (the circular arrow next to the Snapshot's camera icon) is another source of help. After you've made control changes, you can click on the Compare button to get back to where you started. (Compare works individually for each Instrument in an Ensemble.)
Creating a "ground zero" Snapshot can also be useful. This amounts to setting everything to some neutral state so that you can isolate individual parts of the Instrument. For NewsCool, turn all the knobs (except filter LP cutoff and level) fully counterclockwise. Now activate one stage of the sequencer to trigger various combinations of the four synths, and fiddle with the synthesizer knobs to explore the sound structure.
Make it your own. Once you know how to use an Ensemble, you'll start to notice the things it won't do. This is the time to delve into the Structure, where you can often make some surprisingly simple changes.
For NewsCool, one obvious change is to replace some of the sine waves with another sound source. Fig. 2 shows the NewsCool Structure with an inset for the Sine Decays Macro containing the four tone generators. Replacing one of the sine-wave oscillators with an FM sampler and another with noise using a resonant filter, for example, gives NewsCool a whole new life.
A MODULAR APPROACHThough Reaktor has objects called Modules, the program is not a modular-synth emulator in the classic sense. You have to do a fair amount of construction to come up with what would count as a "module" in some other programs. The payback, however, is enormous flexibility: you can create any kind of custom module you can imagine - you are the architect. You can build modular objects at the Macro or Instrument level, but the Macro level is usually the best choice because you can then use the objects and display their controls at either the Instrument or the Ensemble level. (For more information on Reaktor's structure, check out the sidebar "Reaktor Basics.")
The program comes with an extensive library of factory-preset Macros and Instruments, which you'll find in the Essentials folder. In the Users folder are other Macros and Instruments contributed by Reaktor users. These are good starting points for building your own Ensembles; familiarizing yourself with these collections will save you from having to reinvent the wheel each time you create a new Ensemble. But eventually you'll want to build your own custom collection. Here we'll look at creating a Macro from scratch, then combining it with other Macros for a completed Instrument - in this case, an additive synth.
Additive synthesis involves adding sine waves together to create the successive harmonics of a complex waveform. We'll use Reaktor's Multi-Sine Oscillator Module as the basis for a Macro with controls for the number and level of each harmonic and a single output for the resulting waveform (that is, the sum of the individual harmonics).
Ground zero. Start by selecting New Ensemble from Reaktor's File menu. Since our goal is to build an additive-synth Instrument, the first thing we'll need is an empty Instrument - think of this as a box into which you put the various components you're going to hook up. Make the Ensemble Structure window active, and select Instrument from Reaktor's Insert menu. When the Open dialog box appears, select the Instrument named "empty.ism" from the New folder of the Essentials Library's Instruments section. Next, open the Instrument's Structure window and insert an empty Macro by choosing Macros from the Insert menu and then selecting the "empty.mdl" Macro from the New folder of the Essentials Library's Macros section. (Because this is a process you'll repeat often, you may want to save this with the name "New" in the same folder as the Reaktor application. Then each time you choose New Ensemble from the File menu, the Ensemble will automatically include an empty Instrument and Macro.)
Open the empty Macro's structure by double-clicking on it - this is where we're going to create and connect the Modules that make up our basic additive oscillator. Select Multi-Sine from the Modules/Oscillator section of the Insert menu. This will place a Multi-Sine Oscillator Module inside the Macro.
Oscillator ins and outs. Along the right side of the Module you'll see five outputs - one for each of the four harmonics, and another for their combined output. Select Audio Out Port from the Modules/Terminal section of the Insert menu to create an output Module (labeled "Out"). Select Audio Mult 2 from the Modules/+,-,X,/ section of the Insert menu to create a multiplier for two audio signals. This will allow you to control the level of the output with an envelope. Finally, select Audio In Port from the Terminal section of the Insert menu to create an input for the envelope.
Drag these new Modules to the right side of the Multi-Sine Module and connect the Out output of the Multi-Sine Module to the top input of the Audio Mult 2 Module. Double-click on the Audio In Port Module and change its name to "Lvl." Next, "cable" the output of the Audio In Port Module to the bottom input of Audio Mult 2 Module. Now connect the output of Audio Mult 2 to the input of Audio Out Port. This completes the output section.
Along the left side of the Multi-Sine Module you'll see nine inputs - four for the harmonic numbers of each of the harmonics, four for the amplitudes of each of the harmonics, and one at the top for overall pitch. From the Terminal section of the Insert menu, select Event In Port to create an input Module (labeled "In"). Drag this Module adjacent to the P input of the Multi-Sine Module and draw a cable connecting them. Because the input is for pitch, change its label to "P" by double-clicking on the input terminal.
If you now look at the Macro in the Instrument Structure window (up one level from where you've been working), you'll see that it has sprouted inputs labeled "Lvl" and "P" and an output labeled "Out." These correspond to the terminals you just created inside the Macro, and you'll use them to tell the Macro what pitch to play, to control its output with an envelope, and to get its output into the final mix.
Adding some controls. Among the additional things the Macro needs now are some controls for selecting the harmonic numbers and amplitudes. You could create these controls using the Insert menu, but there's an easier way. Open the context menu for each of the Multi-Sine Module's inputs by right-clicking on each in turn (control-clicking on the Mac) and selecting Create Control. (Most Reaktor objects have context menus that you can use for various functions such as naming, typing in comments, and controlling the object's behavior.)
You should now have eight Fader Modules with names matching the Multi-Sine Module's inputs. The matching-names feature is one advantage of creating the Fader Modules from the context menu. Another benefit is that the Fader Modules will automatically have appropriate range and step-size values. You can see these settings in each Fader Module's Properties window.
Double-click on a Fader Module to open its Properties window. Here you can enter a comment in the Info box, which will show up when you or another user mouses over the Fader Module in the Control Panel. You can also control the Fader's appearance in the Properties window. In the Panel Appearance section at the bottom of the window, choose Knob for the harmonic-number controls (it's the default), and Fader for the amplitude controls. Also, for each of the controls, check the Small Design and Visible in Instrument buttons and uncheck the Visible in Ensemble button.
To actually see the controls, you need to open the Instrument's Control Panel. (Remember that the Macro is inside an Instrument.) Go back to the Ensemble Structure window and double-click on the Instrument. You will see an outline of a box with the word "Macro" along its upper-left edge, and eight faders and knobs jumbled together. Rearrange the controls by click-dragging directly on their labels - F1, A1, and so on - until you have a configuration that you like. (Unfortunately, there's no way to format the screen automatically or see a grid against which you can place the controls.)
You now have a complete additive-oscillator Macro with inputs for pitch and envelope, an output for the mix of its four additive sine-wave components, and controls for each sine wave's harmonic number and amplitude. (At this point you should use the Macro's context menu to change its name to "Additive.")
Next we need an envelope.
Off-the-shelf envelopes. Instead of going through the step-by-step process of building an envelope Macro from scratch, save some time and use one supplied in the Reaktor 2.3 Essentials Library. With the Instrument Structure window active, select Macros from the Insert menu and find the folder labeled "Envelopes" in the Macros section of the Essentials Library. Select the ADSR-Envelope.mdl file to load this envelope Macro into the Instrument. (If you have an older version of Reaktor, you will find an envelope Macro with this name, but it functions differently from the new Macro. You should visit the Native Instruments download site for the new Essentials Library.)
The ADSR-Env Macro has inputs labeled "P" and "G" and both event (red) and audio (black) outputs labeled "Out." Cable the event output into the Lvl input of the additive Macro you just created. The P input is for applying keyboard scaling to the envelope's Attack, Decay, Sustain, and Release parameters. The G input is for gating the envelope.
To play the Instrument from a MIDI keyboard (or any other source of MIDI input), you need to get the MIDI note's pitch and gate information to the oscillator and envelope Macros. Select Note Pitch and Gate from the MIDI section of the Insert menu to create MIDI terminals for each. Connect the Note Pitch terminal to the P inputs of both the envelope and oscillator Macros and connect the Gate terminal to the G input of the envelope Macro.
Wrapping it up. An additive synth with four harmonics isn't really adequate, so let's beef it up. Select the oscillator and envelope Macros simultaneously, then copy them using the Edit menu or a key command. Next, create two copies by pasting two times. (Notice that the connection from the envelope output to the oscillator Lvl input is preserved.) Align these copies under the original so that the three envelope/oscillator Macro combinations form a column. Then connect the MIDI terminals to the two copies just as they are connected to the original - Note Pitch to all oscillator and envelope P inputs, and Gate to all envelope G inputs.
We now have 12 harmonics available, with a separate ADSR envelope for each group of four. We also have three separate outputs (one from each oscillator Macro) to combine. Select Audio Add 3 from the +,-,X,/ section of the Insert menu to create an adder for three audio signals. Cable the outputs of the three oscillator Macros into the three terminals on the left of the Audio Add 3 Module. They will now be combined at the single output of Audio Add 3, but we need to get this combined signal out of the Instrument.
If you look in the Instruments Properties window - use the Instruments context menu - you'll see that it is set up for six voices. (This is the empty-Instrument default setting, but you can change it as you wish.) These voices need to be combined before they leave the Instrument, and this is done with an Audio Voice Combiner Module, found in the Auxiliary section of the Insert menu. Use the Terminal section to create an Audio Out Port, and cable the output of the Audio Voice Combiner into it. Now, cable the output of the Audio Add 3 Module into the Audio Voice Combiner Module. (Hang on, as we're nearly done.)
Well, not quite. If you look at the Instrument's Control Panel, you'll see that the three oscillator/envelope combos are overlapping a bit. You should straighten them out by selecting the Macros in oscillator/envelope pairs (click on the name of the Macro) and dragging them into alignment.
Select Show Ensemble from the View menu to look at the Ensemble Structure. You'll see that the Instrument you just built has sprouted an Out terminal. You need to connect this terminal to Reaktor's Audio output to actually play the Instrument - but first set Reaktor's sample rate in the toolbar to 22050 Hz to eliminate any risk of CPU overload. Now you're really done.
Fig. 3 shows the Control Panel and Structure for this Instrument. The inset at the lower left shows the Structure of the additive-oscillator Macro. You can use the Macro's context menu to save it as a Macro for use in other Instruments. Feel free to start jamming now!
EVOLUTION OF AN ENSEMBLENow that we've dissected a factory Ensemble and constructed an additive synth, let's build a complex Ensemble from scratch. This Ensemble will contain several sample-player Instruments with an unusual twist, and it will not be something you're likely to have hanging around the studio. Instead of simply playing a sample forward (or backward), the Instruments will use envelopes and oscillators to follow circuitous paths through the sample file. At subaudio rates this technique produces interesting control envelopes, and at audio rates it yields everything from unusual waveforms to mangled speech and beat loops.
The idea for this Ensemble started with a message on the Reaktor mailing list suggesting that samples often make interesting envelopes. (The mailing list is an excellent source of help, new ideas, and Ensembles - I highly recommend it. You can subscribe at Native Instruments' Web site.) You can download this Ensemble, as well as the other examples in this article, from the EM Web site (www.emusician.com).
All the Instruments in this Ensemble use Reaktor's Sample Lookup Module, whose purpose is to provide the sample value at any position in time. Unlike Reaktor's other sampler Modules, Sample Lookup holds only one sample, which is loaded using the Module's context menu (right-click if you have a PC; Control-click with a Mac). Its Properties dialog box is also limited - you can only select playback quality and choose whether to save the sample with the Module. If you select Poor as the playback quality, the Module will not interpolate between samples, which can result in a useful quantized effect when the sample is used as an envelope.
Position by knob. To understand how the Sample Lookup Module works, create a new Ensemble, open a new Instrument, and select the Sample Lookup Module from the Modules/Sampler menu. This allows you to set up controls for selecting any sample by number (for instance, for finding the value of the 423rd sample). Fig. 4 shows the Control Panel and Structure of such an Instrument. The four knobs in the Sample Number section of the Control Panel let you select the sample by number, and the meters (marked "Pos" and "Val") indicate the sample position and value. The red lamp indicates zero-crossings.
There's not a lot you can do with this Instrument, but it illustrates an important point about Reaktor controls: although you sometimes need to perform a little arithmetic to get them to do exactly what you want, you end up with total control. The Sample Number knobs are a good example. Each of the knob values is multiplied by a power of ten to represent the digits of a five-digit number. The knobs are contained in a Macro (shown at the lower left of Fig. 4); this reduces clutter and provides the Control Panel box and label. To select samples by sample number rather than by time position, the output of the Macro is divided by 44.1, which converts milliseconds to sample numbers when you're using a 44.1 kHz sample rate.
As mentioned earlier, being able to control the sample's playback path with an envelope or oscillator opens up a variety of possibilities. Consider first what happens if you use a linear attack-decay envelope to control the sample position - the attack portion will play the sample forward, and the decay portion will play it backward. The envelope amount will determine how much of the sample is played, and the attack and decay times will control the playback speed. Using an oscillator (LFO or audio rate) instead of an envelope generator, on the other hand, results in looped playback. With an oscillator, the waveform will control (and change) the playback direction, the amplitude will determine how much of the sample is played, and the frequency will set both the playback and loop speed. We'll create examples of both methods.
Position by envelope. Most of Reaktor's envelope generators have logarithmic (start fast, end slow) decay and release segments. Although this can be interesting, the ramp generators - which Reaktor includes in its Envelopes category - make better candidates for sample lookup because they offer linear ramps, more segments, and individual break-point levels. Fig. 5 shows the Structure, Control Panel, and Ramp Generator graphics for a sample-lookup Instrument using two 6-ramp generators linked to provide nine ramp segments and a release phase. (Not all of the ramp segments will provide actual control data.)
The ramp-generator Control Panel has independent level and time controls for each ramp. The level controls select positions within the sample, with values of 0 and 1 corresponding to the beginning and end of the sample, respectively. The time controls actually control the playback rate (or pitch) and are calibrated so that a setting of 1 always corresponds to the natural playback rate of the sample. Because the portion of the sample being played during any segment is the difference between the starting and ending levels, some arithmetic is required for the time knobs. This is performed by the T2 control, shown in the right-hand inset of Fig. 5. It sets the playback time for the segment as a fraction (between 0 and 1) of the natural playback time. The Macro labeled "|x-y|" calculates the length of the segment, and the T2 setting is scaled by this length.
Like the time controls, the Time Scale Macro affects the playback rate and has a range of 0.01 to 10,000 in steps of 0.01. It is used to simultaneously scale all the individual ramp times. The purpose of such a huge range is to accommodate both very short (for example, single-cycle) and very long (say, spoken-phrase and beat-loop) samples. A large time scale will cause a very short sample to work as an envelope; remember, this was the original goal. A nearly neutral time scale - say, between 0.25 and 5 - will cause a very long sample to play back intelligibly; for example, a single ramp-up segment with a time and time scale of 1 will play back the sample normally. Very short time scales used with long samples produce audio-rate signals that are useful for amplitude- and frequency-modulation effects.
For any of this to be interesting, the output of the Sample Lookup Module has to be used for something. One option, useful with long samples, is to simply play back the output directly. The ramp generator then sets a path forward and backward through various segments of the sample, each with its own playback speed. In Fig. 5, the sample is divided into quarters, which are played in reverse order. (ReCycle, anyone?) The other option is to use the output as a modulation source, which works well with either short or long samples.
Position by oscillator. Oscillators also make excellent sample-lookup sources. For example, a simple sawtooth (ramp-up) will create a linear path running forward through the sample. (Keep in mind that although we think of an oscillator as putting out sounds or a control signal, what really comes out of a digital oscillator are numbers. When an oscillator is connected to the Sample Lookup Module's input, these numbers select the sample position.) If the numerical range of the oscillator's output runs from 0 to the sample length, then the entire sample in the Sample Lookup Module will be played. (As you'll see shortly, you can control this range with Reaktor's math Modules.) If the duration of one sawtooth cycle of the oscillator is the same as the sample length, then the sample will play back at its natural speed. Although the sawtooth is the simplest example to understand, other waveforms provide more interesting results.
Fig. 6 shows an Instrument that combines sawtooth and sine waveforms with separate speed and inversion controls. As you can see on the little scope in the Control Panel, this can generate some interesting waveforms. Add a bit of noise to the mix, and you will get some very odd sample-playback paths. Try these paths with single-cycle or multicycle waveforms loaded into the Sample Lookup Module to produce new timbres. Then try mangling speech and loop samples.
Reaktor's oscillators are bipolar, and you need to adjust for this when using them for sample lookup. Their amplitude input (labeled "A" in the Wave Mix Macro at the top of Fig. 6) sets both the positive and negative limits of their output. To scroll through the entire sample, you need to set the oscillator amplitude to half the sample length, then add this same amount to its output. This causes the oscillator's output to range from 0 to the sample length. (The adjustment is the purpose of the /2 and + Modules in the Instrument Structure.) For the oscillator frequency, you start by dividing the sample length (in milliseconds) into 1,000 to get the natural playback frequency, then use the Speed and spd knobs to scale the frequency. This process makes all speeds proportional to the natural playback rate of the sample.
The panel on the right-hand side of Fig. 6 shows a test oscillator with a built-in scope. It consists of a Sine FM Oscillator Module, a modulation input, and a small oscilloscope for monitoring either the incoming modulator signal or the oscillator output. The modulation input is where you connect the modulating signal, which will then be routed to either AM or FM modulation of the carrier oscillator. In the illustration, the Sample Lookup output is routed directly to the output - the scope shows the results. The figure depicts a single-cycle sample (bottom right) played back following the path shown in the Wave Mix Scope (bottom center). You can easily imagine the effect of using this path to control the test oscillator's frequency.
Putting it to work. In addition to providing an interesting source of control-rate envelopes, envelope- and oscillator-generated sample-lookup paths produce a kaleidoscope of unique effects when used with speech, sound effects, and beat-loop samples. Of course, you may discover a completely different technique, and that is the beauty of Reaktor: you can build or download an Ensemble with one thing in mind and wind up with something entirely different.
The best way to put these Instruments to work is to import them into your own Ensembles. (First save them separately using the Save As command in their context menus.) For direct sample playback, they can do with a bit of filtering and effects processing. When using them as modulation sources, you may want to add an envelope for the modulation amount. Don't forget - you can use Reaktor's built-in recorder to capture the result, which you can then load into the Sample Lookup Module and process again.
AKTION AND REAKTIONReaktor provides a sometimes bewildering number of options, and often there are many paths to the same end. To avoid Reaktor meltdown, it helps to have a goal in mind and some idea of the steps to achieve it. On the other hand, doing something unintentionally can produce some of the most interesting and surprising results.
The fastest way to get into the action is to use and analyze the Ensembles that come with Reaktor, especially those in the Premium Library (see the sidebar "Reaktor's Premium Library"). These Ensembles have been designed to cover a wide range of applications and are laid out and annotated for ease of use. They are also an excellent source of Macros and Instruments that you can reuse in your own Ensembles.
A good next step is to start building Macros and Instruments for synthesis methods you are already familiar with. If you're an FM enthusiast, begin by building some FM networks. If additive is your thing, use the examples in the "A Modular Approach" section as a springboard for building an additive synth. The same applies to filters, effects, sampling, sequencing, and the like - starting where you're comfortable is a big advantage.
Finally, there's nothing quite like pursuing some off-the-wall idea (as detailed in the section on sample lookup). This is where Reaktor really comes into its own. You're certain to wind up with something that no one else has ever seen or heard.
Reaktor is a tool of endless variety. Whether you stick with the factory examples, make your own modifications, or build Ensembles from scratch, your exploration will be rewarded with a unique kit of synthesis, sequencing, and audio-processing techniques. And when you come up with something really interesting, please let me know!
Reaktor is a cross-platform (Mac and PC) software application for building synthesizers, samplers, sequencers, and audio effects. The devices you create are called Ensembles, which typically can be used stand-alone, in conjunction with other software, or as VST plug-ins.
Reaktor uses a structural hierarchy at whose top level is the Ensemble. The Ensemble is the finished product - it's what you load into Reaktor or your VST host application. The next level of the hierarchy is the Instrument. Instruments cover a broad range of categories, from synthesizers to sequencers to effects. They have their own Control Panels and are typically fully operational. It's not uncommon to chain Instruments together for complex processing. For example, you might have an FM synthesizer, a sequencer, and several effects processors - all separate Instruments - all using the sequencer to play the synth, whose output is in turn processed by the effects. On the other hand, you would not usually make the oscillators, filters, and envelopes of a synth into separate Instruments; these elements are generally organized at the next level of hierarchy, which is called the Macro.
Macros typically serve the purpose that "modules" do in a modular synth - they are complete, functional units with their own controls, inputs, and outputs. Usually they reside inside an Instrument as the Instrument's building blocks. But Macros can be found anywhere - including inside other Macros - because they also have an organizational function. Anytime you want to eliminate a mess of "cables" and objects or create a structure you can easily duplicate, think Macro.
The lowest level of hierarchy is the Module. Modules are Reaktor's basic building blocks. Oscillators, samplers, envelope generators, step sequencers, mixers, switches, logic and math processors, basic DSP effects - all are Modules. You can use Modules at any level of the hierarchy. You'll find them in Macros and Instruments, and even at the Ensemble level.
You can link Reaktor to other applications (such as your digital audio sequencer), and you can use Reaktor Ensembles as VST 2.0 Instruments or effects. Reaktor will also load and play Standard MIDI Files with sample-accurate synchronization. In addition, you can record Reaktor's output to RAM, save it to disk, and never leave the digital domain.
Reaktor's Premium Library contains 25 painstakingly crafted Ensembles intended to give you a wide variety of synthesizers, samplers, drum machines, and sequencers, as well as an effects processor (called GeekFX). In addition to their eminent playability, they provide excellent examples on which to base your own Ensembles. Each Ensemble in the Premium Library has an associated MIDI file that you can load and play to demo the Ensemble. (If you keep the MIDI file in the same folder as the Ensemble, the file will load automatically, but you need to make sure that Play MIDI File is turned on in the Settings menu.) Here is a brief categorization of the Ensembles in the Premium Library.
Synthesizers. The Ensembles in this section range from the simple, low-CPU-cost 3-oSC to the behemoth Matrix Modular. For beautiful, ethereal sounds, try FritzFM or Uranus, and for a trip to another planet take a listen to Inhuman Logic. Other entrants in this category are ManyMoods (Minimoog emulation), Me2SalEM (Oberheim SEM emulation), and SH-2k (for techno and house music).
Sample players. This category includes sample players with extensive modulation capabilities, such as Cube-X and rAmpler; a waveset player (Nanowave); three variations on granular sample processing (Formantor, Plasma, and Triptonizer); and the loop-mangling RandomStepShifter.
Drum synths. Two of these Ensembles (Drumatik and Gonzzo) are playable drum kits, and the others are full-fledged drum machines. DSQ-32, SineBeats, and NewsCool (discussed in the first section of the main article) derive their drum sounds from sine-wave oscillators. DSQ-32 will be the most familiar, and as its name implies, it features a 32-step sequencer. New Primitive is a hybrid oscillator/sampler-based drum machine, and BeatBreaker rearranges beat loops.
Sequencers. There are two entrants in this category: Cyclane and 6-Pack. Cyclane is a hybrid sine wave-based drum machine and FM-synth note sequencer. 6-Pack features four separate but identical beat-loop players and two identical sequencers for playing short samples. It sounds simple, but don't overlook it.