Marx Modular for Reaktor
Perhaps the most compact and flexible modular synth for Reaktor.
Overview and Sound Demo
|Created: April 2005|
|Modified: March 2006|
With >10,000 downloads, Marx was the second most popular ensemble in the Metamusic series for Reaktor. Marx is a complete modular system that you can play both via MIDI and by its internal sequencers (or both simultaneously, if desired). It contains three complete multitimbral synths in one instrument, all the components of which can linked in pretty well any way imaginable.
- Switchless event matrices: 20 routes from 34 poly/mono sources to 120 targets.
- Switch-based audio routing allows configuration of >37 audio sources and destinations in any desired manner.
- 5 intermodulating, 32-step pitch+velocity sequencers with loop, one-shot, and cross-trigger modes; buttons for pattern scaling, flipping, shifting, copy/paste, etc. See the B Panel for more Control.
- 6 oscillators: 34 oscillator types including waveset and "draw your own;" Audio-rate and event-rate phase, width, FM, and AM modulation for all waveshapes; multiple sync modes.
- 3 state-variable filters, each with 25 types including dual serial/parallel and comb modes; multiple gain compensation and saturation modes; fully parametric pitch tracking, frequency, Q, FM, mix, saturation, overdrive, frequency split, etc.
- 6 multimode submixers with audio and event rate modulation.
- 2 multimode distortion units with a dozen distortion types each.
- 6 PADGSR envelopes triggered by midi, lfo, or sequencers; hold, predelay, and ADR timing modulation.
- 3 polyphonic LFOs with multimode sync and polyphonic phase control; amplitude, frequency, and phase modulation.
- Unique triple waveshaper unit for event and audio modulation.
- 2 sample & hold units with multiple trigger, gate, and multiplication modes.
- 3-channel polyphonic mixer with two-channel fx send/return, Lo+hi Eq, and limiter on output.
- Stereo delay with time-based, tempo, 8-tap, and reverb modes.
- Chorus with 2X, 4X, 8X, and flanger modes.
- Polyphonic, monophonic, and legato modes. Voice spread. Unisono with individual pitch+gain control and modulation of each voice. Pitch scale mapping and microtuning; polyphonic tempo glide on three separate channels.
- Built-in audio recorder.
- Switching automates lowest possible CPU usage. Event downsampling and event envelope logic for even lower CPU usage. Robust, crash-free design.
- All fits on 1024*768 display! That was important once!
Please install the waveset file for full functionality.
When first opening the ensemble, it asks for the waveset file. The waveset file is not inside the ensemble because it is included five times, once for each of the five oscillators. So it is instead included in the zipfile separately in one file to reduce download size. On loading, Marx will request the path to this file ONCE and load it for all five oscillators--once. Then it loads all five instances without telling you. Reaktor 5 remembers the file location after you save the ensemble; with Reaktor 6, you have to reload it each time you open the ensemble.
Adjusting Volume for Different Soundcards
Different soundcards have different volume levels. So, there is a snap-isolated control in the instrument, labeled MASTER on the right side of output mixer. This lets you adjust all the preset snaps for your particular soundcard and audio hardware. Generally you can set this control and forget it.
Adjusting CPU Usage
The CPU listbox, in the output control panel, adjusts the downsampling rate of continuous event sources (such as LFOs and envelopes. This list is snap isolated. On a 700Mhz Macintosh it lowers CPU usage by 20-50% when using LFOs or envelopes for event modulation.
To reduce CPU usage, you can also reduce the number of voices; reduce the audio rate; or reduce the event rate down to 100Hz.
Table Data Saved with Snaps
The table data (for sequencers and waveshaper) are stored with each snap, so you don\'t have to worry whether changing the table data for one snapshot is going to change another snapshot incidentally. You can copy and paste sequences between snapshots using the copy/paste editor in the B panel.
Morphing and Randomizing Snaps
Reaktor\'s morph/random controls in the snapshot browser are fully enabled for everything that is not a list or switch. Reaktor\'s CPU load during morphing can be very intensive. The instrument does what it can to reduce CPU load, but if you are changing a lot of different parameters, you may need quite a fast machine.
You can use the sequencers, envelopes, and chordgen unit to generate MIDI pitch and gate data for other synthesizers. Simply enable MIDI out in the instrument properties panel.
If you are driving other synths from Marx and don\'t want audio output:
- drive the envelopes from one oscillator set to SAWF for lowest CPU.
- mute the audio output.
You need one oscillator functional to enable the envelope polyphonic mode. You may then capture the polyphonic pitch/gate sequences in an external sequencer, and/or send the midi data to another synth.
The instrument contains logic to prevent MIDI feedback, so you should be able to receive and transmit on the same MIDI channel.
The single Tempo knob sets a division factor for the clock, whether it is internal or external. In Marx 3, the tempo was redesigned so that it directly sets the BPM.
The Tempo knob also has a Qnt button which, if on, keeps the tempo changes to even multiples; if off, the tempo change is continuous.
The tempo division is applied to sequencer step duration, envelope hold periods, env 1-3 predelay, glide times, and sync delay. LFO period is unaffected by tempo, but like other things the modulation matrix can change each LFO frequency as desired.
When the external MIDI clock is off (or the Reaktor tempo control in the application toolbar is stopped), then the instrument automatically uses its own internal 1/96 clock.
The instrument can both receive song position, and also transmit its internal song-position counter if MIDI out is enabled. The ENABLE button in the sequencer resets the song position to zero.
Matrix 2 can also modulate tempo in any desired manner.
For VST, the instrument is designed so that the parameter names are not truncated, and are as far as possible legible in Cubase SX 1.0.
By default, only the instrument LEFT and RIGHT outputs are connected. The instrument also contains separate outputs for the dry signal from each output mixer channel, and from the effects channels. You can connect these to mix down channels and effects separately.
Designing an audio Patch
The audio modules are fully modular, so they can be chained in any serial or parallel combination; audio paths can also be blended together with submixers.
For the audio modules there are switches (displayed as droplists) called "Input" or "Audio" in the top left corner. To build an audio patch, simply build a chain of these from the oscillator to envelopes.
Audio switches have the following inputs:
- o1/23/4/5/6 : oscillators.
- f1/2/3 : filters.
- mA~mF : submixers.
- d1/2 : distortion.
- Sh : Audio waveshaper.
- E1/2/3/4/5/6 : Envelopes at audio rate.
- L1/2/3 : LFOs at audio rate.
- Out1/2/3 : Output mixer channels (after trim, level, and modulation, but before pan and mute).
- X1/2 : Echo and Chorus: fx1 and fx2 return, pre-mute.
Only the audio path is switched; if two snaps use the same switch settings, you can change between the snaps without interrupting the sound or timing. This lets you use snapshots to change between vastly different sound scenes, either instantaneously, or gradually through morphing. So, the first step in setting up a patch is to choose the audio components you want.
The three audio envelopes can each play MIDI or different sequencer tracks at the same time, polyphonically, letting you split the modules up into three separate instruments that play different sounds.
Because all the modules are combined in one instrument, the pitch of one envelope can modulate the filter of another, and so on. Alternatively, all the modules can be configured into one giant complex instrument, as desired.
It\'s sometimes easiest to set up the audio path backwards, starting at one of the audio envelopes.
For a simple patch:
- In the output mixer, turn on the ENV1 button and turn up its volume.
- In ENV1, set F1 as the audio input and MIDI as the gate source.
- In FILTER1, set O1 as the input.
- In Osc1, select an oscillator waveform.
To make the sound more complex, you can use the submixers to link different components in parallel or in series, simply by chaining modules in different ways.
- Set MA as the input for filter 1.
- Set O1 for the mixer\'s first input, and O2 for the second.
- Select waveforms for the two oscillators.
For wider mixes, you can feed the output of one submixer into the input of another.
Envelopes 1-3 can all feed audio to the output mixer in parallel, so there may be up to three separate audio paths (each with different pitch and gates). Alternatively, multiple envelopes can shape the same sound, or envelopes with the same pitch/gate sources can receive audio from different sources.
The three audio envelopes feed the three channels in the output mixer. The output mixer provides polyphonic modulation of the output level, channel pan, echo send, echo pan, and chorus send for each channel separately.
Note also you can use the mixer to put one audio envelope inside another, for example, a fast repeating envelope can modulate audio and its output fed into envelopes 1-3.
Some components have additional audio switches. For example, the oscillators also have switches for audio modulation of AM, FM, sync, and phase/width. The filters also have FM modulation. These can be routed from any other audio source, including the submixers.
In addition, the audio mixers have a switch labeled AM, which lets one audio signal modulate the amplitude of two others. For example, an envelope or LFO can modulate two oscillators. With the six submixers, multiple envelopes and LFOs can be added together, for complex FM modulations. If you use an oscillator or combination of audio sources, you can make complex ring modulation sounds.
The output mixer is configured so you can route its channels the effects back into the instrument. The ENV1/2/3 mute buttons mute the master output, but not the channel and effects feeds. So for example, you can route the effects back into the instruments as follows:
- Set, say channel1, to PRE.
- Turn off the ENV21 button and raise the FX1/FX levels.
- Use the X1/X2 as audio sources for submixers, filters, etc.
- Pipe the resulting audio signal back into the output mixer, say into ENV2.
Now the master slider and trim controls in the mixer control the resulting processed effects sound.
Also, by muting the channel output, you can use the mixer channel as an audio source in the instrument.
Marx Modular v3.0 Release Notes, 3/22/2006
- Redesigned and optimized for Reaktor 5.
- Table snaps now save perfectly in Reaktor5.
- Voice allocation logic totally redesigned. Much smaller.
- Due to lower cpu usage, default #voices is increased to 12. Changing #voices is now pretty instantaneous.
Marx Modular v2.0 Release Notes, 4/17/2005
All the panel controls have tooltips.
FM and SYNC FOR VARIABLE WIDTH OSCLLATORS
Osc2 and Osc4 are implemented in core-style modules, so that FM andsync may be applied to width-modulated waveforms (the oscillator shapeswith a "W" prefix--plsW, parW, triW, etc). CPU usage is slightly higher,but very pleasing waveforms are possible that are not obtainable withstandard Reaktor modules. The structure is implemented using R4 modules,so Reaktor5 is not required.
Sync functions. the Same as for Reaktor modules, with adjustable-phase sync when the modulator rises above 0. For soft sync, the sync occurs only when the carrier is above an adjustable level, set by the PHASE control. For example, is PHASE is set to 0.5, then when the modulator rises above 0, the carrier phase is only reset if the carrier is above 0.5 at that point in time. For interesting results: try modulating the width of both carrier and modulator; use a lower-frequency modulator so that more harmonic components of the carrier waveform are preserved. The waveforms are not anti-aliased, so if not passed through a low-pass state-variable filter, high-pitched notes may have Nyquist artefacts. If these are not desired, the loEq in the output mixer may be set to remove these frequency components (set P to 112 and gain to -20). As the output mixer EQs are mono, the additional CPU usage is low.
MIDI KEYBOARD SPLIT AND CONTROLLER SHAPING
The B panel now includes a new MIDI unit for keyboard splitand shaping of aftertouch and velocity.
VOICE-SPECIFIC UNISONO MODULATION
The unisono unit now supports continuous modulation of both pitch and amplitude for each unisono voice, in both mono and poly modes.For example, if unisono is set to 3 in poly mode, then each noterequest generates three notes; the modulation matrix can apply vibrato or other pitch modulations to just the second and/or thirdnote by sending LFO modulations to unisono pitch 2 and/or pitch 3.Pitch modulations are applied post-glide. Amplitude modulations areapplied post-envelope shaping, in the output mixer. If the resulting amplitude falls below 0, it is clipped to 0.
FAST MODULATION OF MASTER MIXER OUTPUT AND FX RETURN
When the "fast" switch in the output mixer is on, modulations from the event matrix are now applied at audio rate to the the mixer master output, master pan, fx return, and fx pan. In otherwords, the "fast" switch now effects all matrix modulationsto the output mixer.
Many thanks to the following folks for their assistance!
- Herwig, Sakabeat, Pete Ascdi, Tom Watson, Kimmo Kivvela, and David Coffin for their beta testing and snap contributions.
- James Walker Hall, for his 3DEX instrument.
- Nick Dan, for his microtune macro.
- Laurent Veliscek, for his scale mapping macro.