0% found this document useful (0 votes)
8 views

Leviathan

Uploaded by

Roger Mercader
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

Leviathan

Uploaded by

Roger Mercader
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Leviathan User’s Guide

First Draft, February 23, 2004

Contents

Welcome 2 Oscillators 20
Launching the Ensemble ............................. 2 Oscillator Waveforms................................ 20
Feature Summary........................................ 2 Global Pitch .............................................. 21
Oscillator Controls .................................... 22

Architecture Overview 3
Vector Mixers 23
Audio Path ................................................... 3
Pitch and Gate Path .................................... 4 Enabling Oscillators .................................. 23
Oscillator Overdrive .................................. 23

Sequencers 5
Dual Filter 24
Shared Table Data ...................................... 6
Clock............................................................ 7 Filter 1....................................................... 24
Sequencer Controls..................................... 8 Feed and Morph ....................................... 25
Pattern Designer.......................................... 8 Filter 2....................................................... 25
Phrase Designer........................................ 10

Output and Effects 26


Keyboard and MIDI 11
Output Panel............................................. 26
Keyboard ................................................... 11 Effects....................................................... 26
MIDI Input .................................................. 11

Tutorial One:
Global Controls 12 The Logic Of Event Logic 28
Power ........................................................ 12 Optimizing Software for Hardware ............ 28
Key Scale .................................................. 12 The Simulation Analogy............................ 29
Scope ........................................................ 12 Getting to the Modules.............................. 32

Modulation 13 Index 33
LFOS ......................................................... 13
Envelopes.................................................. 14
Modulation Routing.................................... 15
Multipliers .................................................. 19

Page 1
Welcome

Welcome to Leviathan, a fourth generation Reaktor instru-


ment. This manual describes the features and behavior of
Feature Summary
the default Leviathan configuration. • Sequencer
Leviathan is member of the metamusic series, which are - Global clock with symmetric shuffle
free instruments for Reaktor and Reaktor Session, designed - Step record from MIDI and on-screen keyboard
by Ernest Meyer. If you wish some custom design work - Three sequencers
based on this ensemble or others, please feel free to contact - Three linked pattern and prhase designers
the designer at [email protected]. - Local and shared tables for all sequences and phrases
• Synthesizer
- 96 concurrent modulations with >30 sources
Launching the Ensemble - Click-free selection of modulation source
- One polyphonic and one monophonic LFO
First you probably want to try it out. When you launch the
- One tempo LFO with fadein and fade out
instrument, it starts playing itself automatically.
- Two envelopes with slope modulation
- Four oscillators with >30 waveforms
Launch It Directly! - Ring modulation and dual soft sync
This is a very large instrument, so you should launch it - Suboscillator
directly by double-clicking the ensemble’s icon. If you - Two 4-way vector mixers
try loading it after another ensemble has already loaded, - Two filters with serial and parallel output
your machine’s memory will probably overload and Reak- - Modulation of serial filter feed
tor will probably crash. - Morphing of filter 2 type and overdrive
• Output Effects
Auditioning the Snaps - Low-CPU design throughout
- Stereo output stage with peak and mute
Now if you open the snapshot window, you can click - Pan modulation
through the snaps. Snaps beginning with the same word are - Flange, chorus, stereo tempo delay, and reverb
in the same set. You can change to different snaps in the • Other Features
same set, and you will hear dramatic changes without any - Waveform display
clicks or other interruptions (due to the Metamusical - On-screen keyboard
unique “switchless matrix architecture”). Then you may - Multilevel mapping of key scale
want to read this manual, and perhaps the tutorial at its end. - Sophisticated CPU usage management

Page 2
Architecture Overview

Audio Path
Contour Pitch Horiz Vert Freq Res

Oscillator 1 Vector Filter 1 Sat Limit


Mixer 1 +
FM Sync Env1
FM
Sat
Contour Pitch Pan
Horiz Vert FM Feed
Oscillator 2
Vector Filter 1 Sat Limit Flange
Global Mixer 2
Pitch Contour Pitch Freq Res
Morph Chorus
Oscillator 3

FM Sync Echo
Pitch

Reverb
Oscillator 4
Out

Audio Overview Switchless Matrix


The instrument provides four oscillators with dozens of The heart of this instrument is its switchless matrix archi-
waveforms, including unique mirror, fishtail, and ziggurat tecture, providing 32 modulation sources for each of 22 dif-
shapers. For oscillator 1 and 3, soft synchronization is ferent modulation targets.
available on all waveforms. Ring modulation and “bang • Sources are LFOs, envelopes, sequencer control val-
oscillators” are selectable for oscillator 3 and 4. ues, real-time controllers, and various kinds of com-
All oscillators feed two vector mixers. Each vector mixer pound matrix modulations.
adjusts the oscillator mix into each of two separate filters. • Targets are audio parameters such as Contour, Pitch,
The two FM filters operate both in serial and in parallel, Sync, Horiz, Vert, Freq, Res, Drive, Feed, and Pan.
with adjustable feed from filter 1 to filter 2. Filter 1 is swit- For each target, you can adjust pitch tracking and modula-
chable between more than a dozen filter types. Filter 2 can tion from four other modulation sources. You can adjust the
morph between different filter types and filter drive levels. bimodal modulation amount (bimodal modulations may be
Both filters and the serial feed path include switched satu- positive or negative) separately for each target. For each
ration units. target, moreover, you can change between 32 different
There is optional polyphonic limiting of each filter output sources in real time without interrupting the sound.
prior to the amplitude envelope. The instrument also For each target, modulations are scaled and either clipped
includes simple pan, chorus, echo and reverb units. or mirrored, within adjustable ranges.

Page 3
Pitch and Gate Path
Screen Arpeggiator Arpeggiator Global Pitch
Keyboard Transpose
Sequencer 1 Scale Map
MIDI Glide
Sequencer 2
Pitch Track

Sequencer 3 Modulate

Oscillator 1 Oscillator 2 Oscillator 3 Oscillator 4 Env1 Env2


Transpose Transpose Transpose
Scale Map Scale Map Scale Map
Pitch Track Pitch Track Pitch Track
Modulate Modulate Modulate

Mixing and Filtering X Out

Sequencer Routing Synthesizer Routing


In step-record mode, the sequencers can receive notes from The global pitch section first applies any pitch transposi-
the on-screen keyboard and external MIDI, as follows: tion, then passes notes to the scale mapper. The scale map-
• For the pitch data, each sequencer can generate one per can optionally force pitches to different key scales.
note at each step. Each sequencer can transpose its own After scale mapping, pitch data is sent through the glide
output overall. Also, each sequence contains a generation circuit, then sent to pitch tracking. Pitch track-
sequence of patterns called phrases. The sequencer can ing can adjust overall tracking not only for output pitch, but
transpose each phrase by a different amount. also for any pitch modulation applied to other sound
• Each sequencer can generate gates of any length. While parameters.
each sequencer can only create one, single note-on Oscillator 1 directly uses the global pitch for its own pitch,
event in each step, the duration of the generated notes without further modification. The other three oscillators
may be longer than the step cycle. So the sequencer can each apply their own pitch offset to the global pitch.
output is actually polyphonic. After any local transposition, each oscillator can optionally
Pitch and velocity go directly to the synth as modulation apply its own keyscale mapping to transposed pitch values.
sources, and in parallel pass to the voice merge macro. The Then the oscillators each provide their own individual pitch
voice merge macro combines all the data from the sequenc- tracking and modulation.circuits.
ers, on-screen keyboard, and incoming MIDI. The voices Pitch data is also sent to the envelopes, which can adjust
are allocated on a least-recently used basis, so a fast both their attack time and overall ADSR shape in response
sequence from one sequencer or MIDI does not steal voices to note pitch. Global pitch and envelope data are routed
from other sources. throughout the instrument as modulation sources. After
The merged voices pass through an optional arpeggiator, mixing and filtering, the audio envelope is applied to the
then enter the audio synthesizer. resulting signal mix, providing clean envelope shaping of
the overall sound.

Page 4
Sequencers
Pitch Gate Cntrller
Sequencer C
Batch Copy
and Sequencer B
Background
Sequencer A Voice
Sync
Merge
Local Bank of 8 Patterns

Shared Data Pattern


Designer Arpeggiator

Pattern
6 Banks MIDI
0f 8 Pitch
Patterns Velocity
Duration 8 patterns On-Screen Keyboard
each with 16 steps

Phrase Designer
Clock
Pattern Transpose
6 Select
Phrases Note Duration
Pattern
Repeat Tempo
Up to 8 phrases in a sequence

Local Sequence of 8 Phrases


File Load/Save

The three sequencers (A, B, and C) are identical in func- may repeat up to eight times. Each phrase can also add
tionality. Although the structure seems complicated at first, its own transposition, note duration, and tempo factors.
it is very easy to use once you understand it. • The phrase settings for each sequencer comprise its
Fundamentally, a sequence is an ordered set if phrases, sequence. The Phrase Designers let you view and
built upon a bank of patterns, as follows: modify the current pattern sequence in each sequencer.
• Each pattern contains 16 steps. Each step has its own • The phrase designer lets you set up to eight phrases in
pitch, velocity, and duration. The Pattern Designers any sequence. Each sequencer can store the phrase set-
lets you view and modify the steps of the currently tings its own local sequence, or apply changes to one of
selected pattern. 6 shared sequences.
• Patterns are contained in banks. Each bank contains 8 The ensemble keeps shared banks and sequences in a single
patterns. Each sequencer can use its own local bank, or shared table. If two sequencers use the same shared bank
one of the 6 shared banks. and/or shared sequence, then changing the table data in one
sequencer causes exactly the same change to appear auto-
• Each sequencer also has up to eight phrases. Each
matically in the other sequencer. This feature is referred to
phrase is based on one pattern from the sequencer’s
as shared table data, as the next sections describe in more
currently selected bank. The pattern in any one phrase
detail.
Page 5
Shared Table Data can edit the other one, then when you got it just right, sim-
ply change the bank of the playing sequencer to the one you
Each sequencer has a local pattern bank (Bank 0) and local just edited. Then the edited bank starts playing on the next
sequence (Sequence 0). Alternatively, any sequencer can step. Changing banks or sequences does not interrupt the
use one of the 6 shared pattern banks (1~6) and/or one of step counters; the next step plays as if there was no change.
the 6 shared sequences (1~6).
To use shared data, simply set a sequencer’s bank and/or Batch Load and Save
sequence to any slot 1 through 6. When two sequencers use
the same slot, then changing the tables in one sequencer
automatically changes the other. Also, the ensemble stores
all shared banks and sequences in one giant table. This
means that you can load and save one single table file that
contains all shared patterns and sequences for all three
sequencers!
To use local data, simply set the sequencers to use Bank 0
and Sequence 0. These slots are not shared or stored in a
unified table, but are still stored in the ensemble. These Shared table data is very useful if you like a set of
local data slots are unique in each of the three sequencers, sequences, and you want to save the sequence data, then
and edits to them are not automatically updated in the other load it at another time. Also you can transfer partial data
sequencers (you can still copy local slots to other sequenc- sets between files.
ers manually). To load or save the shared table data, simply right-click on
the Shared Memory table thumbnail, then select the appro-
Using Shared Data priate item from the File context menu.

While the ensemble is active, it continuously scans the pat- When saving the shared table, the resulting file contains all
tern designers and phrase designers in the background, pitch, velocity, and note duration table data for all the pat-
watching for any changes. Changes to shared data are terns in all shared banks. Also, it contains all the shared
immediately written to the shared data table, and also, any table data for all shared sequences.
other sequencers using the same shared data are updated When loading a data file, any shared data currently loaded
with the change. The best way to understand this is to set in the sequencers will be preserved. All other previous
all the sequencers to the same pattern bank and phrase shared data will be overwritten with the new data from the
sequence. Then if you edit any table, you’ll see the same file. This lets you transfer data sets between files, as fol-
change occur automatically in the same table for all the lows.
other sequencers.
Transferring Data between Saved Files. First set all
There’s a number of good performance uses for shared Bank and Seq knobs to 0, and load one of the files. Now set
data: the Bank and Seq knobs to the slots you wish to keep, and
Playing Chords. Set all three pattern designers to the then load the other file. The shared slots from the first file
same pattern in the same bank. Now transpose each of the will be preserved, but the other slots will contain data from
sequencers by different amounts. This plays a pattern of the second file. You can now save a new shared table file
repeating three-note chords. Then, if you edit a step in any which contains data from both files.
one sequencer, then the same change is applied to all the Loading All Saved Data. If you want to load all the data
other sequencers immediately, so the entire chord changes from a shared table file, then set the bank and sequence
for that step. knobs for all sequencers to bank 0 and Sequence 0. Then
Editing Massively Long Sequences. Set all the when you load the shared data table, all data from the file
sequencers to use the same pattern bank, but display differ- will be loaded.
ent patterns in each sequencer. Then one phrase designer Saving Local Data to a Shared File. Using the Batch
can sequence through the three displayed patterns. This Copy commands (described later), copy the local bank data
would let you edit up to 48 steps in one chained sequence. (bank 0) and/or local sequence data (sequence 0) to one of
Offline Pattern Editing. You can set two sequencers to the shared locations. Then you can load and save the local
use different pattern banks, but only play one of them. You data in the global data file.

Page 6
Cross-Table Edits When loading a snapshot (and when launching Reaktor),
the sequencer simply loads the bank selected by the snap-
The context menus in the Reaktor tables let you copy and shot’s stored setting for the pattern designer’s bank knob.
paste parts of the displayed pattern and phrase table data
When changing snapshots, a sequencer is unaffected if its
between the sequencers. Using the table context menu, first
Bank and Seq settings are the same as for the previous
set the source and target table to Select Mode. Now high-
snapshot. If Bank or Seq are different, then the sequencer
light the desired region in any one table and right-click in
loads new banks and sequences in real time.
the region. Select Copy. Then select the target area in the
target table and select Paste. Snap changes do not affect the clock or current step. The
sequencer remembers the current step across snap changes,
Note the context menus provide other manipulations for
regardless whether the bank and sequence knobs are the
modifying the data in any one table.
same or different. The next step will play just as if there
was no snap change at all! This lets you use snap changes
Batch Copy to modify a sound without changing the sequence patterns,
or alternatively, change sequences without affecting the
sound.
Note that the shared data is not specific per snapshot. For
example, if you change a pattern for one snapshot and
another snapshot uses the same pattern, then the same pat-
tern changes in the other snapshot also. Actually, this is
very useful, because you can make global changes to a pat-
tern for a set of snapshots. If you want to preserve data for a
set of snapshots, then it’s easy to do this using the global
Load and Save.

As each sequencer contains multiple banks and tables, it


would takes a long time to copy all the data from one
Clock
sequencer to another using the table context menu (eight
patterns of pitch data; eight patterns of velocity data; eight
patterns of note duration data; and five phrase tables). The
Shared Data Table section therefore provides controls to
batch-copy data from any one sequencer to another.
You can choose whether to copy:
• Pattern - Copies just the visible pattern.
• Pat Bank - copies the bank of eight patterns.
• Phrases - copies the table settings in the phrase
designer.
• Everything - Copies both the pattern bank and the con- The Clock section provides the following controls for the
tents of the phrase designer. global clock, used throughout the sequencer and synthe-
sizer:
Make sure the source sequencer shows up in the From list
box, and the target sequencer in the To list box. Now press Run. Starts/stops the clock, regardless whether using an
the Go button. The change is instantaneous. internal or external clock source. If using an external clock
source, the external clock must also be enabled, indepen-
Snap Changes dent of enabling this button.
Auto. Auto-trigger on startup and snap change. When
There is no need to save a snapshot to store any table
turned on, the Run button turns itself on automatically upon
changes. Table data is automatically saved, independent of
ensemble launch and snap change. (If the clock is already
the snapshot. Be aware if two snaps use the same table data,
running before snap change, the Auto button has no effect).
then changing the table data for one snap will change the
other snap. int/ext. selects clock source (internal or external).

Page 7
Bpm. Sets the internal clock bpm (assuming 4/4 tempo). If Fine. Sets a small pitch offset of less than +/-1 semitone.
using an external clock, this control has no effect.
Tempo. Sets the base tempo of the sequence. In the tempo
shuf. Symmetric shuffle, applied to individual steps in list, the acronym D (such as 1/1 D) refers to dotted inter-
each sequencer. Setting to 0 results in no shuffle. Negative vals, and the acronym T (such as 1/4T) refers to triplet
values delay odd steps; positive values delay even steps. intervals. Note that the phrase designer may also scale the
For example, setting to 0.25 delays even steps by 25%. tempo for any particular sequence.
Reset. Sends a global reset, which is useful if using an Bank. Sets the current pattern bank (0 is the local bank,
external MIDI source and some stuck notes have occurred banks 1-16 are shared between the sequencers).
(generally reset is not required otherwise).
Pat. Sets the current pattern (there are 8 patterns in each
tick. Displays the number of clock ticks since start. bank). The current pattern shows up in the pattern designer.
The Pat knob is also linked to the phrase designer, and the
beat. Displays the number of beats since start.
knob changes its position automatically when the phrase
designer changes the current pattern.
Sequencer Controls
Pattern Designer

The Pattern Designer in each sequencer lets you view and


modify the steps of any pattern in the currently selected
bank.
Each sequencer has the following main controls:
When playing, the green cursor is positioned before the
Play. When turned on, the sequencer starts playing from current step, and the purple cursor is positioned after the
step 0. last step in the pattern (as set by the Slen knob.
Cntl. If disabled, the sequencer sends pitch and gate infor- By default, the pattern tables are in Draw mode, which lets
mation to both Voice Merge, and to the modulation matrix you modify each parameter in each step of the pattern by
as modulation controller data. If turned on, pitch and gate dragging the respective bar up or down. You can change the
information is only sent as controller data, and the pitch and tables to Select Mode, then perform transformations to
gate data do not trigger new events. groups of values, by right clicking on the tables and using
Slen. Sets the number of steps in the pattern. When Step the context menu.
Record is turned off, the purple line in the pattern tables is The ensemble samples the data for each step once at the
positioned after the last step in the pattern, as set by this beginning of the step. After the note for that step has been
knob. triggered, any changes to that step, or to global parameters,
appear on the screen immediately, but the output values for
Xpos. Sets a transposition value, in semitones, over a +/-2
the current step don’t change (because its values have
octave range. Transposition is applied after any phrase
already been sampled). Changes are applied to the output at
transpositions, but before pitch mapping of the output.
the onset of the next step. This lets you adjust parameters
When you change the Xpos knob, the resulting pitch names
between steps without losing the sequence tempo.
for each step in the pattern designer update automatically to
show the output pitch after transposition and key scaling. There are three parameters for each step in each pattern, as
follows.

Page 8
Pitch. The top table sets the base pitch for each step, prior pitch and gate controller values drop to zero for the set
to key scaling and transposition. interval, before the next step commences.
Below each step in the pitch table is the note name for that Note that the phrase designer (if enabled) may scale the
step, after key scaling and transposition. When the pattern overall duration settings.
or sequence is transposed or key-scaled, then the note name
below the table changes dynamically, to show the actual Step Record
output note!
Key scale mapping uses Bubu's excellent scale mapper,
with some modifications to improve performance and han-
dling of fine tuning.
Velocity. The middle table controls the velocity for each
step. Output is between 0 and 1. If the column is set to its
bottom-most value, step velocity is zero, in which case, the
sequencer does not send a note-on event to the sequencer In record mode, the pattern designer can step-record pitch
for that step (however a value of zero is still sent as a con- and velocity information from external MIDI, as well as
troller value to the modulation matrix). pitch information from the on-screen keyboard. When
using the on-screen keyboard, velocity for each recorded
Duration. The bottom table controls the note duration for step is hard-wired to 0.5.
each step. Values are between 0 and 1, quantized into 4
steps. By default, step record is Off. To enable step record, set the
toggle button to A, B, or C. This selects sequencer A,
• When set to the middle (default) value of 0.5, the dura- sequencer B, or sequencer C as the target for incoming
tion exactly follows tempo. notes. (If the target is set to use shared memory and another
• When set to 0.25, note duration is half the step interval sequencer is using the same shared memory, then the notes
(as set by tempo). will also appear in the other sequencers).
• When set to 0, note duration is one quarter the step When you enable step record, the record cursor (the purple
interval. cursor) is positioned before the first step for the currently
• When set to 0.75, note duration is 1.5x the step inter- selected pattern. Also, all transposition and key scaling is
val. disabled, so that exactly the recorded note appears in the
sequencer (and is heard when recorded).
• When set to 1.0, note duration is twice the step interval.
The cursor advances automatically after a note is received,
Note duration has different effects on the note output
and the pattern advances automatically to the next pattern
(which are fully polyphonic notes) and controller values
after the last step in the current pattern (as set by the Slen
sent to the synthesizer modulation matrix (which are series
knob). This lets you quickly enter a set of notes into multi-
of monophonic values).
ple patterns.
• For notes, the duration directly sets the period between
note-on and note-off events. If a note is longer than the Key Scale
tempo interval, then the prior note continues to play
after the next note starts, without either note cutting The Key Scale list box is in the lower left corner of the B
each other off (note output is fully polyphonic). panel. All three sequencers use this common setting for
• When using sequencer pitch or gate values as mono- mapping pitch values to key scale.
phonic controller values in the modulation matrix, then When you change the key scale mapping, the displayed
note durations longer than the tempo interval are pitch names in the sequencer Pattern Designer panels auto-
ignored. With duration set to 1.0 or higher, pitch and matically update with the resulting pitch names.
gate controller values directly change to their next step
value upon step advance. With lower durations, the

Page 9
Phrase Designer

Each sequencer contains its own phrase designer. When Phrase Transpose. Sets a transposition (of +/-24 semi-
enabled, the phrase designer controls which pattern is cur- tones) applied to the current phrase. The default middle
rently playing from the sequencer’s pattern bank. The position applies no transposition.
phrase designers also control how many times a pattern
repeats before moving to the next pattern. During each pat- Note Tempo. Scales the sequencer tempo for the current
tern playback, the phrase designers additionally can trans- pattern. With the default middle position, the phrase uses
pose pitch, scale the tempo, and/or scale note duration. exactly the tempo for the sequencer. Higher values speed
up the tempo. Lower values slow down the tempo.
The phrase designer contains the following controls for up
to eight phrases: Note Duration. Scales the duration of notes for the cur-
rent pattern. With the default middle position, the phrase
On. Enables the phrase designer. If the phrase sequencer is uses exactly the note durations as set in the pattern. Higher
turned off, the currently displayed pattern in the pattern values scale the duration to longer periods; lower values
designer loops continuously. When turned on, the phrase scale the duration to shorter periods.
sequencer steps through the phrases.
Values for Note Tempo and Note Duration are between 0
Step. Displays the current step. and 1, with 0.5 being the middle default value. Values are
Repeat. Displays the number of times that the pattern for scaled using the same shaper circuit, as follows:
the current phrase has repeated (between 0 and 7)
Phrase. Displays the current phrase.
Seq. Sets the sequence to use for this sequencer. The
sequence may be the local sequence (seq 0) or one of the
shared sequences (seq 1~32). The settings for all the phrase
tables are stored in each of the sequence locations.
Pattern for this phrase. Selects the pattern to use for
the current phrase. Each phrase can use any of the eight
patterns from the current pattern bank.
Repeats. Sets the number of times that the phrase’s pat-
tern repeats before moving to the next phrase. If set to 0, Thus, when the column in the note duration or phrase table
then the phrase sequencer returns to the first phrase when is set to its highest value, source values are increased by a
the sequencer reaches that step. If the first phrase is set to factor of 4. When set to its lowest value, source values are
zero, then the sequencer uses the currently selected pattern. reduced by a factor of 8.

Page 10
Keyboard and MIDI

Keyboard MIDI Input


The keyboard displays any playing notes, showing relative
velocity for each note as shades of gray. The darker the
gray, the lower the velocity.
You can also play and record from the keyboard. Simply
click on the desired key and the corresponding note plays
for a second or so, then turns itself off.
When step recording, the keyboard sends note pitch for any
MIDI pitch and gate data is routed to the synth and
clicked key to the respective sequencer.
sequencers. When step recording, the note plays while
holding down the key, and the pitch and gate information is
Pitch Bend sent to the respective sequencer.
To the left of the keyboard is a slider labeled Bend. The last
value from either this slider or incoming MIDI bend data is Hold
available throughout the synth as a mod source.
When activated, Hold causes all incoming MIDI notes to
Bend is bipolar: center position on the slider is no bend; be sustained until all notes are released and the first new
higher values increase bend value; lower values decrease note is received.
bend value.
Arpeggiator
Mod Wheel
The vertical slider labeled Whl sets the mod wheel level.
The frq knob next to the modwheel slider sets the LFO fre-
quency, with resulting output as follows:
• If the LFO frq knob is set to 0, then LFO modulation is
turned off. Instead, the last value from either this slider
or incoming MIDI mod wheel data is directly available The arpeggiator provides polyphonic arpeggiation of all
throughout the synth. active notes. Arpeggiation strictly follows the order of
notes received. ClockDiv sets the note frequency by defin-
In this case, the mod wheel source is unipolar. Setting ing a division of the global clock rate. Gate length is half of
the slider to its bottom causes mod wheel value to be clockdiv.
zero; at the top, mod wheel level is at its max level.
With MIDI Hold enabled, you can keep one note playing
• If the frq knob is set higher than 0, then a bipolar LFO and add notes to the arpeggio without holding down all the
modulation is instead available in the synth as the mod- rest of the keys. Then when you release all the keys, the
wheel source. pitch pattern continues to play and you can modify its
The Whl slider and incoming mod wheel data sets the tonality. When you want a new note, after releasing all
base level of the modulation; the frq knob sets the LFO notes, play one or more new ones. Immediately the new
frequency. arpeggio starts.

Page 11
Global Controls

Power Without the switchless modulation architecture, similar


designs yielded CPU usage in excess of 80%, even on the B
panel. Thus, the instrument’s switchless modulation archi-
tecture easily increases performance four-fold.
The power control adjusts the CPU load, as follows: Higher performance CPUs can support much more sophis-
Tiny. A four-phase clock spreads overall processing over ticated oscillator and effect configurations. With a 2.8GHz
four consecutive control-rate cycles, reducing CPU peaks. Pentium 4 on a Hercules 3D Prophet II MX, a similar Small
Output values are updated at one quarter the control rate. configuration uses only ~11% of available CPU.
CPU usage is <30% of normal; however, with slow attack
envelopes or fast note runs, new notes may briefly begin
with the pitch of a previous note. The resulting audio arte- Key Scale
facts (effecting filter as well as pitch) are sometimes pleas-
ing, but often undesirable.
The pitch mapper can force all incoming pitch values to a
Small. Same as Tiny, but in addition, a note-on event
particular category of key scale (major, minor, etc.). Also,
causes all envelopes and gain levels to be completely recal-
pitch mapping may be enabled for the pitch offset of oscil-
culated in the one cycle. This provides low CPU without
lators 2 and 3.
audio artefacts, and is most often the preferable setting.
However, fast note runs can significantly increase CPU Selecting the “chromatic” option disables pitch mapping.
usage. Notes passed into the pitch mapper are quantized to the
Reduced. Same as Small, but with two-phase rather than nearest whole pitch value. Then, any difference from the
four-phase clocking. So, all values are updated at half the whole pitch value is added back to the output value, after
control rate, rather than one quarter the control rate. Note- pitch mapping. So, the mapper correctly preserves pitches
on events still force a complete update of output values. for slightly detuned voices. The design is similar to Bubu’s
in the Reaktor user library, but pitch is quantized, rather
Normal. All values are calculated every control-rate than using modulo values, for properly detuned voices.
cycle, regardless when new notes are received. Also, the internal pitch table is expanded to cover the entire
Internally, the instrument’s switchless modulation architec- pitch range, eliminating a modulo division by 12. This
ture only scales a modulation if the modulation amount is especially increases performance for rapid note runs on
not zero (so setting modulation amounts to zero somewhat Celeron machines.
reduces CPU load). Also, it uses latched accumulators,
instead of adders, to sum up multiple modulations. These
techniques eliminate unnecessary recalculations for unused Scope
modulation sources, monophonic modulations, and also for
circuitry after the modulation summing. Otherwise, as each
modulation changes, all downstream values would be
entirely (and unnecessarily) recalculated.
Actual CPU usage is higher than reported by Reaktor, and
can be much lower when displaying the B panel than the A
panel (depending on the graphics card). Low-end perfor-
mance tests were performed on a 1.6 GHz Pentium 4 (with
a Matrox G450 graphics card) running Windows XP, on 8
A scope can display any of the oscillators, either of the
voices, 44.1kHz audio, and 400Hz control rate. With two
morph mixer outputs, or either of the filter outputs for the
oscillators, both filters enabled, no saturation, tempo delay,
last voice. Also it can display the output for the left or right
and all other effects disabled, the Windows Task Manager
channel; or it can be turned off to save CPU. The Y slider
reported Normal CPU usage of ~50%; but Small CPU utili-
scales the displayed waveform vertically; horizontal resolu-
zation was only ~21% for the B panel (increasing to ~31%
tion is scaled to match the pitch of the source voice.
for the A panel).
Page 12
Modulation

LFOs tings, LFO frequency is different for each voice. See the
instrument tooltips for more specific information.
Sync. When enabled, the LFO restarts for each voice when
the amplitude envelope restarts for that voice.

LFO2
LFO2 is a monophonic LFO with the following waveforms
available at all modulation destinations:
• Parabolic - Symmetry controlled by shape knob.
• Triangle/saw - Symmetry controlled by shape knob,
with center position providing triangle; left is down
As well as a simple, dedicated LFO for the mod wheel saw; right is up saw. Note that the bimodal modulation
(described for the keyboard panel) there are three complex matrix permits inversion of these waveforms at differ-
LFOs. ent destinations.
• Pulse - Width ratio controlled by shape knob.
LFO1 • Ladder - The triangle/saw waveform is sampled at a
periodic interval and held, generating either an ascend-
LFO1 is a polyphonic LFO with the following waveforms
ing staircase, descending staircase, or ziggurat wave-
available at all modulation destinations:
form.
• Parabolic - Symmetry controlled by shape knob. • Random - A noise source is sampled at various inter-
• Triangle/saw - Symmetry controlled by shape knob, vals. The range or randomness for the noise source can
with center position providing triangle; left is down also be controlled.
saw; right is up saw. Note that the bimodal modulation • Up Ramp - An inverted saw waveform that is unaf-
matrix permits inversion of these waveforms at differ- fected by the position of the shape knob.
ent destinations.
• Down ramp - A saw waveform that is unaffected by
• Pulse - Width ratio controlled by shape knob. the position of the shape knob.
• Sample and hold - The triangle/saw waveform is sam- The LFO1 panel provides the following controls:
pled when the amplitude envelope restarts for each
voice. Freq. The vertical axis of this XY control sets the base fre-
• Down ramp - A saw waveform that is unaffected by quency of the LFO. The XY control also displays the cur-
the position of the shape knob. rent output value as a horizontal line. The horizontal value
for the XY control has no effect.
The LFO1 panel provides the following controls:
Shape. Controls the width ratio of the parabolic, triangle,
Freq. The vertical axis of this XY control sets the base fre- and pulse waveforms. When centered, the output wave-
quency of the LFO. The current level for each voice is dis- forms are symmetric.
played as horizontal lines within the XY control. The
horizontal value for the XY control has no effect. For the staircase waveforms, the shape knob controls
whether the ladder steps up, down, or in both directions.
Shape. Controls the width ratio of the parabolic, triangle, When centered, the output steps up and down at the same
and pulse waveforms. When centered, the output wave- rate. At other values the up/down frequency is distorted.
forms are symmetric. The shape knob has no effect on the
ramp down waveforms. Step. For the ladder waveform, controls the number of
steps within each LFO cycle. For the random waveform,
Spread. Spreads the frequency of the LFO to a different controls the range of randomness.
value for each voice. When fully turned left, the LFO2 for
all voices have exactly the same frequency. At higher set-

Page 13
Sync. When enabled, the monophonic LFO restarts when
the amplitude envelope restarts for any voice.
Envelopes
Tempo LFO

There are two standard ADSR envelopes (as well as an AR


The tempo LFO operates at a fixed ratio of the clock envelope in the tempo LFO).
period, and additionally provides controls for fading in and The amp envelope is also available as the Envelope 1 mod-
fading out the LFO waveform. If desired, the fade-in and ulation source throughout the instrument. Envelope 2 is
fade-out can be used as an additional envelope. also available as a general modulation source. For both
The following waveforms are available from the tempo envelopes, modulation is available with gate set to a fixed
LFO as modulations: value of 1 (so that the envelope has a uniform gain), and
with gate set to velocity (so that envelope gain tracks veloc-
• Sine - Actually a parabolic waveform with symmetry ity).
controlled by shape knob.
The envelopes both display the current waveform for the
• Linear - Triangle/Saw waveform with symmetry con- envelope of voice 1 (the envelope for each voice may be
trolled by shape knob: center position is triangle; left is different, depending on the settings). In addition, the enve-
down saw; right is up saw. Note that the bimodal mod- lopes provide the following controls, including some spe-
ulation matrix permits inversion of these waveforms at cial controls inspired by the BTS synth in the Reaktor
different destinations. library:
• Pulse - Width ratio controlled by shape knob.
A. Attack time.
The Tempo LFO has the following controls:
D. Delay time.
Freq. The vertical axis of this XY control simply displays
the current level for each voice as horizontal lines. This XY S. Sustain time.
strip provides no control functionality. R. Release time.
Tempo. Sets the frequency of the LFO as a multiple of the vel. Scales envelope 1 velocity throughout the instrument.
global clock. If set to ENV only, the tempo LFO functions In its center position, velocity is exactly that received.
purely functions as an AR envelope. When turned full right, velocity is twice that received. turn-
Attack. Sets the fade-in time of the LFO as a multiple of ing this knob left of center causes the relative difference in
the global clock. When set to 0, the fade-in is disabled. velocity values to decrease. When turned full left, velocity
With other values, the amplitude of the LFO linearly is fixed at 0.5.
increases, reaching unity gain at set tempo period. p>e. Pitch to envelope scaling. When this knob is in its
Release. Sets the fade-out time of the LFO. this is similar center position, pitch has no effect on the envelope shape.
to the Attack, but fade out commences when the gate signal When this knob is to the right of center, pitch of higher
for a voice drops to zero. notes increase the attack, decay, and release of the envelope
(lengthening the envelope shape). When to the left, higher
Shape. Controls the width ratio of all the tempo LFO notes shorten the overall envelope shape.
waveforms. When centered, the output waveforms are sym-
metric. v>a. Velocity to attack-time scaling. When this knob is in
its center position, velocity has no effect on the attack time.
Sync. When enabled, the LFO phase resets for each voice Higher values cause higher velocities to increase attack
when the amplitude envelope restarts for that voice. time; lower values cause higher velocities to reduce attack
time.

Page 14
Modulation Routing

Source B XY Value

Source A
E1 Amount A
E2 Polyphonic
X
VEL
E1V
E2V Amount B
L1S Polyphonic
X
L1T
L1P Source D
L1H
Source C
+
L1D Amount C
M1 L2S X
O3C L2T Monophonic
O3S L2P
TLI L2L Amount D
TLS L2R
X
TLP L2U Monophonic
L2D
Pitch Track
WHL
BND Center
scale X
AFT
S1P
S1V
S2P
S2V Gain & Scale
M2 Pitch Dest
Range
Clip/Mirror
Range

A switchless modulation matrix permits the selection and • The sliders and associated screen controls constrain
adjustment of many different modulation sources. The and modulate the parameter. There are a standard set of
architecture uses a similar design for all modulation desti- generic controls for each modulation target:
nations. As summarized in the above diagram, modulation • A Range bar
routing is as follows:
• A Clip button
• There is a large XY control to set a base value (prior to
• A Gain knob
modulation) for one parameter horizontally, and
another parameter vertically. • One pitch tracking slider (P)
• The XY control also displays the current values for all • Four modulation sliders (A, B, C, and D)
voices (shown as crosses or rectangles, depending on • Four modulation source list boxes (A, B, C, and D)
the parameter).
• Two Value displays.
The following screenshot labels the above controls for
the vertical parameter of an XY panel.

Page 15
Also, XY values and modulation amounts are scaled by the
Offset Range Source range. For example, if the range is set to between 0.5 and
1.0, then placing the crosshair in the middle of the XY
X Value Y Value Clip
Amount Gain panel sets the base value to half way between 0.5 and 1.0
(which is 0.75).
Restricting the range is useful, for example, when you wish
to stop very high resonance values; simply restrict the reso-
nance range accordingly.
The gain, the modulation amounts, and the base XY values
are all scaled by range settings. This means you can easily
“zoom in” on a particular zone (perhaps particular filter fre-
quency and resonance ranges), and obtain very fine control
of the base value and modulations within that range.

Gain
The gain knob scales the modulations (A, B, C, D, and P).
For example, if the range is 0 to 1, and a modulation’s
amount is 25%, then setting gain to 1 yields a modulation
amount of 25%; setting gain to 2 yields a modulation of
50%; and so on.
The following subsections describe the above generic con- When you change the range settings, the gain is scaled pro-
trols. protionally. However, you can still set gain so that modula-
tions intentionally exceed the range. This lets you
X Value and Y Value intentionally clip or mirror the modulations.

By default, these two numeric displays show the current


value of the X and Y parameters of the large XY panel.
Clip/Mirror
After moving any slider or knob associated with this XY When the Clip button is on, the output value is clipped
panel, the instrument displays the most recent value of the within the set range.
slider or knob in these status meters, for a short period. When off, the modulations are instead mirrored using a
When adjusting the range slider, these controls show the fully recursive algorithm, best shown in an illustration (see
minimum and maximum range for a short period. After the below). On the left, the modulation amount is within the
short period, the numeric displays revert to showing the range settings, so it passes through without change. The
current XY panel values. middle waveform shows what happens if the upper range is
Modulation amounts are always shown as percentages. slightly lower: when the modulation exceeds the upper
range, the output’s mirrored once. On the right, you can see
These two meters save a significant amount of screen real
what happens if the upper range is lowered even more.
estate over displaying the specific value for every single
When the source first exceeds the upper range, it gets mir-
slider or knob, and at the same time provide the same
rored just once; then when the modulation is so large that
amount of useful information.
the mirrored value exceeds the lower range, then it gets
mirrored again (recursive mirroring):
Range
You can adjust the position of both ends of the Range bar. Mirroring Recursive
The bar position is saved with the snapshot, and also Mirroring
through some special circuitry, the previous bar positions
upon exit/restart are properly restored.
The Range bar is important, because it absolutely limits the
output range. For example, if the ends of the bar are set at
0.5 and 1.0, then the output value will always be between This permits many interesting sound possibilities, with
0.5 and 1.0, regardless of gain and modulation amounts. multiple modulations bouncing around.

Page 16
Pitch Tracking For all modulation sliders, the center position is neutral
(off). All modulations are bipolar. This means the modula-
For the pitch tracking slider (P), behavior is different tion may be positive or negative, depending which way you
depending on the destination: move the slider.
• For oscillator pitch and filter frequency, the center
position causes pitch to track uniformly with the source Modulation List Boxes
pitch (at unity gain). At higher values, higher pitches
are greater and lower pitches are less. At lower values, These lists select a modulation source for each slider,
the pitch is reversed, so that higher pitches result in a arranged in a stack. The top list box chooses the modula-
lower value, and vice versa. tion source for slider A, the next one chooses the modula-
tion source for slider B, and so on.
• For destinations besides pitch and frequency, there is
no modulation by a note’s pitch value when the P slider Note that these list boxes are, in Reaktor terms, “lists” and
is in its center position. At higher values for the P not “switches.” Changing any modulation source does not
slider, higher note pitches increase the output value. At interrupt the sound. All modulation sources are available
lower values, higher note pitches reduce the output throughout the instrument without using any switches!
value. A and B are polyphonic sources; C and D are monophonic
sources. There are 15 sources for each, described in the fol-
Modulation Sliders lowing tables.

The four modulation sliders (A, B, C, and D) set the


amount of the modulation applied to the target from the
selected modulation source.
Polyphonic Sources
E1 Amplitude envelope, with a fixed gate of +1.0 maximum, and 0 minimum. At the end of the envelope’s attack
phase, the output value is always 1; sustain is always the same level, no matter what the note’s velocity.
E2 Envelope2, with a fixed gate of +1.0 maximum, and 0 minimum (behavior as for E1).
VEL Note velocity, between 0 and 1. Velocity remains at this value for each voice until the voice starts a new note.
E1V Amplitude envelope, scaled by note velocity. At the end of the envelope’s attack phase, the output is the same as
note velocity; sustain is scaled by note velocity.
E2V Same as E1V, for envelope 2.
L1S LFO1 “sine”. The waveform is actually parabolic and may be shaped by the LFO’s SHAPE control.
L1T LFO1 “triangle”. The waveform may vary between a triangle and ramp, as set by the LFO’s SHAPE control.
L1P LFO1 pulse. The pulse width ratio may be set by the LFO’s SHAPE control.
L1H LFO1 sample and hold. The LFO1 “triangle” waveform is sampled when the envelope restarts for each voice.
L1D LFO1 ramp down. The waveform is unaffected by the LFO’s shape control, and is always a down ramp. Because
all modulations are bipolar, the ramp down provides an inverted waveform of ramp up, within exactly the same
range.
M1 Multiplier 1. See “Multipliers” on page 19.
O3C Oscillator 3 contour. The output modulation (not including the XY control setting) from Oscillator 3’s contour
modulation settings. When chosen as a modulation source, the amount of the entire result of oscillator 3’s con-
tour modulations may be adjusted with the corresponding A or B slider. This also permits patching of complex
modulations to multiple sources, so if for example one changes just one of Osc3 contour modulation settings, the
same change applies to all other parameters using this control. If Osc3 is turned off, the Osc3 contour controls are
therefore available as complex modulation sources throughout the rest of the instrument.

O3C is not available as a modulation source for the Osc3 contour itself, of course.

Page 17
Polyphonic Sources (Continued)
O3S Oscillator 3 sync. Same as for O3C above, but for the sync controls of oscillator 3 instead of the contour controls.
TLS Tempo LFO “sine” waveform. See “Tempo LFO” on page 14.
TLI Tempo LFO Linear waveform. See “Tempo LFO” on page 14.
TLP Tempo LFO Pulse waveform. See “Tempo LFO” on page 14.
OFF Turns off the modulation source. Note: this setting causes the event processing for this modulation source to be
disabled, resulting in a small improvement in CPU utilization.

Monophonic Sources
L2S LFO2 “sine”. The waveform is actually parabolic and may be shaped by the LFO’s SHAPE control
L2T LFO2 “triangle”. The waveform may vary between a triangle and ramp, as set by the LFO’s SHAPE con-
trol
L2P LFO2 pulse. The pulse width ratio may be set by the LFO’s SHAPE control
L2L LFO2 ladder. The modulation source steps between a series of ascending or descending fixed values,
with the number of values and direction determined by the LFO2 settings.
L2R LFO2 random. The modulation source steps between random values, with the number of values and
direction determined by the LFO2 settings.
L2U LFO2 ramp up. The waveform is unaffected by the LFO’s shape control, and is always an up ramp.
L2D LFO2 ramp down. The waveform is unaffected by the LFO’s shape control, and is always a down ramp.
Because all modulations are bipolar, the ramp down provides an inverted waveform of ramp up, within
exactly the same range.
WHL Mod wheel value, between 0 and 1. See “Mod Wheel” on page 11.
BND Bend value, between -1 and +1. This source merges input from external MIDI and the bend slider in the
instrument’s on-screen keyboard.
AFT Channel aftertouch, between 0 and 1.
S1P Sequencer 1 pitch, scaled between 0 and 1, with middle C at a value of 0.5. This monophonic source pro-
vides the most recent pitch from Sequencer A.
S1V Sequencer 1 velocity, between 0 and 1. This monophonic source provides the velocity of the most recent
note from Sequencer A.
S2P Sequencer 2 pitch, scaled between 0 and 1, with middle C at a value of 0.5. This monophonic source pro-
vides the most recent step from Sequencer B.
S2V Sequencer 2 velocity, between 0 and 1. This monophonic source provides the velocity of the most recent
step from Sequencer B.
M2 Multiplier 2. See “Multipliers” on page 19.
OFF Turns off the modulation source. Note: this setting causes the event processing for this modulation source
to be disabled, resulting in a very small improvement in CPU utilization.

Page 18
Multipliers B
Selects the source B, same as for source A.

Exp
Each source may be exponentiated by turning on its respec-
tive exp button. An exponentiated source is simply the
source value multiplied by itself (squared). Exponentiation
is performed after scaling (by the scale factor) but before
The matrix multipliers provide selection of two sources. the the two sources are multiplied together. If you just wish to
sources are multiplied together and available throughout exponentiate one source and not multiply it by another
the instrument as a single modulation source. source value, then turn on exp for one source and select FIX
for the other source.
Multiplier 1 can multiply together any two modulation
sources, whether they are polyphonic or monophonic. Mul-
tiplier 2 can multiply together any two monophonic
Scale
sources. For example, the M2 unit can multiply pitch bend Source A and source B may each be scaled by any factor.
by an LFO. Then the M2 source provides an LFO modula- (Of course if neither A nor B is exponentiated, then the out-
tion source whose amount of modulation may be controlled put is simply A*B*Ascale*Bscale).
by pitch bend.
Note: Be careful if using the matrix multiplier with the
Each multiplier panel has the following controls: Osc3 contour or osc3 sync sources, because it is possible to
set up an infinite loop that will crash Reaktor. For example,
A if a multiplier source is set as O3C, and one of the osc3
contour modulation sources is the matrix multiplier itself,
Selects the source A, which may be any polyphonic or then the events loop infinitely between the multiplier and
monophonic source listed in the above tables. In addition, O3C. (If you’re concerned about this, you can delete the
pitch tracking is available as a source; pitch tracking has a connection to O3C and O3S from the matrix multiplier’s
value between 0 and 1, with center pitch taken from the source connections, but sometimes this routing may be use-
global pitch control panel. ful, so the connection is left in the current instrument struc-
To reduce CPU usage slightly, select the FIX source. ture).

Page 19
Oscillators
Waveform Effect of Contour Modulation
saw Contour of 0 is triangle.
bisaw Contour of -1 is down ramp.
Contour of +1 is up ramp.
pulse Contour sets the pulse width ratio.
bipulse
parabolic Contour sets the parabolic shape.
sine mirror Contour sets level at which
parabolic mirror mirroring occurs.
triangle mirror
saw mirror
bipulse mirror
up ramp Contour modulates slope.
down ramp
biramp
spike
ziggurat Contour modulates shelf height
staircase
fishtail Contour modulates shape.

The oscillator panel provides control of up to four poly- Noise Contour adjusts noise color.
phonic oscillators, a suboscillator, and global pitch, as LP filtering below middle C;
described below. HP filtering above middle C
Pink Contour adjusts noise color.

Oscillator Waveforms 1*2


1*3
Contour of the source oscillators
control waveform shape.
1*4 Contour of the oscillator slot where
2*3 ring modulation is enabled has no
2*4 effect.
1! * 2! When contour is +1, output is first
1! * 3! bang oscillator.
In the top left corner, the Osc1 through Osc4 switches 1! * 4! When contour is -1, output is second
select the waveform for the respective oscillator. All oscil- 2! * 3! bang oscillator.
lators may be disabled to save CPU. 2! * 4! Intermediate contour levels mix the
two bang oscillators.
Ring Modulation Saw FM Level of FM source
Sine FM
Various ring modulations are available instead of oscilla- Square FM
tors 3 and 4. For example, selecting “2*3” for osc4 pro- Pulse FM
vides ring modulation of oscillator 2 and 3, instead of a
separate oscillator for osc4.
Bang oscillators
The bang oscillators (1!*2!, etc.) are the oscillator sources
multiplied by themselves, then added together (1*1 + 2*2),
which provides rich metallic harmonics.
Page 20
Mirror Oscillators Global Pitch
When the raw oscillator output exceeds the contour level,
the output is mirrored once around the contour level.
The mirror may be positive or negative. If contour is posi-
tive, then the oscillator waveform is mirrored down. If con-
tour is negative, then the oscillator waveform is mirrored
up. Note that polyphonic modulations can create different
waveforms for each voice.

Staircase Oscillator
At contour of zero, the staircase is simple rising step wave-
form from -1 to +1. Contour modulates the height of inter-
mediate steps to distort the staircase into random steps.
The global pitch controls provide for pitch offset and pitch
modulation for the entire synthesizer. Pitch tracking can be
scaled around a settable center pitch (with the center pitch
value displayed under the center knob). Middle C is dis-
played as C5. If set to middle C, pitch tracking is uniform
across the entire pitch range. Higher and lower settings
skew pitch above and below the center pitch accordingly.
Ziggurat Oscillator
This is a rising and falling staircase. The contour modulates Tempo Glide
the height of intermediate steps to make complex wave-
forms.

Tempo glide (portamento) may be applied to the global


pitch. The portamento is polyphonic. When enabled, the
pitch slowly and uniformly moved to the pitch of a newly
received note from the pitch of the last received note. The
Fishtail Oscillator glide rate is a fixed period, no matter what the note pitches
This is a series of rising and falling ramps in the shape of a are for the current and last note.
fishtail. Contour modulation adjusts the slope of the ramps. Tempo. The glide rate is set by this panel’s tempo control
here, with the clock period derived from the global clock
settings.
Gliss. When enabled, the output is glissando instead of por-
tamento. The glide moves between fixed semitone intervals
(as fast glide rates the difference may not be audible).
Enable. Selects a modulation source which enables or dis-
ables glide. The modulation source is sampled once for
Cross patching each note, when the note-on event is received.
For osc2, osc3, and osc4, the oscillator waveform switches Fix. When disabled, glide duration changes, depending on
you select one of the other oscillators. This lets you patch the level of the modulation source when a note starts. When
oscillators to multiple corners of the morphing mixer. See enabled, the glide duration is exactly that set by tempo
“Vector Mixers” on page 23. when the modulation source is above zero. Glide is dis-
abled when the source is zero or below.

Page 21
Oscillator Controls isn’t required). If osc1 sync is enabled, then there is no
CPU overhead for enabling the suboscillator.
For all oscillator XY panels, the vertical axis controls and
displays oscillator contour. Values are displayed as rectan- Osc3
gles. One corner of the rectangle shows values before mod-
ulation; the opposite corner shows values after modulation. The XY panel for Osc1 controls the contour vertically, and
soft sync horizontally. Osc3 also has its own pitch modula-
For oscillator 1 and 3, the horizontal axis controls and dis-
tion controls.
plays soft sync. For oscillator 2, the horizontal axis controls
the suboscillator volume. Pitch. Oscillator 3 has its own pitch modulation controls.
They operate the same as for oscillator 2.
Osc1 Soft Sync. The soft sync switch, list box, and modulation
The XY panel for Osc1 controls the contour vertically, and controls have the same effect as for osc1. If soft sync is dis-
soft sync horizontally. abled, then the sync modulation panel is still available as a
complex modulation source throughout the instrument.
Pitch. Oscillator 1 simply uses the global pitch, and
doesn’t have its own pitch modulation controls. FM. Same as for Osc1 FM.

Soft Sync. On Osc1 and osc3, soft sync is available for all Osc4
waveforms. Soft sync is provided by inverting osc1/3 when
the sync source crosses a threshold. The base threshold is
set by the X value of the respective oscillator’s XY panel.
• A switch next to the Osc1 sync modulation controls can
turn off soft sync, to reduce CPU utilization. If the
switch is on, then the sync list box selects the oscillator
from which soft sync is derived.
• The level of the sync source at which inversion occurs
can be set and modulated independently for osc1 and
osc3. Although it has no XY panel (to save screen real estate), a
separate waveform can be selected for oscillator 4.
FM. If the oscillator is an FM oscillator, this selects the
audio source used for FM modulation. For all the oscilla- Pitch. The Psrc knob sets whence Osc4 derives its base
tors, any of the other oscillators or the suboscillator is pitch. If Psrc is 1, then pitch is derived from the global
available as an FM source. For Osc1 and Osc3, additional pitch. If Psrc is 2 or 3, then pitch derives from oscillator 2
FM sources are the morph mixers, the filters, and the enve- or 3, respectively. You can also set Psrc to fractional values
lopes (with high gate level fixed at 1.0). up to 4.0, in which case base pitch is a mix of other pitches.
for example, if Psrc is 2.5, then the base pitch of osc4 base
Osc2 is half way between the pitches of osc2 and osc3. If Psrc is
half way between 3 and 4, then pitch is half way between
The XY panel for Osc1 controls the contour vertically, and the pitch of oscillator 3 and global pitch.
the level of a suboscillator horizontally. Osc2 also has its The oct and P knobs add an offset to the base pitch deter-
own pitch modulation controls. mined from the setting of Psrc.
Pitch. Oscillator 2 has its own pitch modulation controls, The scale button, when enabled, causes the derived pitch to
which generate a pitch offset from the global pitch for each be forced to the key scale.
voice. After applying the pitch offset, the oscillator pitch
can optionally be forced to the same key scale as for global Contour. The CntrlSrc knob sets whereosc4 derives con-
pitch, by enabling the oscillator’s dedicated track button. tour and modulation, in the same way as the Psrc knob
works for Osc4 pitch. The offset knob adds a fixed offset to
Suboscillator. A switch next to the contour controls for the contour value derived from the CntrlSrc knob. The gain
osc2 enables or disables the suboscillator. The suboscillator knob scales the result of adding the value from the contour
is derived from audio processing circuits for the Osc1 sync. source and the offset knob. The range and clip is applied to
(Typically, osc2 would be used for osc1 sync, although this the result of the gain calculation.
FM. Same as for Osc1 FM.

Page 22
Vector Mixers
Enabling Oscillators
Overdrive
The buttons around each corner of the XY panel enable the
the respective oscillator; if a button is off, then the morph
Enable mixer produces no sound for that voice when that voice’s
mix point is in the corresponding corner. The enable button
overrides all other mixer settings.
The button is fully debounced and does not cause any
clicks when changed.

Enable
Oscillator Overdrive
There are four knobs for each vector mixer, one knob for
each oscillator. The knobs are arranged in a square, with
The vector mixer provides modulated mixing for each of
each oscillator in the same corner as for the XY panel.
four audio sources. The upper mixer feeds filter 1 input.
The lower feeds filter 2 input. The vector mixer outputs are Each knob controls the overall maximum drive of the
also available as FM sources elsewhere in the instrument. respective oscillator (if the oscillator is enabled, as
described above).
The design is similar to the joystick control on the Korg
Wavestation. The XY panel and modulations effect a four- When the crosshair for any voice is in the corresponding
way crossfade between the oscillators, with one oscillator corner of the XY panel (and the oscillator is enabled for
in each corner, as follows: that corner), then the output amplitude of that oscillator
will be exactly as set by the oscillator’s overdrive knob.
Moving away from that corer, the amplitude gradually
Osc1 Osc3 decreases for that oscillator; when the crosshair is on the
other side of the panel, the oscillator is inaudible.
The instrument includes automatic gain compensation on
outputs, so that changing an oscillator’s overdrive setting
changes the overdrive fed into the filter, but does not gener-
Osc2 Osc4 ally change the overall output volume. However, more
extreme filter settings may still cause some variation in vol-
For example, if all oscillators are enabled:
ume, in which case the polyphonic limiter for that filter
• When the mix is in the top left corner, output may be engaged.
only oscillator 1 is output.
• Moving right: Oscillator Level Display
oscillators 1 and 2 decrease;
oscillators 3 and 4 increase. The XY panels also display the current morph point for
each voice with a rectangle. One corner of the rectangle
• Moving down:
shows the oscillator mix before modulation; the opposite
oscillators 1 and 3 decrease;
corner shows the oscillator mix point after modulation.
oscillators 2 and 4 increase.
The value meters for the vector mixers are slightly different
When the mix is in the center of the XY panel, and there is
from the other XY panels. For each vector mixer, there are
no overdrive being applied, then there is an equal mix of all
four value displays, two above and two below the XY
four oscillators.
panel. By default each value meter shows the current level
As well as a complete set of standard modulation controls, of the oscillator for the corresponding corner (after over-
each mixer has one enable button for each oscillator, and an drive). Otherwise, the value meters behave the same as for
overdrive sub-panel. other XY panels.

Page 23
Dual Filter

Filter 1 Filter Type Selection


The top right corner contains switches to select filter type.
Be aware these are switches are will interrupt the sound:
Filter 1. Selects filter type between one of 20 filter types,
including EQ and comb filters, as shown in the following
table.
Filter 1 Types
Name Filter Type
Ld1 1-pole ladder
L2a 2-pole low pass (gain limited at high Q)
L2b 2-pole low-pass (high gain at high Q)
Ld2 2-pole ladder
Ld3 3-pole ladder
The filter XY panel displays rectangles for each active
voice. As well as standard modulation controls, the sub- L4 4-pole low pass
panel for Filter 1 also contains the following additional fea- Pro52 Pro52 filter
tures:
Ld4 4-pole ladder
Frequency Modulation BL4 3-pole low pass plus 1-pole high pass

The F slider sets the amount of frequency modulation (FM


B2a 2-pole band pass (gain limited at high Q)
depth is scaled in semitones). Next to the FM slider is a list B2b 2-pole band pass (high gain at high Q)
box to select the FM source. Note this list box is actually a
B4 4-pole band pass
switch (to save CPU) and changing its setting may interrupt
the sound. BH4 3 pole high pass plus one pole low pass
Envelope 1 (A1) envelope 2 (A2) are also available here. H2a 2-pole high pass (gain limited at high Q)
These audio-rate envelopes can be preferable over event-
H2b 2-pole high pass (high gain at high Q)
rate envelopes, for higher quality sound. The audio-rate
envelopes use a fixed gate level of 1.0. H4 4-pole high pass
Notch 2-pole notch
Logarithmic Resonance
Comb + comb filters (Freq controls feedback delay,
When on, the Exp button (by the resonance Gain knob) Comb - Resonance controls feedback amount)
causes the amount of resonance change to flatten out as res-
onance approaches 1.0. EQ 6dB peak EQ (freq controls center freq,
res controls EQ resonance)
When off, resonance increases linearly with increasing val-
ues. Bypass No filtering
Off No output
Pitch Track Center
Pitch tracking for both cutoff and resonance can be scaled Sat. Switch to enable post-filter saturation for filter 1.
around a different center pitch than for the rest of the F1>F2 Feed. Switch to selects whether filter 1 output is
instrument. The center knob controls the center pitch for sent to filter 2, with or without saturation.
pitch tracking, and the note name is displayed below it.

Page 24
F2 Group. Switch to select the group of filters which are • When on the left edge, only the left filter type is output.
available for filter 2 morph. The groups are Low Pass (L2b, Moving right, the output level of the left filter type
L4, B2, BL4, B4, H2, and bypass), High Pass (B2, BH4, gradually decreases, and output of the center filter type
B4, H2, H4, and bypass) and Ladder (Ld1, Ld2, Ld3, Ld4, increases.
and bypass). • When in the center of the XY panel, only the center fil-
Sat2. Switch to enable post-filter saturation for filter 2. ter type can be heard. Moving from center to right, the
center filter type decreases and the right filter type
increases.
Feed and Morph • On the right edge, on the right filter type can be heard.

Left Center Right


Filter
Morph

Filter Morph Types. The left, cntrl, and right knobs pro-
vide switchless selection of the left, center, and right filter
types. When you rotate the knobs, the name of the selected
type is shown below. Note the F2 Group switch, described
earlier, lets you select between groups of available filter
types.
Filter Overdrive. Each of the three filter types may be
overdriven independently of the others, so you can morph
The middle XY control in the filter panel controls F1>F2 between any levels of filter drive. The instrument automati-
feed (vertically) and filter morph (horizontally). Feed and cally compensates for changes in gain internally, so that
morph have standard modulation controls, with the follow- changes in drive level effect tone, but not output volume.
ing additional features and characteristics.

Filter 2 Feed Filter 2


When the value for any particular voice is at the bottom of
the XY display, then there is no feed from filter 1 to filter 2
for that voice. When in the middle of the XY panel, then
the filter feed is unity gain (1.0).
Above the middle point, the filter feed is overdriven for
that voice. Note that saturation can be independently
enabled for filter 1 and F1>F2 feed, so for example, you
can mix unsaturated filter 1 output with saturated filter
feed.

Filter 2 Morph
The horizontal axis of the Morph subpanel sets the base
morph point for filter 2. the XY panel displays the current
morph point for each active voice.
As well as standard modulation controls, the sub-panel for
The filter 2 output is a mix of two out or three filter types,
Filter 2 contains the following additional features:
controlled by a subpanel in the lower right quadrant of the
feed/morph panel. • Frequency modulation (F), same as for filter 1.
Here there are sets of three controls labelled Left, Center, • Independent pitch track centering, same as for filter 1.
and Right. These controls the filter type and drive across • Logarithmic resonance, same as for filter 1.
the horizontal axis of the XY control.

Page 25
Output and Effects

Output Panel The vertical position has no effect. The XY strip addition-
ally displays the current pan position for each voice.
Clp. When enabled, modulations exceeding far left/right
are clipped; otherwise, they are mirrored.

Limit
There is independent polyphonic limiting of filter 1 and fil-
ter 2, after level setting by the F1 and F2 sliders. With poly-
phonic limiting, one voice may be limited (due to high
resonance values) without affecting the gain of other voices
(for which the ADSR envelopes may be at lower levels).
L1 and L2. Enable limiting for filter 1 and filter 2, inde-
pendently of each other.
Level Thrsh. Sets the threshold (in dB) for both limiters.
To conserve screen real estate, the level sliders and mute Relse. Sets the release (in milliseconds) for both limiters.
buttons control the filter outputs (prior to pan and effects).
The metering and peak indicators are for final output of the
left and right channels (after pan and effects). Effects
F1 and F2. The F1 and F2 sliders set the output level of The effect chain is:
each filter before they are fed into pan and the effects chain. pan> flange > chorus > echo > reverb.
Output Metering. A special low-CPU design displays Each effect has power switches. This lets each effects be
final output levels of Left and Right channels. individually disabled, to reduce CPU usage, but enabling or
Peak. The box at the top of the metering segments illumi- disabling the effects interrupts the sound. If you want a
nates red for half a second when the final output signal snap to enable an effect without clicks, use the Mix knobs
exceeds 0db within the prior half-second period. Also, the in each effect.
actual value of the highest signal level, in any half-second
period, is displayed below the meter segments. Tempo Delay
Mute. These buttons mute filter 1 and filter 2, respec-
tively. Mute is fully debounced and doesn’t cause any
clicks.

Pan
There is stereo., polyphonic pan with independent modula-
tion for each filter output.
Pan Slider. The pan slider sets the base pan position for
both filter outputs.
The instrument includes low-CPU dual delay lines with
Pan Modulation Source. The list box permits selection cross feedback, delay time modulation, and panpot. Input
of 32 different modulation sources. to the delay lines are the mixed filter 1 and filter 2 outputs,
after pan and pan modulation.
Pan Modulation Amount. Moving the crosshair in the
XY strip horizontally controls the pan modulation amount. There are switches to enable and disable the two effect
lines separately.

Page 26
Tempo L and Tempo R. Sets the tempo for each delay Chorus
line, with time derived from the global clock.
FbL and FbR. Sets the feedback for each delay line.
Pan. Sets the pan position for the stereo output. In its cen-
ter position, the left delay line is fully left and the right
delay line is fully right. Moving the pan position left or
right causes one of the delay outputs to be moved towards
the center of the stereo field.
The chorus is a CPU-reduced version of the quad chorus
Mix. Sets the mix of dry and wet signals. When centered, from the REaktor 3 library.
the mix is equal. When fully left, only the dry signal is
heard. When fully right, only the echo output is heard. rate. Sets the rate of delay modulation.
sprd. Sets the mount that delay modulation is different
Flange across the four delay lines.
deep. Sets the amount that delay modulation affects the
delay.
dlay. Sets the base delay amount across the four delay
lines, prior to modulation.
Mix. Sets the mix of dry and wet signals. When centered,
The stereo flange is a CPU-reduced version of the Reaktor the mix is equal. When fully left, only the dry signal is
3 stereo flange instrument. heard. When fully right, only the echo output is heard.
Rate. Sets the rate of delay modulation.
Reverb
Deep. Sets the depth of delay modulation.
Fbk. Sets the amount of feedback.
Dlay. Sets the base delay prior to modulation.
Mix. Sets the mix of dry and wet signals. When centered, The reverb is a low-CPU, mono reverb with room size,
the mix is equal. When fully left, only the dry signal is softness, and diffusion control.
heard. When fully right, only the echo output is heard.
size. Sets the diffusion delay.
diff. Sets the amount of diffusion.
soft. Sets the amount of diffusion modulation.
mix. Sets the mix of dry and wet signals. When centered,
the mix is equal. When fully left, only the dry signal is
heard. When fully right, only the echo output is heard.
hall. Enables an additional diffusion module with a long
diffusion delay, increasing CPUY usage but improving per-
ceived reverb depth.

Page 27
Tutorial One:
The Logic Of Event Logic
This tutorial addresses some advanced topics in the design use a larger number of voices and have more respon-
of event logic. It assumes prior experience with basic sive user interface, even if the CPU is exactly the
instrument design, as well as familiarity with the descrip- same.
tions of event logic in the Reaktor manuals. • Modern CPU architectures (especially RISC architec-
Before reading this article, you may wish to obtain the tures like in the PowerPC) achieve higher clock rates
most recent version of the Leviathan Macro Library by breaking up each instruction into smaller and
from the User Library's "Macros" section. Examples in smaller pieces, and then performing each little piece of
this tutorials are mostly taken from the Polyphonic the instruction in a separate hardware unit--a technique
Glide macro in the Leviathan Macro Library. called "increasing pipeline depth." This shortens the
required clock cycle, and through increased parallel-
To exploit Reaktor to its fullest advantage, it's useful to
ism, also increases the speed of overall throughput.
understand exactly how Reaktor really works. The first part
Even so, a single instruction actually goes through
in this tutorial therefore explores the theory of operation
more and more pipeline stages, and some types of
behind Reaktor. There's some design hints here, but there's
instructions can block the pipeline.
many more in later sections. If you're just looking for
design hints, you may want to skim over this part, and per- A branch instruction, for example, is the kind of
haps come back to it later. instruction which a SEPARATOR or COMPARE mod-
ule invokes. Here, instruction execution can go in more
than one direction, and the direction of execution isn't
Optimizing Software for known until the branch instruction is completely pro-
cessed. As a result, the following element can't be pro-
Hardware cessed until the branch direction has been determined.
As pipelines deepen, the effects of such blockages are
Reaktor provides many of the features in front-end hard-
to stall the CPU for longer and longer periods.
ware design software for integrated circuits and printed cir-
cuit boards. Only 30 years ago, such capabilities were only Software can alleviate pipeline blockages problem by
available in dedicated hardware workstations, such as the shuffling instructions around, behind the scenes, so that
Daisy MegaLogician, costing upwards of $50,000. In those dependencies between immediately consecutive
days, a design house would often dedicate a full-time Sys- instructions occur as infrequently as possible. For
tems Engineer to administration tasks, such as managing example, instructions for each voice on a polyphonic
complex batch files. Reaktor now performs many of those instrument can be interleaved, which can reduce inter-
tasks automatically, each time you connect up a single wire. dependencies between consecutive operations for each
voice. Reaktor does this for you automatically, when
How can Reaktor can do more than a $50,000 workstation
you increase the number of voices, this behind-the-
could, just 30 years ago? Partly through better hardware,
scenes optimization is partly why CPU usage increases
partly through software. These days, people tend to overes-
less for some designs than for others.
timate the importance of hardware, and underestimate the
importance of software. Can a design take advantage of these types of optimiza-
tions? Generally, if modules have more wires fanning out
In particular, there is the widespread adoption of CPU
from each module, the potential for such optimizations
clock rate as a measure of performance. Before getting into
increases. So, if you have a choice, it's always better to
the details, here are the general rules of thumb for CPUs:
design "wide” over “long and thin” module sequences.
• For audio processing, it’s usually much better to have a
Other instructions take longer to execute, no matter what
slower CPU with good hardware acceleration of float-
the type of CPU:
ing-point operations (such as a Pentium) than a faster
integer-based CPU (such as a Celeron). • Log and transcendental operations (such as by LOG
and SINE modules) always take the longest, and should
• If processing many audio streams, then bandwidth also
be absolutely avoided on processors like the Celeron,
becomes a bottleneck; on computers with higher mem-
ory bandwidth, for example, you will usually be able to

Page 28
which have to perform complicated floating-point capture systems support the specification of bus connec-
emulation operations in integer-oriented hardware. tions (such as for parallel data wires) which are similar to
• Divisions (such as by DIVIDE and QUANTIZE) are polyphonic connections in Reaktor.
the second slowest. Whenever possible, instruments Some common features of modern schematic capture sys-
should avoid using these modules. One way to reduce tems are not available in Reaktor currently, and so it's quite
these types of module is to use table lookup instead of possible future releases will add these features:
direct mathematical computation (using the EVENT
• Automatic rendering of vertical and horizontal wires
TABLE module). Of course, you have to populate the
on a rectilinear grid, to assist with legibility. Reaktor
lookup value with data, so this is a measure to consider
simplifies matters by drawing wires point-to-point
when such operations are very frequent.
without corners. If you want to arrange wires other-
• If a design needs a number of processing steps, its usu- wise, the best technique is to use 1-in, 1-out MERGE
ally better to put CPU-intensive modules as close to the modules and position the MERGE modules appropri-
end of the sequence as possible. Generally, SEPARA- ately. This is because MERGE modules would be
TOR and COMPARE operations only impact CPU removed in netlist generation and thus not affect pro-
usage significantly if they are at the beginning of a long cessing speed, as described below.
train of modules.
• Integration with declarative languages for text-based
• The next most important design optimization is to specification of component interconnections. In the
reduce the number of MULTIPLY operations; after music synthesis world, a close equivalent of this inte-
that, it’s really just a matter of reducing the total num- gration is the public-domain program KEYKIT (which
ber of event-based operations. Experience shows that is well worth a look if you haven't seen it before). Cur-
even event-based logic can consume a great deal of rently, Reaktor can interface with external text-based
CPU, if the number of operations are numerous. FIL- design systems through its OSC interface, as well as
TER, ROUTER, and SEPARATOR modules can partly through MIDI and audio streams.
reduce CPU usage; these and other techniques are dis-
• Object-oriented macro design. Within schematic
cussed in the next part of the article.
design, object oriented macros are useful if you use the
same macro in many places. In that case, changes to
The Simulation Analogy one macro instance can automatically change all other
instances of the same macro. In music sequencers, this
So far we’ve just considered implications for instruction- is similar to "ghost segments" where for example,
level optimization at a very low level. Alot more is possible changing the MIDI in one ghost segment can cause all
if you understand the fundamental concepts behind Reaktor repetitions of that segment to change also. There's no
operation. Reaktor is in fact an extension of hardware way to do this in Reaktor currently, and it's difficult to
design paradigms which matured in the early 1990s, and so know whether this feature will be supported in future
the underlying principals are now fairly well understood. Reaktor releases; for complex designs it would be very
Historically, the paradigm for hardware design has fol- useful, but it somewhat depends on how Native Instru-
lowed a series of distinct steps, from design entry, through ments plans to structure and maintain its code going
simulation, to hardware layout. Reaktor uses a similar para- forward.
digm up to the layout stage, as described in the following
sections. Note however, these are conceptual comparisons, Netlist Generation
and may not correspond directly to the way Reaktor code is
physically written. This step translates the abstract drawing which was created
during design entry into some sort of functional model.
Design Entry Typically the resulting representation is thought of as a set
of nodes connected by arcs, where nodes are the simplest
In the hardware design arena, the equivalent to Reaktor's possible functional blocks, and arcs are equivalent to wires.
design entry system is known as "Schematic Capture." In hardware design, the purpose of this netlist is to provide
Schematic capture by itself simply lets you graphically the sequence of processing steps which should occur during
define component interconnections between predefined simulation; in Reaktor, the netlist controls the sequence of
library components in a hierarchical manner. processing steps that result in audio and MIDI output.
To make schematics more readable, hardware design sys- Netlist generation explodes the design hierarchy into a flat-
tems also provide wire stubs, which are similar to SEND tened representation. The process removes redundant nodes
and RECEIVE modules in Reaktor. In addition, schematic along each arc; in Reaktor 4 this appears to include termi-

Page 29
nal connections across hierarchy levels, as well as MERGE paths where only one input is connected, as well as Bool-
modules. ean optimization of interconnected logical operators. Also
In hardware design systems, netlists are often very large, so it's possible to rearrange consecutive mathematical opera-
typically they are generated in a manually triggered batch tions for optimal performance on the target hardware. In the
process. Reaktor instead generates netlists automatically, hardware design arena, such optimizations are called "logic
each time you connect a wire. To improve speed, Reaktor synthesis." It appears Reaktor currently does not perform
appears to optimize the netlist thoroughly on first loading such optimizations currently. If you're interested, you could
an instrument, then perform fast, incremental updates to the experiment with logic optimization tools externally: there
previously generated netlist. As a result, rewiring can is a freeware tool called espresso of which there are a num-
sometimes make netlists rather complex. After alot of edit- ber of variants, for example http://cse.bellarmine.edu/
ing in one session, you can quit Reaktor and restart it, and espresso/. In general, however, such optimizations are not
find that CPU load decreases significantly. complicated within the scope of musical instrument design;
see Part 2 for a discussion of Boolean optimization.
Reaktor also optimizes netlists by removing inactive signal
paths from the netlist. Inactive paths include:
Netlist Verification
• Circuits connected to an unselected input on a down-
stream SWITCH module. Note that changing the Some interconnections in a schematic can cause a simulator
SWITCH module setting causes the instrument design to fail (some can even cause hardware to blow up!) and so
to be reloaded, that is, the netlist is regenerated. hardware design systems verify the netlist at this stage, as
another batch process after netlist generation.
• Groups of components with no connected output.
Reaktor goes one better and performs some limited checks
In the realm of music synthesis design, there are usually
interactively, as follows:
large numbers of nodes and arcs which converge on a lim-
ited number of audio and/or MIDI outputs. To find inactive • When adding a module, Reaktor verifies that compo-
signal paths, Reaktor therefore starts at the ensemble out- nent limits have not been exceeded. These limits
puts and scans the signal path backwards. Any components include:
which aren't connected to the active signal path are • The maximum number of input ports (40) and out-
removed from the netlist. put ports (40) in any one design page. This is a
While doing so, Reaktor also orders nets which converge hard (fixed) limit. However, you can increase the
on the same event outputs, with the theoretical result that number of connections across design pages by
nets connecting the earlier inserted modules occur earlier in using SEND and RECEIVE modules.
the netlist. However the nature of the netlist can affect net • The maximum number of SEND modules (128)
order also, especially when modifying an existing design, and RECEIVE modules (128) in an instrument.
as the netlist is incrementally updated; as a result, the exact
• The maximum number of modules in a macro
order of components in the netlist can in fact change when
(128), or first-level+second level macros in an
you quit Reaktor and re-open the ensemble. This effects
instrument (appears to be 128 currently) not
simulation behavior, as discussed later. Particularly for this
including MERGE modules and terminals. In some
latter reason, it's best always to specify order explicitly
cases it's possible to exceed these limits by nesting
using an ORDER module, when order matters. (A side ben-
macros, but the rules for these limits appear to
efit of always using an ORDER module is that the structure
change depending on design characteristics which
view does not otherwise show the order in which signals
are currently indeterminate.
move between modules.)
• There used to a limited fanout of 18 wires for any
Incidentally, Reaktor also orders audio modules in netlists. module output port, spanning across macro bound-
In the past it's been discussed in the user forums that audio aries. This limit has been increased; however, it is
components inserted out of order into a design actually still a good idea to split up large fanouts across
introduce "parasitic delays" along the signal path, and the MERGE modules, as this often facilitates re-use of
delays were once calculated to be about 25msec. Currently the same wiring for future designs.
it seems such delays may manifest as overall instrument
latency, but it's not known for sure (this article focuses on • Exact limits also appear to vary slightly across
event logic design, so we won't descend into that topic Reaktor updates.
here). • When connecting a wire, Reaktor verifies that the con-
Other automated netlist optimizations are possible, such as nection is legal:
for example, removal of ADD modules along active signal

Page 30
• Audio signals cannot directly feed an event input. changes in voltage as floating-point values, and the values
You can always insert an intermediate AtoE mod- could change very rapidly. In fact, the audio circuits in
ule, but note that AtoE modules do increase CPU Reaktor use a kind of analog simulator, although values are
usage somewhat. Try to use as few as possible. calculated at millisecond rather than microsecond or nano-
• Polyphonic outputs cannot be connected to mono- second intervals.
phonic inputs. Insert a voice combiner of some Digital circuits then started to appear which contained so
sort. Event voice combiners consume insignificant many transistors that analog simulation was just impossi-
CPU, but audio voice combiners are more expen- ble. First off, digital circuits don't need floating-point reso-
sive. Try to use as few audio voice combiners as lution, so it's possible to model them as integer values. The
possible. early digital simulators just modeled Boolean (0/1)
• Polyphonic signals cannot be routed between changes. However the computers were still too slow even
instruments. SEND/RECEIVE connections are a then.
workaround, but are thought to introduce a 30msec To further reduce processing, digital designers started using
delay in the signal path. MIDI connections are unit-delay simulators. The early versions of unit-delay sim-
thought to be faster. However generally it's better ulators just calculated all the component outputs at a much
to partition the design so polyphonic signals longer time interval. The netlist generator would create a
between instruments aren't required. netlist of low-level "logic gates," which was a group of
Reaktor indicates illegal connections with red crosses. In transistors performing the simplest possible Boolean opera-
some cases, there may be an illegal connection inside a tions, such as AND and NOT. It was assumed the signals
macro, and then you won't see the red cross when connect- took exactly one "unit delay period" for the signal to pass
ing its outer ports. This often stumps novices and experts through these logic gates. The simulator would then calcu-
alike at least once in a while. late the Boolean value on each wire at this unit delay
period.
Perhaps to improve underactivity, Reaktor limits netlist
verification to the above kinds of checks. Hopefully Reak- Still the processing load was too large. Moreover, the unit
tor will also identify "race conditions" in the future, as dis- delay model was often inaccurate, because signals took
cussed in Part 4 of this tutorial. longer to propagate through some gates than others. To
overcome this problem, simulators stopped calculating the
When Reaktor has verified a netlist change, it lights up the
values at every output on every cycle. Instead, they only
yellow and red lamps on the modules--always a moment of
calculated changes in a component's output value when one
pleasure. At that time, it immediately activates event pro-
of its input values change. This was called "event driven
cessing (and audio processing, if audio output is enabled)
simulation." The event-driven simulator is the basis of the
for the design change, as described in the next step.
Reaktor's event modeling. Instead of calculating the value
on every wire in the netlist in every cycle, event-driven
Simulation simulators are literally driven by events, as follows:
In hardware design, simulation is the process of generating • The netlist generator sorts through the netlist and flags
a description of signal output from a model. The equivalent those nets which should be calculated first. These are
in Reaktor is actually generating audio and MIDI output. said to be in the first "timeslot."
Reaktor is especially interesting in that this "simulation" • The simulator processes the inputs on the first module
actually occurs in real time, and usually, when you change in the timeslot.
a design, you can hear and/or see the result immediately.
• The simulator looks up the time which it should take
OK, so actually, it's the audio and MIDI output you actually
for the signal to pass through that module.
want from Reaktor; but really, it works exactly the same as
a hardware simulator. • The simulator looks to see what other modules are con-
nected to the current module.
Reaktor is also interesting in that it actually contains two
linked simulators: one for audio, and one for events. The • The simulator places the calculation result, as well as
theory of operation for both these simulators, as well as the the name of the module which receives this result, in
interaction between them, arises from a long history of sim- the appropriate timeslot of a temporary storage buffer,
ulation development. In the very early days of circuit called a "timewheel".
design, simulators modeled the behavior of each and every • The simulator calculates the outputs of all other mod-
hardware component at the lowest level (such as transistors ules in the current timeslot in the same manner.
and resistors). These "analog" simulators calculated

Page 31
• The simulator advances its timebase by one step. (In tution of the VAL input’s value for the triggering event’s
Reaktor, the timebase is set as the event frequency, value. This allows faster
which is 400Hz by default.) In hardware design, the equivalent of a VALUE module in
• The simulator looks to see what modules have received hardware is a bus latch; in analog synthesizers, the VALUE
events in that corresponding timeslot. The process module is akin to a sample&hold circuit.
repeats for that timeslot. And so on.
You'll be relieved to hear, the event-based simulation meth- Event DELAY and HOLD modules
odology is by far the most complicated concept in this tuto-
rial. Unfortunately, though, we're not quite done yet. By the If you understand the event-based model, it should now be
time integrated circuits could contain more than 20,000 easy to understand the difference between an event delay
transistors, even event-based simulation was too slow. Hap- and an audio delay.
pily, some simple additions are enough to complete the pic- • The output of an audio delay module is always calcu-
ture, at least as far as Reaktor is concerned. lated every cycle, with the cycle period determined by
So far, simulators have only looked at analog or Boolean the application's audio clock rate.
values. A further level of abstraction is the behavioral sim- • On the other hand, the output of an event DELAY mod-
ulator, which support any integer value, or even floating- ule is only scheduled on the Reaktor timewheel when
point values, instead of just zeroes and ones. Behavioral the event delay module receives an event.
simulators allow modeling of higher-level constructs, such • HOLD modules are similar to event DELAY modules,
as counters and frequency dividers, as standalone compo- except that HOLD modules simply schedule a later
nents. Most behavioral simulators further improve perfor- event on the timewheel with a 0 value.
mance by using a unit-delay model, instead of using an
event-based timewheel. Event DELAY and event HOLD modules in fact are very
efficient uses of the timewheel paradigm.
Reaktor is an ingenious hybrid of all the above types of
simulator:
Introducing Event Sources
• Most notably, values in event circuits can be any float-
ing-point value, instead of just Booleans, and so in that A more complex issue for Reaktor is when it should sched-
respect Reaktor is like a behavioral simulator. ule events on the timewheel in the very first place. Until at
least something is on the timewheel, no events occur at all.
• However, Reaktor only calculates an event module's
output when one of its inputs change, and in that Over the last few years, Reaktor has started generating
respect is like an event-based simulator. some initial event for a subset of modules called event
sources. Event sources include:
• As one final wrinkle, events within any timeslot are
themselves sequentially ordered. The remaining parts • MIDI inputs
of this tutorial will explain the practical implications of • Constants
this sequential ordering within any one timeslot.
• Panel control outputs
• Outputs on some of the auxiliary modules (such as the
Getting to the Modules System Info module for example).

Some basic descriptions of how some modules use the For these select modules, one event occurs when the load-
Reaktor event engine follow. Subsequent parts of this tuto- ing an ensemble. In this context, “loading an ensemble”
rial look at these and other modules in more detail. includes changing a preset, changing a SWITCH setting,
and changing a system configuration parameter (such as the
number of voices, sample rate, event rate, etc.). All these
The Ineffable VALUE module type of events cause the entire netlist to be regenerated
The VALUE module is one of the most useful modules for from scratch, although it appears the netlist is not always
any type of complex event processing. When any event optimized as much as when Reaktor is closed down and
arrives on its IN port, Reaktor simply changes the value of restarted (probably to reduce latency).
that event in place, so to speak. The current value on the However, router and scanner modules are not event
VAL input is passed to downstream modules in the same sources; these are modules which control the flow of events
timeslot. For the VALUE module, there is no scheduling of between modules, and do not generate events themselves.
a new event in a later timeslot; it is a straightforward substi- And that's where Part One of this tutorial--the theory--
finally concludes, and Part Two--the fun part--picks up!

Page 32
Index
1 * 2 .................................................................... 20 Design Entry ........................................................29
1 * 3 .................................................................... 20 Diff ......................................................................27
1 * 4 .................................................................... 20 Dlay .....................................................................27
1! * 2! .................................................................. 20 Down ramp ..........................................................20
1! * 3! .................................................................. 20 Dual Filter ...........................................................24
1! * 4! .................................................................. 20 Duration .................................................................9
2 * 3 .................................................................... 20 E1 ........................................................................17
2 * 4 .................................................................... 20 E1V .....................................................................17
2! * 3! .................................................................. 20 E2 ........................................................................17
2! * 4! .................................................................. 20 E2V .....................................................................17
A .................................................................... 14, 19 Editing Massively Long Sequences ......................6
AFT ..................................................................... 18 Effect of Contour Modulation .............................20
Architecture Overview .......................................... 3 Effects .................................................................26
Arpeggiator ......................................................... 11 Enable ..................................................................21
Attack .................................................................. 14 Enabling Oscillators ............................................23
Audio Overview .................................................... 3 Envelopes ............................................................14
Audio Path ............................................................ 3 EQ .......................................................................24
Auditioning the Snaps ........................................... 2 Event DELAY and HOLD modules ...................32
Auto ...................................................................... 7 Exp ......................................................................19
B .......................................................................... 19 F1 and F2 .............................................................26
B2a ...................................................................... 24 F1>F2 Feed .........................................................24
B2b ...................................................................... 24 F2 Group .............................................................25
B4 ........................................................................ 24 Fbk .......................................................................27
Bang oscillators ................................................... 20 FbL and FbR .......................................................27
Bank ...................................................................... 8 Feature Summary ..................................................2
Batch Copy ........................................................... 7 Feed and Morph ..................................................25
Batch Load and Save ............................................ 6 Filter 1 .................................................................24
Beat ....................................................................... 8 Filter 2 .................................................................25
BH4 ..................................................................... 24 Filter 2 Feed ........................................................25
Bipulse ................................................................ 20 Filter 2 Morph .....................................................25
Bipulse mirror ..................................................... 20 Filter Morph Types .............................................25
Biramp ................................................................ 20 Filter Overdrive ...................................................25
Bisaw .................................................................. 20 Filter Type ...........................................................24
BL4 ..................................................................... 24 Filter Type Selection ...........................................24
BND .................................................................... 18 Fine ........................................................................8
Bpm ....................................................................... 8 Fishtail .................................................................20
Bypass ................................................................. 24 Fishtail Oscillator ................................................21
Chorus ................................................................. 27 Fix .......................................................................21
Clip/Mirror .......................................................... 16 Flange ..................................................................27
Clock ..................................................................... 7 FM .......................................................................22
Clp ....................................................................... 26 Freq ...............................................................13, 14
Cntl ........................................................................ 8 Frequency Modulation ........................................24
Comb - ................................................................ 24 Gain .....................................................................16
Comb + ............................................................... 24 Getting to the Modules ........................................32
Contour ............................................................... 22 Global Controls ...................................................12
Cross patching ..................................................... 21 Global Pitch .........................................................21
Cross-Table Edits .................................................. 7 H2a ......................................................................24
D .......................................................................... 14 H2b ......................................................................24
Deep .................................................................... 27 H4 ........................................................................24

Page 33
Hall ...................................................................... 27 O3C .....................................................................17
Hold .................................................................... 11 O3S ......................................................................18
int/ext .................................................................... 7 OFF ...............................................................18, 24
Introducing Event Sources .................................. 32 Offline Pattern Editing ..........................................6
Key Scale ........................................................ 12, 9 On ........................................................................10
Keyboard ............................................................. 11 Optimizing Software for Hardware .....................28
L1 and L2 ............................................................ 26 Osc1 .....................................................................22
L1D ..................................................................... 17 Osc2 .....................................................................22
L1H ..................................................................... 17 Osc3 .....................................................................22
L1P ...................................................................... 17 Osc4 .....................................................................22
L1S ...................................................................... 17 Oscillator Controls ..............................................22
L1T ...................................................................... 17 Oscillator Level Display .....................................23
L2a ...................................................................... 24 Oscillator Overdrive ............................................23
L2b ...................................................................... 24 Oscillator Waveforms .........................................20
L2D ..................................................................... 18 Oscillators ...........................................................20
L2L ...................................................................... 18 Output and Effects ...............................................26
L2P ...................................................................... 18 Output Metering ..................................................26
L2R ..................................................................... 18 Output Panel ........................................................26
L2S ...................................................................... 18 p>e .......................................................................14
L2T ...................................................................... 18 Pan .................................................................26, 27
L2U ..................................................................... 18 Pan Modulation Amount .....................................26
L4 ........................................................................ 24 Pan Modulation Source .......................................26
Launching the Ensemble ....................................... 2 Pan Slider ............................................................26
Ld1 ...................................................................... 24 parabolic ..............................................................20
Ld2 ...................................................................... 24 parabolic mirror ...................................................20
Ld3 ...................................................................... 24 Pat ..........................................................................8
Ld4 ...................................................................... 24 Pattern Designer ....................................................8
Level ................................................................... 26 Pattern for this phrase. .........................................10
LFO1 .................................................................. 13 Peak .....................................................................26
LFO2 ................................................................... 13 Phrase ..................................................................10
LFOs ................................................................... 13 Phrase Designer ...................................................10
Limit .................................................................... 26 Phrase Transpose .................................................10
Loading All Saved Data ........................................ 6 Pink .....................................................................20
Logarithmic Resonance ...................................... 24 Pitch .................................................................22, 9
M1 ....................................................................... 17 Pitch and Gate Path ...............................................4
M2 ....................................................................... 18 Pitch Bend ...........................................................11
MIDI Input .......................................................... 11 Pitch Track Center ...............................................24
Mirror Oscillators ............................................... 21 Pitch Tracking .....................................................17
Mix ...................................................................... 27 Play ........................................................................8
Mod Wheel ......................................................... 11 Playing Chords ......................................................6
Modulation .......................................................... 13 Power ...................................................................12
Modulation List Boxes ........................................ 17 Pro52 ...................................................................24
Modulation Routing ............................................ 15 pulse ....................................................................20
Modulation Sliders .............................................. 17 Pulse FM .............................................................20
Multipliers ........................................................... 19 R ..........................................................................14
Mute .................................................................... 26 Range ...................................................................16
Name ................................................................... 24 Rate .....................................................................27
Netlist Generation ............................................... 29 rate .......................................................................27
Netlist Verification ............................................. 30 Reduced ...............................................................12
Noise ................................................................... 20 Release ................................................................14
Normal ................................................................ 12 Relse ....................................................................26
Notch ................................................................... 24 Repeat ..................................................................10
Note Duration ..................................................... 10 Reset ......................................................................8
Note Tempo ........................................................ 10 Reverb .................................................................27

Page 34
Ring Modulation ................................................. 20 Staircase ........................................................20, 21
Run ........................................................................ 7 Step ................................................................10, 13
S .......................................................................... 14 Step Record ...........................................................9
S1P ...................................................................... 18 Suboscillator ........................................................22
S1V ..................................................................... 18 Switchless Matrix ..................................................3
S2P ...................................................................... 18 Sync ...............................................................13, 14
S2V ..................................................................... 18 Synthesizer Routing ..............................................4
Sat ....................................................................... 24 Tempo .......................................................14, 21, 8
Sat2 ..................................................................... 25 Tempo Delay .......................................................26
Saving Local Data to a Shared File ...................... 6 Tempo Glide ........................................................21
saw ...................................................................... 20 Tempo L and Tempo R .......................................27
Saw FM ............................................................... 20 Tempo LFO ........................................................14
saw mirror ........................................................... 20 The Ineffable VALUE module ............................32
Scale .................................................................... 19 The Simulation Analogy .....................................29
Scope ................................................................... 12 Thrsh ...................................................................26
Seq ...................................................................... 10 tick .........................................................................8
Sequencer Controls ............................................... 8 Tiny .....................................................................12
Sequencer Routing ................................................ 4 TLI .......................................................................18
Sequencers ............................................................ 5 TLP ......................................................................18
Shape ............................................................. 13, 14 TLS ......................................................................18
Shared Table Data ................................................. 6 Transferring Data between Saved Files ................6
shuf ........................................................................ 8 triangle mirror .....................................................20
Simulation ........................................................... 31 Up ramp ...............................................................20
Sine FM ............................................................... 20 Using Shared Data .................................................6
sine mirror ........................................................... 20 v>a .......................................................................14
size ...................................................................... 27 Vector Mixers ......................................................23
Slen ....................................................................... 8 vel ........................................................................14
Small ................................................................... 12 VEL .....................................................................17
Snap Changes ........................................................ 7 Velocity .................................................................9
soft ...................................................................... 27 Waveform ............................................................20
Soft Sync ............................................................. 22 Welcome ...............................................................2
Soft Sync ............................................................. 22 WHL ....................................................................18
spike .................................................................... 20 X Value and Y Value ..........................................16
sprd ...................................................................... 27 Xpos ......................................................................8
Spread ................................................................. 13 Ziggurat .........................................................20, 21
Square FM ........................................................... 20

Page 35

You might also like