the rearack2 manual. - reaper

54
1 The ReaRack2 Manual. Version 2.3 – 25 th July 2018 Author: Malcolm Smith. 1.0 ReaRack General Description ReaRack is a modular MIDI controlled digital sound synthesis system for the REAPER Digital Audio Workstation. It was created using Reaper’s inbuilt JSFX programming language. ReaRack is an open system. The only thing that makes a module a ReaRack module is that it follows the ReaRack design guidelines. Otherwise, the modules can be used along with any JSFX, VST or other plugin, and vice versa. ReaRack is modelled on voltage controlled analog hardware synths in which the synthesiser is built up using modules, each of which have a discrete function. On a truly modular system, the modules are often mounted on a rack and there may be more than one of each type of module used. Hardware analog systems traditionally communicate between modules using a voltage system. The modules are connected using patch leads. An output voltage from one module is fed into an input on another module. Standards vary but typically, the pitch control voltage would be one volt per octave. The same voltage system is used to control both pitch and modulation of other parameters. Analogous to a hardware system, ReaRack itself provides the various sound and control modules. REAPER provides the rack to mount the modules on (track FX) and the patch leads (MIDI and audio routing). In ReaRack, communication between modules is via Musical Instrument Digital Interface (MIDI) Messages. There are various types of MIDI messages. ReaRack uses note on/off events to control pitch and as a trigger source, and Control Change (CC) messages to control modulation of other parameters. ReaRack is capable of subtractive, additive and rudimentary FM synthesis and physical modelling. Like the early modular hardware analog synthesisers, ReaRack is essentially a monophonic system, but polyphony is possible using the included Poly Splitter module. A major point of difference between ReaRack and other software modular synths is that ReaRack modules are independent FX units that are placed directly in the track FX. The modules don’t have to run in a dedicated environment, they run directly in REAPER, so REAPER itself becomes the instrument. This makes for a highly flexible system. MIDI and note and CC messages from any source can be used to control the modules and the signal processors can be used to process sound from sources other than ReaRack modules. ReaRack 2 sends and receives high resolution CC messages for control signals for optimal precision, however, it will still function if receiving low resolution (single byte) CC messages, but at lower precision. If sending out high resolution control signals to plugins or devices that don't support them, the second byte will simply be ignored by those devices.

Upload: others

Post on 18-Dec-2021

36 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The ReaRack2 Manual. - REAPER

1

The ReaRack2 Manual. Version 2.3 – 25th July 2018 Author: Malcolm Smith.

1.0 ReaRack General Description

ReaRack is a modular MIDI controlled digital sound synthesis system for the REAPER Digital Audio Workstation. It was created using Reaper’s inbuilt JSFX programming language. ReaRack is an open system. The only thing that makes a module a ReaRack module is that it follows the ReaRack design guidelines. Otherwise, the modules can be used along with any JSFX, VST or other plugin, and vice versa.

ReaRack is modelled on voltage controlled analog hardware synths in which the synthesiser is built up using modules, each of which have a discrete function. On a truly modular system, the modules are often mounted on a rack and there may be more than one of each type of module used. Hardware analog systems traditionally communicate between modules using a voltage system. The modules are connected using patch leads. An output voltage from one module is fed into an input on another module. Standards vary but typically, the pitch control voltage would be one volt per octave. The same voltage system is used to control both pitch and modulation of other parameters.

Analogous to a hardware system, ReaRack itself provides the various sound and control modules. REAPER provides the rack to mount the modules on (track FX) and the patch leads (MIDI and audio routing).

In ReaRack, communication between modules is via Musical Instrument Digital Interface (MIDI) Messages. There are various types of MIDI messages. ReaRack uses note on/off events to control pitch and as a trigger source, and Control Change (CC) messages to control modulation of other parameters.

ReaRack is capable of subtractive, additive and rudimentary FM synthesis and physical modelling. Like the early modular hardware analog synthesisers, ReaRack is essentially a monophonic system, but polyphony is possible using the included Poly Splitter module.

A major point of difference between ReaRack and other software modular synths is that ReaRack modules are independent FX units that are placed directly in the track FX. The modules don’t have to run in a dedicated environment, they run directly in REAPER, so REAPER itself becomes the instrument. This makes for a highly flexible system. MIDI and note and CC messages from any source can be used to control the modules and the signal processors can be used to process sound from sources other than ReaRack modules. ReaRack 2 sends and receives high resolution CC messages for control signals for optimal precision, however, it will still function if receiving low resolution (single byte) CC messages, but at lower precision. If sending out high resolution control signals to plugins or devices that don't support them, the second byte will simply be ignored by those devices.

Page 2: The ReaRack2 Manual. - REAPER

2

1.1 Modules Currently the ReaRack version 2 synthesiser system is made up of 20 modules:

Oscillators:

• Oscillator - Trapezoidal • Oscillator - Twin-Saw • Oscillator - Additive • Oscillator - Noise

Audio Signal Processors:

• Filter • Filter – Moog 24 db • Amplifier • Karplus-Strong Delay

Control Signal Generators:

• LFO • Envelope Generator • Envelope Multi-Tool

Control Signal Processors:

• MIDI mixer • Trigger • Sample and Hold • Key Follower • Poly Splitter • Note Filter • Nonlineraizer

Utilities:

• AudioMIDI • Note Scope

Page 3: The ReaRack2 Manual. - REAPER

3

1.2 Modulation and Intercommunication Key module parameters can be modulated directly using the MIDI Control Change (CC) inputs. For those that can't, you can use REAPERS's parameter modulation. All modules have a master/slave function so that slider values can be linked for ease of setup of polyphonic voicing.

Page 4: The ReaRack2 Manual. - REAPER

4

2.0 ReaRack Design Guidelines

These are the guidelines used in the authoring of the ReaRack version 2 modules. Anyone can create a JSFX ReaRack module by simply following the design guidelines. If you create a ReaRack module and want to include it in the installation packages, contact me (username Time Waster) on the REAPER forum and I will add it to the collection.

The current design guidelines are as follows:

2.1 MIDI messaging. From ReaRack version 2 onwards, ReaRack modules will provide high resolution, per sample control signals by utilising paired MIDI Control Change (CC) messages*.

There are 128 possible MIDI CC’s available per MIDI bus (0 to 127). ReaRack modules will allow you to choose up to 64 of these for patching (0 to 31 and 64 to 95). The CC chosen will be automatically paired with the CC 32 higher to form a pair (as per the MIDI standard), e.g. CC 20 will be paired with CC 52.

The modules will receive MIDI on all channels. There will be no provision for input channel filtering. This helps by simplifying the setting up of polyphonic voicing. Each voice is created on a separate track and is a copy of the original voice setup, i.e. the original track is duplicated according to how many voices you require (up to 16 per MIDI bus). Each voice track is then set to receive MIDI on only one channel, which is a lot easier than having to set the input channel for every module. The Poly Splitter module is used to direct overlapping notes to separate channels.

The modules will have provision to transmit MIDI data on individual channels, or on All channels, as required.

All unmodified MIDI messages will be passed through, so any one set of CC messages can be used to control multiple modules.

Note*: A single CC provides a resolution of 1/127, but by using one CC as the most significant byte (MSB) and another as the least significant byte (LSB), the resolution becomes 1/16383. In ReaRack Version 2 terminology, control signals have a minimum value of 0 and a nominal maximum value of 1. The true maximum value is 16383/16384.

2.2 Slider Value Sharing, Class and Group. In order to assist in setting up polyphonic voicing, sliders values will be communicable across instances of the same module, via global memory. This will be achieved by a ‘class’ system. There are three class states; Master, Slave and None. There will also be a ‘Group’ option to allow multiple groups of the same module to share differing sets of slider values. Each group has one instance of the module designated as the Master and the rest are designated as Slaves. Any slider adjustments made on the Master are duplicated on the slaves.

Page 5: The ReaRack2 Manual. - REAPER

5

2.3 Slider Layout. Starting from the top the sliders shall be arranged as follows:

• Modulation Target selection (if there is more than one parameter to be modulated) • MIDI CC Input selection • Modulation Range • MIDI CC Output selection • MIDI Output Channel selection

^ • Pitch Control sliders

v ^

• Other module specific sliders V

• Output Level • Class • Group

Not all modules will have all of these sets of sliders and some may have none. Any that exist shall be placed in the same order for user interface consistency, unless there is a reason not to.

2.4 Graphics: Each module shall have some simple graphics to provide visual feedback. The graphics area shall also provide information on which parameter is the current modulation target and which CC has been assigned to each parameter.

Page 6: The ReaRack2 Manual. - REAPER

6

3.0 Installation. If installing manually: The ReaRack folder containing the ReaRack JSFX modules must be placed in REAPER>Effects. After installing the folder, in REAPER, Scan for New Plugins (function key F5).

ReaRack is also available through ReaPack .

4.0 Setting up a synthesiser. Like any other FX, the ReaRack modules are added to the FX section of a track.

Signal flow is always from top to bottom. This applies to MIDI as well as audio. A module used as a controller must always precede the module it controls. The controlled module does not have to be the next in line, it can be anywhere below the controlling module.

A simple subtractive synth setup might be:

• LFO • Oscillator • Envelope Generator • Filter (set to highpass) • Filter (set to lowpass) • Amplifier

In this setup, the filters must be below the oscillator (but they could be placed after the amplifier). The LFO must be placed before the filters or before the oscillator, dependent on the module it is controlling. The envelope generator must be placed before the Amplifier.

The only limit to the number of modules you can use, is the available number of MIDI CCs (64 per MIDI bus) and your CPU.

4.1 Patching. To patch together two modules, simply match the output CC number of the controlling module with the input CC number of the controlled module.

Modules with parameters controlled by MIDI note events can receive note messages from anywhere.

4.1.1 To receive a control signal:

• Select the parameter you want to modulate using the Modulation Target slider (this slider is only available if there is more than one parameter that can be modulated).

• Select the input CC number using a ‘CC Input’ slider. You can select from the range of available CCs (0 to 31 and 64 to 95). MIDI CCs can be received from any source, not just ReaRack modules.

Page 7: The ReaRack2 Manual. - REAPER

7

4.1.2 To send a control signal:

• Select the output CC number using a ‘CC Output’ slider. You can select from a range of available CC’s (0 to 31 and 64 to 95). To avoid clashes, be mindful that CC’s may already be in use by other effects or devices in, or connected to, your track or project.

• Select a MIDI output channel using the ‘MIDI Output Channel’ slider. Generally the channel number is not critical, because the ReaRack modules receive MIDI messages on all channels. If sending messages to modules on the same track as the sending module, choose a single channel to avoid sending excessive MIDI data. If sending out to multiple tracks that each have the MIDI input set to a unique channel (as in the case of a polyphonic setup), use the ‘All’ channels option.

Note: When setting up a polyphonic synth, it is advantageous to place modulators on a separate track to the voicing modules. Modulation messages from a set of common modulators can then be sent to each of the voice tracks.

4.2 Modulation Settings. Generally, modulation by MIDI CC message in ReaRack is controlled by two sliders on the recipient module:

• A parameter slider sets the base point for the modulation range, or the range centre position in the case of pitch modulation.

• A ‘Modulation Range’ slider sets either the end point of the modulation range, or simply the magnitude in the case of pitch modulation.

4.3 Linking Modules using Class and Group. For polyphonic voicing, an FX chain consisting of a set of modules required to create one voice is copied to multiple tracks. For consistent voicing, the parameter values for each voice should be the same. The Class and Group settings allow one set of modules to control the parameters for duclicate sets of modules that make up the voicings.

The number of tracks required depends on how many voices you need to for a particular passage of music. The general procedure for setting up polyphonic voicing is as follows:

1. On a ‘voice’ track, set up the initial FX chain to achieve the required sound. 2. Set the ‘Class’ of each ReaRack module to ‘Master’. 3. If there is more than one instance of any module in the chain, set the ‘Group’ of each

instance of the same module to a unique value. 4. Duplicate the Track. 5. Change the ‘Class’ of each module in the new track to ‘Slave’.

Page 8: The ReaRack2 Manual. - REAPER

8

6. Duplicate the second track as many times as you like to create the required number of voices.

7. Set the MIDI input channel for each voice track to a unique consecutive number. 8. Create a ‘score’ track from which you will send MIDI note messages and put the Poly Splitter

module in the track FX for that track. 9. Set up sends from the score track to each voice track.

Page 9: The ReaRack2 Manual. - REAPER

9

5.0 Description of Modules.

5.1 Oscillators.

5.1.1 Oscillator - Trapezoidal.

The ‘Trapezoidal Oscillator’ is a partially band limited, or semi-naïve oscillator. This oscillator has low CPU requirements and intended to be a general workhorse oscillator where the highest sound quality is not critical. It has some unique characteristics and interesting modulation possibilities.

The waveform is defined using straight line segments. The trapezoid like shape of the waveform can be varied from square/pulse form through to a triangular form, and then raked to form a sawtooth.

Page 10: The ReaRack2 Manual. - REAPER

10

In this way, the oscillator can emulate the three classic analog synth waveforms and provide variations in between. For the purpose of reducing aliasing, a degree of band limiting is achieved by automatically limiting the maximum slope of the more vertical segments and the minimum length of the horizontal segments, depending on frequency.

Control Sliders:

Modulation Target, CC Input and Modulation Range sliders, see 4.1 Patching.

Pitch. The pitch of the oscillator can be set to a fixed note value, or controlled by MIDI note messages. To use MIDI note messages to control the pitch, set the ‘Pitch’ slider to ‘MIDI note’ pitch (default setting).

Harmonic sets the pitch of the oscillator to a harmonic above the fundamental pitch. The fundamental pitch is set by the ‘Fixed Pitch’ slider or by a MIDI note event. The purpose of the ‘Harmonic’ control is to make it easy to set up additive synthesis, using multiple oscillators. Set one oscillator to the fundamental pitch, then add harmonics with the other oscillators. Adjust the volume level of each harmonic to suit.

Tune and Fine Tune sliders are provided for tuning (or detuning) the oscillator pitch. The values of each are summed together. The oscillator can be detuned down into the sub audio range, which may be useful for vibrato effects using the frequency modulation option.

Portamento provides up to 3 seconds of portamento.

Pitch Modulation Centre, see 4.2 Modulation Settings.

Master Pitch Mod. Range (octaves). This slider sets the maximum range for pitch modulation, controlled by either MIDI CC or MIDI Pitch Bend. If using MIDI CCs, the modulation range is a combination of the Modulation Range slider and the Master Pitch Mod. Range slider. If using MIDI Pitch Bend the range is set by this slider only.

Waveform Control Sliders.

There are three parameters to control the shape of the waveform:

SHAPE controls the slope of the more vertical (side) line segments and can be varied from almost vertical to almost forming a vertex with one or both the adjacent side segments. Use this to transform a square waveform into a triangular waveform

WIDTH controls the distance between the sloping side segments (pulse width).

RAKE controls the relative slope of the side segments. Use this to transform a triangular waveform into a sawtooth waveform.

Each of the three waveform controls can be modulated.

Audio Modulation allows you to use any preceding audio for modulation, in one of three ways:

Page 11: The ReaRack2 Manual. - REAPER

11

1. The input audio and the oscillator output can be multiplied together to create a ring modulation effect. Note that the output volume level will likely decrease when the ring modulation setting is used, so the input audio level (usually another oscillator) and the oscillator volume levels will need to be adjusted accordingly.

2. The input audio can be used to modulate the frequency of the oscillator. In this setting, the amplitude and frequency of the incoming audio is used to modulate the pitch of the oscillator. For FM synthesis, the incoming audio is best produced by a preceding oscillator with a pitch the same as, or proportional to, the pitch of oscillator being modulated.

3. The oscillator can be used to modulate the amplitude of any incoming audio. In this setting the oscillator waveform is converted to a unipolar waveform (all values are positive). Amplitude modulation is basically a high frequency tremolo effect.

The ring and amplitude modulation settings allow the oscillator to be used on its own as an FX for any audio, as well as with a preceding oscillator.

Output Level sets the output volume.

For information on the Class and Group sliders, see section 2.2.

Page 12: The ReaRack2 Manual. - REAPER

12

5.1.2 Oscillator - Twin-Saw.

The “Twin-Saw Oscillator” is a band limited oscillator that combines two sawtooth waves to generate a variety of waveforms. By varying the mix of the two saw waves and their phase offset the waveform can be varied from a single sawtooth through to a square or pulse wave. This is possible because a pulse wave can be formed by subtracting a sawtooth wave from a phase shifted

Page 13: The ReaRack2 Manual. - REAPER

13

copy of itself. If the component sawtooth waves are band limited the resultant pulse wave will also be band limited.

Each component sawtooth wave can be low pass filtered to reduce the harmonic content. The filter is not a smooth filter, it moves in steps of whole harmonics.

Control Sliders:

Modulation Target, CC Input and Modulation Range sliders, see 4.1 Patching.

Pitch. The pitch of the oscillator can be set to a fixed note value, or controlled by MIDI note messages. To use MIDI note messages to control the pitch, set the ‘Pitch’ slider to ‘MIDI note’ pitch (default setting).

Harmonic sets the pitch of the oscillator to a harmonic above the fundamental pitch. The fundamental pitch is set by the ‘Fixed Pitch’ slider or by a MIDI note event. The purpose of the ‘Harmonic’ control is to make it easy to set up additive synthesis, using multiple oscillators. Set one oscillator to the fundamental pitch, then add harmonics with the other oscillators. Adjust the volume level of each harmonic to suit.

Tune and Fine Tune sliders are provided for tuning (or detuning) the oscillator pitch. The values of each are summed together. The oscillator can be detuned down into the sub audio range, which may be useful for vibrato effects using the frequency modulation option.

Portamento provides up to 3 seconds of portamento.

Pitch Modulation Centre, see 4.2 Modulation Settings.

Master Pitch Mod. Range (octaves). This slider sets the maximum range for pitch modulation, controlled by either MIDI CC or MIDI Pitch Bend. If using MIDI CCs, the modulation range is a combination of the Modulation Range slider and the Master Pitch Mod. Range slider. If using MIDI Pitch Bend the range is set by this slider only.

SAW 1/SAW2 Sliders –

Lowpass Filter sets the filter cutoff position method.

Filter Cutoff. When ‘Lowpass Filter’ set to off, the waveform is band limited to the first harmonic below 20 kHz. When set to ‘Fixed’ the slider value represents a percentage value of the frequency range from 0 to 20 kHz and the waveform will be band limited to the first harmonic below that setting. When set to ‘Follow’, the slider value represents a fixed number of harmonics above fundamental (up to 128), but limited to 20kHz.

MIXING Sliders –

Saw1/Saw2 Mix adjusts the mix of the two sawtooth waves: a value of 1 is Saw 1 only (Saw 2 is switched off to reduce CPU load); 1.5 is an equal mix of both waves; 2 is Saw 2 only (Saw 1 is switched off).

Page 14: The ReaRack2 Manual. - REAPER

14

Phase Offset adjusts the phase difference between the two sawtooth waves (measured in wavelengths). The default value of 0.5 results in a square wave when Saw1/Saw2 Mix value is 1.5.

The filter cutoffs, mix and phase offset parameters can be modulated.

Audio Modulation allows you to use any preceding audio for modulation, in one of three ways:

1. The input audio and the oscillator output can be multiplied together to create a ring modulation effect. Note that the output volume level will likely decrease when the ring modulation setting is used, so the input audio level (usually another oscillator) and the oscillator volume levels will need to be adjusted accordingly.

2. The input audio can be used to modulate the frequency of the oscillator. In this setting, the amplitude and frequency of the incoming audio is used to modulate the pitch of the oscillator. For FM synthesis, the incoming audio is best produced by a preceding oscillator with a pitch the same as, or proportional to, the pitch of oscillator being modulated.

3. The oscillator can be used to modulate the amplitude of any incoming audio. In this setting the oscillator waveform is converted to a unipolar waveform (all values are positive). Amplitude modulation is basically a high frequency tremolo effect.

The ring and amplitude modulation settings allow the oscillator to be used on its own as an FX for any audio, as well as with a preceding oscillator.

For information on the Class and Group sliders, see section 2.2.

Page 15: The ReaRack2 Manual. - REAPER

15

5.1.3 Oscillator-Additive.

The “Additive Oscillator” is the ultimate band limited oscillator. It comes at the cost of high CPU requirements, but if you really must have alias free sound, this is the oscillator for you. You can select any of the three classic waveforms (sawtooth, triangle and pulse).

The waveforms are built up by the addition of sinewave harmonics. The default maximum number of harmonics is 128, although you can enter a higher number into the slider if required. To reduce the

Page 16: The ReaRack2 Manual. - REAPER

16

CPU load, use the minimum number of harmonics needed to get the sound you want (reducing the number of harmonics is equivalent to applying a steep lowpass filter).

Control Sliders:

Modulation Target, CC Input and Modulation Range sliders, see 4.1 Patching.

Pitch. The pitch of the oscillator can be set to a fixed note value, or controlled by MIDI note messages. To use MIDI note messages to control the pitch, set the ‘Pitch’ slider to ‘MIDI note’ pitch (default setting).

Harmonic sets the pitch of the oscillator to a harmonic above the fundamental pitch. The fundamental pitch is set by the ‘Fixed Pitch’ slider or by a MIDI note event. The purpose of the ‘Harmonic’ control is to make it easy to set up additive synthesis, using multiple oscillators. Set one oscillator to the fundamental pitch, then add harmonics with the other oscillators. Adjust the volume level of each harmonic to suit.

Tune and Fine Tune sliders are provided for tuning (or detuning) the oscillator pitch. The values of each are summed together. The oscillator can be detuned down into the sub audio range, which may be useful for vibrato effects using the frequency modulation option.

Portamento provides up to 3 seconds of portamento.

Pitch Modulation Centre, see 4.2 Modulation Settings.

Master Pitch Mod. Range (octaves). This slider sets the maximum range for pitch modulation, controlled by either MIDI CC or MIDI Pitch Bend. If using MIDI CCs, the modulation range is a combination of the Modulation Range slider and the Master Pitch Mod. Range slider. If using MIDI Pitch Bend the range is set by this slider only.

Wave Shape selects one of four wave shapes: Sawtooth; Triangle; Pulse; and White Noise.

Pulse Width controls the width of the pulse waveform.

Filter Cutoff (highest harmonic) sets the number of harmonics to be added to create the waveform, applies to sawtooth, triangle and pulse waveforms.

Filter Sweep Mode controls how the filter changes when either the filter cutoff slider is moved or the filter cutoff parameter is modulated. In step mode, the filter harmonics are added or subtracted instantaneously, whereas in continuous mode there will be a smoother transition as hamonics are added or subtracted.

Resonance controls the amplitude of the highest harmonic, providing a pseudo filter resonance effect.

Audio Modulation allows you to use any preceding audio for modulation, in one of three ways:

Page 17: The ReaRack2 Manual. - REAPER

17

1. The input audio and the oscillator output can be multiplied together to create a ring modulation effect. Note that the output volume level will likely decrease when the ring modulation setting is used, so the input audio level (usually another oscillator) and the oscillator volume levels will need to be adjusted accordingly.

2. The input audio can be used to modulate the frequency of the oscillator. In this setting, the amplitude and frequency of the incoming audio is used to modulate the pitch of the oscillator. For FM synthesis, the incoming audio is best produced by a preceding oscillator with a pitch the same as, or proportional to, the pitch of oscillator being modulated.

3. The oscillator can be used to modulate the amplitude of any incoming audio. In this setting the oscillator waveform is converted to a unipolar waveform (all values are positive). Amplitude modulation is basically a high frequency tremolo effect.

The ring and amplitude modulation settings allow the oscillator to be used on its own as an FX for any audio, as well as with a preceding oscillator.

Overdrive. The Additive oscillator module has a built in distortion algorithm, which is similar to the one used in the Amplifier Module. Any amplitude values greater than 1 are compressed up to a hard limit of 1.25. The overdrive setting allows the waveform level to be boosted into the distortion range. Note that if you do distort the waveform, it will no longer be band limited and aliasing will occur.

Output Level sets the output volume.

For information on the Class and Group sliders, see section 2.2.

Page 18: The ReaRack2 Manual. - REAPER

18

5.1.4 Oscillator-Noise.

The “Noise Oscillator” provides a white noise source. The signal can be either mono or pseudo stereo.

Control Sliders:

Stereo width controls the width of the stereo image.

Output Level sets the output volume.

For information on the Class and Group sliders, see section 2.2.

Page 19: The ReaRack2 Manual. - REAPER

19

5.2 Audio Signal Processors.

5.2.1 Filter.

The ‘Filter’ module is based on the JSFX module ‘resonantlowpass’ by Cockos, which is supplied by default in the REAPER installation. This implementation can be used as either a lowpass or a highpass filter. Both the cutoff frequency and the resonance can be modulated.

Control Sliders:

Modulation Target, CC Input and Modulation Range sliders, see 4.1 Patching.

Filter Type. Choose either Lowpass or Highpass filter. A representation of the filter type is displayed in the graphics area of the module.

Cutoff Level sets the cutoff frequency. The nominal cutoff frequency is shown in the graphics area of the module. The cutoff frequency range is 20 to 20,000 Hz.

Resonance sets the amount of resonance at the cutoff frequency. A representation of the resonance level is shown in the graphics area of the module.

Output Level sets the output volume.

For information on the Class and Group sliders, see section 2.2.

Page 20: The ReaRack2 Manual. - REAPER

20

5.2.2 Filter – Moog 24 db.

The ‘Filter – Moog 24 db’ module is an adaptation of the JSFX of the same name by Lubomir I. Ivanov (Liteon), which is supplied by default in the REAPER installation. As the name suggests, the filter code approximates the characteristics of the Moog synthesiser filter . This filter provides lowpass, highpass and bandpass modes. Both the cutoff frequency and the resonance can be modulated.

This module is a higher quality filter than the standard ‘Filter’ (5.2.1). The price of quality is higher CPU load.

Control Sliders:

Modulation Target, CC Input and Modulation Range sliders, see 4.1 Patching.

Processing allows the choice of either mono or stereo. Choosing mono reduces the processing load.

Filter Type. Choose either lowpass (LP), highpass (HP) or bandpass (BP) filter. A representation of the filter type is displayed in the graphics area of the module.

Cutoff sets the cutoff frequency. The nominal cutoff frequency is shown in the graphics area of the module. The cutoff frequency range is 20 to 20,000 Hz.

Page 21: The ReaRack2 Manual. - REAPER

21

Resonance sets the amount of resonance at the cutoff frequency. A representation of the resonance level is shown in the graphics area of the module.

Drive. The filter has a distortion function. Use this setting to control the level of distortion.

Output sets the output volume.

Limiter. Set to on to limit the peak output.

Oversample. The filter may be run at 2x oversampling for higher quality processing.

For information on the Class and Group sliders, see section 2.2.

Page 22: The ReaRack2 Manual. - REAPER

22

5.2.3 Amplifier

The Amplifier module controls the amplitude of the audio signal. Any incoming audio is attenuated relative to the value of the CC messages it is sent. This module is generally controlled by an Envelope Generator module. It can also be controlled by other modules e.g. an LFO module (to create a tremolo effect). You can also set the output volume manually, which enables the module to be used as a distortion effect, or simply as a fixed volume control.

Control Sliders:

Control Method. Select form either ‘MIDI CC’ or ‘Manual’.

CC Input. Select the MIDI CC to be used to control the output level.

Attack/Release Rate Method. An averaging filter is used to smooth out rapid changes in amplitude, to avoid clicking. The window size for the filter can be set either manually, or by reading the ‘plateau’ value from an Envelope Generator module set to ‘master’ class or the ‘minimum stage length’ value from an Envelope Multi-Tool module set to ‘master’ class. Use this slider to choose which method you want to use. Note, it is recommended to leave this slider set to manual unless there is a good reason to use one of the external controls.

Attack/Release Rate. This slider sets the filter window size (in milliseconds). The default setting of 0.25 seconds is adequate for most applications, but the option is there to play with it if you wish. This slider value will be overridden if you choose an attack/release rate method other than ‘Manual’.

Overdrive. The amplifier module has a built in distortion algorithm. The overdrive setting allows the input level to be boosted into the distortion range. When the overdrive slider set at any value other than 1, any boosted input signal values greater than 1 (0 dB) are compressed, up to a hard limit of

Page 23: The ReaRack2 Manual. - REAPER

23

1.25. In true Spinal Tap tradition, the overdrive setting goes up to 11. The distorted output is not anti-aliased.

Output Level sets the output volume.

For information on the Class and Group sliders, see section 2.2.

Page 24: The ReaRack2 Manual. - REAPER

24

5.2.4 Karplus-Strong Delay.

The Karplus-Strong Delay module is a ‘pitched delay’ effect. Any incoming audio is sampled and looped at a delay frequency determined by a MIDI note value. Sampling is triggered by the receipt of the Note On message. The module will continue to loop the current sample until receipt of the next note on. Thus, the module itself behaves like an oscillator. The pitch of the effect can be modulated. Pitch modulation is achieved by simply varying the loop frequency, the sample is not time stretched in any way. Pitch modulation can be controlled by either MIDI CC or MIDI Pitch bend messages.

This module is based on the Karplus –Strong algorithm, which is a physical modelling algorithm for plucked string sounds. However, the module only performs part of the algorithm. According to the original algorithm, the signal (which would typically be a random waveform such as white noise) should be passed through an averaging filter on each loop, causing the signal to decay. In ReaRack, the filtering is done using a Filter module controlled by an Envelope Generator module. This method maintains the modularity concept and allows greater flexibility and scope for experimentation.

Control Sliders:

CC Input and Pitch Modulation Range sliders, see 4.1 Patching.

Tune and Fine Tune sliders are provided for tuning (or detuning) the pitch. The values of each are summed together.

Page 25: The ReaRack2 Manual. - REAPER

25

Pitch Modulation Centre, see 4.2 Modulation Settings.

Velocity Sensitivity controls the affect that the note velocity value has on the output level.

For information on the Class and Group sliders, see section 2.2.

To use the Karplus-Strong Delay to synthesise a plucked sting instrument, insert the following modules on a track:

Oscillator>Karplus-Strong Delay>Envelope Generator>Filter (note there is no need for an amplifier module).

Typically, use the Noise oscillator as the input source.

Set the envelope generator with a fast attack, a long exponential decay and a short release time.

Set the filter to lowpass, with the cutoff set to zero. Set the cutoff modulation range to suit, say around 0.7.

Page 26: The ReaRack2 Manual. - REAPER

26

5.3 Control Signal Generators.

5.3.1 Low Frequency Oscillator (LFO 2).

The ‘LFO’ module is a control module. The LFO can be synchronised to the project tempo. Both the frequency and the pulse width of the oscillator can be modulated by another controller.

Control Sliders:

Modulation Target, CC Input, Modulation Range, CC Output and MIDI Output sliders, see 4.1 Patching.

Page 27: The ReaRack2 Manual. - REAPER

27

Sync. Select a note value for project tempo synchronisation. If the Sync slider is set to ‘Off’, the oscillator becomes free running and the frequency is set by the ‘Frequency’ slider.

Tuplet. The sync frequency can be modified to a duplet or triplet note value.

Frequency sets the frequency when not in sync mode.

Wave Shape selects one of three wave shapes: Sine/Pulse; Triangle; and Random Step. The Sine/Pulse and Triangle shapes can be modified by the Shape – Edge 1 and Shape – Edge 2 sliders

Pulse Width modifies the width of the Sine/Pulse wave and the peak position of the triangle wave.

Shape – Edge 1 and Edge 2. These sliders add curvature to the rising and falling edges of the Sine/Pulse and Triangle waveforms. The edges of the Sine/Pulse wave can be transformed from a vertical edge to a sine curve. The edges of the triangle wave can be transformed from a straight line to a circular arc curve. The resulting wave shape is shown in the graphics area.

Phase. When in sync mode, the phase of the wave can be adjusted using the ‘Phase’ slider.

Note: Known bug, the phase position function uses a dead reckoning method to keep track of where it is. It may get out of sync if you change wave shapes while the phase slider is not set to 0. If this happens, set the slider to 0 and reset the transport.

Output Limit 1/Output Limit 2. These sliders modify the range of the control signal. The waveform will be scaled to fit between the two limits. If limit 2 is set to a higher value than limit 1, the waveform will be inverted.

For information on the Class and Group sliders, see section 2.2.

Page 28: The ReaRack2 Manual. - REAPER

28

5.3.2 Envelope Generator.

Page 29: The ReaRack2 Manual. - REAPER

29

The ‘Envelope Generator’ is a control module. It generates a Delay, Attack, Plateau, Decay, Sustain Release (DAPDSR) envelope, which is output as MIDI CC messages. The module includes a Hold function, which can be used to delay the release phase of the envelope. The shape of the Attack, Decay and Release envelope stages may be varied from linear to exponential curves.

The plateau phase (P) holds the peak value of the envelope for a short period (default is 0.25 milliseconds). The plateau time should be set to match the Attack/Release rate of the amplifier module.

The timebase for the envelope stages can be set to either seconds (default) or beats. Setting the timebase to beats synchronises the envelope generator with the track tempo. Note, the plateau phase is always in milliseconds.

The envelope is triggered by receipt of a MIDI note on message. A MIDI note off message will trigger the release phase. Receipt of a new note message before the envelope has completed will restart the envelope.

The envelope generator can output a control signal with values ranging from 0 to 1, but the peak value is determined by the velocity value of the MIDI note and the setting of the ‘Velocity Sensitivity’ slider.

Most commonly this module would be used to control the Amplifier module, but it can also be used to modulate other parameters, e.g. the cutoff frequency of the Filter module.

There are five trigger modes to select from:

Re-trigger from zero resets the envelope generator to zero on receipt of a new note-on event. This is the default mode.

Re-trigger from last value resets the envelope generator but restarts the attack phase from the last envelope value before receipt of the new note-on event. Among other things, this setting may be useful to reduce clicking when re-triggering notes.

Legato - re-trigger from zero. As per Re-trigger from zero, except that overlapping notes will not re-trigger the envelope.

Legato - re-trigger from last value. As per Re-trigger from last value, except that overlapping notes will not re-trigger the envelope.

Latch. In this mode, pressing a key (sending a note on message) acts as a switch. Send a note once to trigger the envelope and send the same note again to release the envelope. Sending a different note while the envelope is triggered will retrigger the envelope.

Control Sliders:

Modulation Target, CC Input, Modulation Range, CC Output and MIDI Output sliders, see 4.1 Patching.

Trigger Mode selects the trigger mode (see above)

Page 30: The ReaRack2 Manual. - REAPER

30

Timebase sets the timebase to seconds or beats.

Envelope stage settings:

Each of the envelope stages (except plateau and sustain) has both a coarse and a fine slider to set the duration for the stage. The coarse slider is used to choose a fractional value of ether a second or beat (as set by the Timebase slider). The fine slider can be used to adjust the time downwards towards zero.

The Attack, Decay and Release stages have an envelope shape slider to adjust the shape of the envelope stage from linear to an exponential curve.

DELAY time sets the delay from receipt of a MIDI Note On to the start of the envelope.

ATTACK time sets the time for the envelope to reach the peak value.

PLATEAU sets the hold time for the envelope peak value.

DECAY time sets the time for the envelope to fall to the sustain value.

SUSTAIN level sets the starting control signal value for the sustain phase of the envelope.

REALEASE time sets the time for the envelope to reach 0.

HOLD time overrides a ‘note off’ event to delay the start of the release phase of the envelope. The hold time set by this slider is added to the delay time (total hold time = delay time + hold time). If a ‘note off’ event has not been received before the hold time has been exceeded, the ‘note on’ takes precedence and the envelope continues in the pre-release phase.

The envelope stages (except plateau) can all be modulated.

Sustain ramp rate. The sustain level can be ramped up or down over time. This slider sets the rate at which the sustain value changes. The sustain value cannot go above 1 or below 0.

Velocity Sensitivity. The envelope shape is scaled proportional to the velocity value of the MIDI note that triggers the envelope. The velocity sensitivity slider sets the peak level of the envelope. If set to 1, the peak level is equal to the relative velocity value of the note on message. If set to 0, the peak value will be 1. Intermediate values set the peak level proportionally.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 31: The ReaRack2 Manual. - REAPER

31

5.3.3 Envelope Multi-Tool.

Above, the Envelope Muti-Tool set up as an ADSR envelope generator.

Page 32: The ReaRack2 Manual. - REAPER

32

Below, the Envelope Multi-Tool set up as an 8 stage step sequencer

Page 33: The ReaRack2 Manual. - REAPER

33

The envelope Multi-Tool can provide envelopes with 1 to 16 stages. The output can be either MIDI CC or MIDI Note-on/off messages. The envelope can be looped, which provides the mechanism for creating an LFO or a recursive sequencer. There are multiple trigger modes available, including loop modes, see ‘Trigger Modes’ in the ‘Sliders’ section below. There are various methods for controlling stage lengths and note lengths and velocity, if outputting MIDI notes, see ‘Control’ Modes’ in the ‘Sliders’ section below. All controls can be modulated, except for Root Note and Minimum Stage Length. As most of the heavy calculation for this module is performed in the GFX section, modulation is not particularly smooth, as it is updated only 15 to 30 times per second. Only one control method for each function (stage length, note length or velocity) can be modulated. However, this still provides for up to 49 possible modulations at any one time. The curve for each stage can be either a Bezier curve or a step. You can combine both Bezier curve and step stages in one envelope. The curve values for any stage range between the start and end values for that stage. The Bezier control frame is constrained so that values cannot fall outside of this range. Up to 16 levels of Envelope Multi-Tools can be chained together, which provides up to 256 stages if required. A chain of Envelope Multi-Tools can also be looped. See ‘Class’ and ‘Class Group/Chain Position’ in the ‘Control Sliders’ section below.

Graphical User Interface.

The GUI is a combination of an interactive graphics area and sliders.

Graphics Area Controls:

The graphics area contains three input/output areas: the envelope definition area, where you choose the number of stages; the active stage definition area, where you define the curve for each stage and; the envelope output area, which area shows the final envelope shape. If outputting notes, the active stage definition area and each stage in the envelope output area will contain a grey rectangle representing note length and velocity.

The graphical controls are operated as follows: In the envelope definition area, click and drag the grey tag on the right hand end to change the number of stages. If adding stages, hold down the shift key while dragging the tag to give all new stages the same curve type as the initial end stage. In either the envelope definition or the envelope output areas, click in a stage box to make it the active stage. In either of the envelope definition, the envelope output, or the stage definition area, double click in

Page 34: The ReaRack2 Manual. - REAPER

34

the red outlined active stage box to toggle between curve and step modes. In the stage definition area, click and drag the red, green, grey or yellow control points to control the shape of the envelope stage curve. Double click a red curve end point to make it the sustain point (except in a loop trigger mode or single pass). Double click the green middle control point to straighten the curve. Hold down the ctrl/command key for fine movement of control points.

Control Sliders:

Input. Select MIDI CC inputs for modulation. The modulation target is determined by the current control (see control slider below) and the active stage if the current control is a stage control. Only one control method can be modulated for each function (stage length, note length or velocity), e.g. if you modulate the stage 2 ‘Stage Length – active stage’ and then later modulate stage 2 ‘Stage Length – active stage proportional’, the stage 2 ‘Stage Length – active stage’ input will be switched to ‘Off’. If you modulate a control such as ‘Stage Lengths – all equal’, which applies to all stages, all other stage length modulation inputs will be switched to ’Off’.

Output. Outputs can be either MIDI note messages or MIDI CC messages. If set to note output, the triggering note is not passed through.

At the top of the slider drop down list are two options for MIDI note output:

• ‘MIDI Note – Absolute’ will output a MIDI note with a value determined by the height of envelope curve multiplied by 127. The Note value is floored to the nearest integer. If the stage curve is a Bezier curve, as the value is incremented a note-off message is sent, followed by a note-on for the next note.

• ‘MIDI Note – Relative’ will output a note as per MIDI note – absolute, except that the note values will be raised or lowered by the difference between the trigger note value and the start value of the envelope. Note values that would fall outside of the range 0 to 127 are raised or lowered by increments of one octave until the fall within the range.

CC output is high resolution paired CCs. Select the desired MSB CC from the drop down list.

MIDI Output Channel, select the required channel.

Velocity Sensitivity. For CC output, the envelope shape is scaled proportional to the velocity value of the MIDI note that triggers the envelope. The velocity sensitivity slider sets the peak level of the envelope. If set to 1, the peak level is equal to the relative velocity value of the note on message. If set to 0, the peak value will be 1. Intermediate values set the peak level proportionally. Trigger note velocity has no effect on note output.

Trigger Mode. The envelope can be triggered by receiving a MIDI note-on message, or by receipt of a trigger message from another envelope multi-tool. There are two types of trigger modes, Normal and Loop. Loop modes are distinguished by not having a sustain point and in loop mode the envelope start value is forced to be the same as the envelope end value. There are nine trigger modes to choose from:

Page 35: The ReaRack2 Manual. - REAPER

35

• Re-trigger from start value is the default trigger mode and emulates the most common ADSR type envelope behaviour. When triggered by a note-on message, the envelope will start at the value set at the beginning of the first stage. Unless a note off is received, the envelope will progress until it reaches the sustain point. The value at the sustain point will be held until a note-off is received, at which point the envelope will progress to completion. If a note-off is received before the sustain point is reached the envelope will move immediately to the sustain point, but will hold the value which was current when the note-off was received. As the envelope progresses across the stage immediately after the sustain point, the value will progressively merge with the set value, which it will meet at the end of the stage. The envelope will then progress to completion if there are further stages.

• Re-trigger from last value functions as per the above except that the envelope will start at the last output value before receiving the new trigger. The value will be progressively merged towards the envelope set value across the first stage.

• Legato - Re-trigger from start value functions as per Re-trigger from start value, except that overlapping trigger notes (new note-on received before current note-off) will not retrigger the envelope.

• Legato - Re-trigger from last value functions as per Re-trigger from last value, except that overlapping trigger notes (new note-on received before current note-off) will not retrigger the envelope.

• Latch Trigger functions as per Re-trigger from start value, except that it is triggered by receipt of a note-on and will continue until, or remain at the sustain point, until another note-on is received for the same note value.

• Triggered single pass – no sustain. The envelope will be triggered by a note-on message and will continue until it either reaches the end of the envelope or is re-triggered. Although this mode only allows a single pass of the envelope, technically it is a Loop mode because there is no sustain point. This is the preferred trigger mode if chaining envelopes together.

• Loop – Triggered. The envelope is triggered by a note-on message and will progress to the end of the envelope and loop back to the start. Looping will continue until a note-off is received.

• Loop – Latched. The envelope is triggered by a note-on message and will progress to the end of the envelope and loop back to the start. Looping will continue until another note-on is received for the same note value.

• Loop – Continuous. The envelope loops continuously. Use this mode if using the envelope as an LFO or as an endlessly running sequencer.

Page 36: The ReaRack2 Manual. - REAPER

36

Time Unit allows a choice of Seconds or Beats as the base unit for stage and envelope lengths. Use Beats if you want to sync the envelope to the project.

Control. There are controls for various functions most of which can be modulated. There are also different methods for varying the value of those functions. Use this slider to choose a function and a method, to either change the function value, or to select as a modulation target. The functions that can be controlled are Stage Length (i.e. duration), Note Length, Note Velocity, Sustain Level, Root Note and Minimum Stage Length. The Control slider options are labelled according their function and method:

• Stage Length – active stage. Stage lengths are defined using time units (seconds or beats) . Using this method, the length for each stage will be set independently of other stages. A change to a stage length using this method will affect the total length of the envelope.

• Stage Lengths – all equal. A stage length change using this method will apply the new stage length to all stages, and affects the total length of the envelope.

• Stage Length – active stage proportional. This method sets the stage length of the active stage and scales the length of all other stages to maintain the overall envelope length.

• Envelope Length. This is really another method for setting the stage lengths, which it does by scaling the lengths of the stages to suit the new envelope length. Use this method, after setting up the envelope shape using other methods. Typically use this method to vary the loop frequency for a sequencer or LFO.

• Note Length – active stage. Note lengths are defined as a proportion of the stage length, and will always have a value of less than 1. Use this method to set the note duration for each stage independently.

• Note Lengths – all equal. This method allows all note lengths to be set to the same value, regardless of the stage length. The value, however, will be proportional to the shortest stage length.

• Note Lengths – all proportional. This method applies the active stage note length to all stages, proportional to the individual stage lengths.

• Velocity – active stage. Velocity values are defined as a proportion of the 0 to 127 MIDI velocity range. This method enables setting of the velocity for each stage independently of all other stages.

• Velocity – all equal. Use this method to set the velocity for all stages to the same value.

• Sustain Level. There is a control for the sustain level, as well as the ability to adjust the sustain level in the graphics area. The sustain level control is provided mainly as a handle for modulation.

Page 37: The ReaRack2 Manual. - REAPER

37

• Root Note. If outputting MIDI notes, you can specify a root note. This has no effect on the

output and is purely for reference. In the stage definition area, note values are displayed as MIDI note value and, in brackets, the note value based on the root note.

• Minimum Stage Length all stages. This control is mainly for the click reduction method used by the ReaRack Amplifier module. The default value is 0.25 milliseconds. If you want a fast attack followed by a fast decay the recommended method is to use a step curve for the first stage and set the stage length to the minimum stage length. This will allow the amplifier to reach full volume before progressing to the decay stage. The startup default envelope, a standard ADSR envelope, is set up this way. If you want a slow attack, change the curve type to Bezier and increase the stage length.

Control Unit specifies the unit type and maximum value for each control function. For Stage Length controls, the user can choose a division or multiple of the time unit, from 1/16 up to 32 or for the Envelope Length control, up to 512 (seconds or beats). For other controls the unit is fixed and displayed for reference only.

Control Multiplier is used to set the control value as a proportion of the maximum control unit.

Control Modulation Range. If modulating the current control, the range will be between the value of the control multiplier slider and the value of the control modulation range slider.

Class. The Master and Slave class types function as per section 2.2. The Envelope Multi-Tool has two extra class types, which have been added to provide the method for chaining envelopes together. Choose the class 'Chain Link' to link to other instances of the Envelope Multi-Tool. Select the 'Chain Looper' class for the last link in the chain, if you want the chain to loop.

Class Group or Chain Position. As well as being used to as per section 2.2. the 'Class Group or Chain Position' slider can be used to designate the position in the chain of the Envelope Multi-Tool in a chain. The envelope will be triggered when a Multi-Tool with the preceding number has completed its cycle. If the Class has been set to ‘Chain Looper’,the Multi-tool with a group/position number of 1 will be triggered, allowing the chain to be looped.

Page 38: The ReaRack2 Manual. - REAPER

38

5.4 Control Signal Processors.

5.4.1 MIDI Mixer.

The ‘MIDI Mixer’ module can be used to:

• Mix together two control signals according to a chosen operation then output as a single signal.

• Change the level of, or invert a single control signal. • Convert MIDI messages from one type to another. • Block MIDI Messages.

The module can perform three operations on the control values: multiply, add and overlay. Generally this module would be used to mix CC messages. However, different types of MIDI messages can be also mixed together and output as a third type, e.g. mix aftertouch with velocity and output a CC. MIDI Mixer modules can be chained together if you need to mix more than two control signals.

Page 39: The ReaRack2 Manual. - REAPER

39

Control Sliders:

Input sliders, select the inputs that you want to mix.

Output and MIDI Output Channel, see 4.1 Patching. In addition, the output can be set to ‘Off’, in which case it will block any MIDI messages set as inputs.

Operation. Select the scaling operation to be performed on the input CC values:

Multiply.

The Multiply operation multiplies the together the two input control signals. The effect is that the signals modulate each other.

As an example, one input CC could be from an envelope generator set with a delay and a slow attack. The other input CC could be from an LFO with a sine waveform. The resulting CC output would initially be 0, then a sine wave output with gradually increasing amplitude. This output signal could be directed to the Pitch Modulation CC input on an Oscillator module to produce a delayed vibrato.

Maximum.

The Maximum operation will output the higher value of either input.

Minimum.

The Minimum operation will output the lower value of either input.

Input Limit sliders are used to set a scaling factor for each of the input signal values and for the output signal values. In each case, the signal will be scaled to fit between limit 1 and limit 2. Setting limit 2 to a higher value than limit 1 will invert the signal.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 40: The ReaRack2 Manual. - REAPER

40

5.4.2 Trigger.

The ‘Trigger’ module is used to convert a control signal into a note on/off event. When the rising or falling value of the control signal crosses the trigger value, the module will output a MIDI note with a set duration and velocity.

The module can be used to trigger an envelope generator and/or set the pitch of an oscillator. The Trigger module can be used to build a sequencer (use an LFO with a sawtooth waveform, to trigger a series of Trigger modules).

Control Sliders:

CC Input, select the control signal.

MIDI Output Channel, select the output channel.

Trigger on: sets the module to trigger on either the rising or falling edge of a control signal.

Trigger Value Snap Divisor. This control forces the trigger value to snap to a fractional value between 0 and 1.

Page 41: The ReaRack2 Manual. - REAPER

41

Trigger Value sets the module to trigger on a specific control value. The value chosen will be rounded to the nearest fraction as set by the snap divisor slider. The trigger will occur on the rising rising or falling edge of the control signal (but not both), depending on the ‘Trigger on’ setting.

Note, if you want to trigger on 0, ‘Trigger on’ must be set to Rising Edge and if you want to trigger at 1, ‘Trigger on’ must be set to Falling Edge.

Output Note sets the note value of the note event to be sent.

Velocity sets the velocity value of the note event to be sent.

Trigger Hold sets the time until the note off event is sent, subsequent to the note on event.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 42: The ReaRack2 Manual. - REAPER

42

5.4.3 Sample and Hold.

The ‘Sample and Hold’ module samples an incoming CC message stream on receipt of a MIDI ‘note on’ event and outputs a single CC value until receipt of the next ‘note on’. A stream of ‘note on’ events can be filtered according their note and/or velocity values, so that only a specified range of notes will trigger the module.

Control Sliders:

CC Input, select the input control signal.

CC Output, set the output control signal.

MIDI Output Channel, select the output channel.

Trigger on Note: enables selection of either all notes or a single note value to trigger the module.

Trigger on Velocity: enables filtering of the trigger note or notes by the velocity value. The options are All, Greater than, Less than or Equal to.

Velocity Filter Value sets the velocity value used by the ‘Trigger on Velocity’ function.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 43: The ReaRack2 Manual. - REAPER

43

5.4.4 Key Follower.

The ‘Key Follower’ module is the opposite of the Trigger module in the sense that it converts MIDI note values into control values. Typically, key followers are used to modulate the filter cutoff frequency such that the cutoff frequency rises with the pitch of the note. This Module sets the rise or fall of the output CC values with respect to the note values using a two stage linear envelope.

Control Sliders:

CC Output, see 4.1.2.

MIDI Output Channel, see 4.1.3.

Low End sets the output control value for MIDI note 0.

High End sets the output control value for MIDI note 127.

Mid Point sets the output control value for an arbitrary note number.

Mid Point Position sets the note number for the arbitrary mid point.

Output control values are interpolated between set points.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 44: The ReaRack2 Manual. - REAPER

44

5.4.5 Poly Splitter.

The ‘Poly Splitter’ allows the setup of polyphonic voicing. Overlapping MIDI notes received by the module are sent out on separate MIDI channels. This module will also send out polyphonic aftertouch messages to the appropriate channel.

To use this module, copies of the synth voicing tracks should be set up to receive MIDI on single, sequential MIDI channels. Create enough copies of the voicing tracks to cover the highest number of overlapping notes expected at any one time.

It is recommended the Poly Splitter module be placed on a track dedicated to receiving or generating MIDI note data. This could be a track containing MIDI items or a track receiving MIDI note events from another source.

Note: Voicing modules typically include the Oscillator, Envelope Generator, Filter and Amplifier i.e. items that must be controlled or modulated on a ‘per note’ basis.

Control Sliders:

Lowest MIDI Output Channel sets the lowest channel number that will be used for polyphonic voicing, e.g. if set to 4, the first voicing track should be set to receive MIDI on channel 4, the next track on channel 5, the next on channel 6 etc. There are 16 MIDI channels, therefore the number of possible voices is 17 minus the ‘Lowest MIDI Output Channel’ value.

Number of Voices. Use this control to set the maximum number of voices you want to use. The module uses this information to calculate the highest channel number to be used. If there are not enough voices for the number of notes being played at any one time (polyphonic overflow), overflow notes will all be sent to the highest channel (i.e. overflow notes will be played monophonically on the last voice).

Release Time sets a delay until the channel is released for a new note, after a note off message has been received. This allows the release phase of a note to play out before a new note is played.

Page 45: The ReaRack2 Manual. - REAPER

45

Get Release Time from Master EG. The Class/Group settings work differently on the ploy splitter module compared to most other modules. Only the slave option is available and the module will be slaved from a master Envelope Generator module. If this slider is set to Slave, the Poly Splitter module uses the release time setting from the envelope generator to determine the Poly Splitter release time.

Group. This setting sets the group of the master Envelope Generator to be used to set the release time.

Page 46: The ReaRack2 Manual. - REAPER

46

5.4.6 Note Filter.

The Note Filter is a control module used to filter MIDI note events. Notes can be filtered by note value, by nth note (note thinning) and by beat position.

As a note value filter, it can be used as either a band pass or notch filter. Only notes within the filter window(s) are passed through to following modules. The intended purpose of this filter is to allow multiple voices to be triggered using a single keyboard or MIDI piano roll, where a specific note or group of notes is required to trigger each voice. Use this module to e.g. set up a split keyboard, or for MIDI percussion. Typically a voice would be set up on a dedicated track and Note Filter would precede any voicing oscillators on that track. As a band pass filter there is a single filter window, as a Notch filter there are two windows. The default is band pass. Set the value of Filter Window Edge 2 higher than Edge 1 to change to notch filter.

As a note thinning filter, you can set the start note position (from the transport play position) and the loop point (how many notes are received before one is passed through).

The beat filter passes notes based on the project tempo. You can set the filter window open on a specified beat (from the transport play position), to close after some fraction of, or a number of beats, and to re-open (loop) after some fraction of, or a number of beats.

Control Sliders:

MIDI Output Channel, select the output channel .

Page 47: The ReaRack2 Manual. - REAPER

47

Filter Window Edge 1 sets the lower edge of the filter window for a band pass filter, or the higher edge of the lower filter window for a notch filter. Note numbers on the edge or inside the widow will be passed.

Filter Window Edge 2 sets the upper edge of the filter window for a band pass filter, or the lower edge of the higher filter window for a notch filter. Note numbers on the edge or inside the widow will be passed.

Note thinning Start note sets the first note to be passed after the transport has been started.

Note thinning Loop note sets the number of next note to be passed. Intermediate note messages will be blocked.

Beat window Start beat sets the open position for the beat filter window.

Beat window Loop beat sets the re-open position for the beat filter window.

Beat widow size sets the close position for the beat filter window.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 48: The ReaRack2 Manual. - REAPER

48

5.4.7 Nonlinerizer.

The Nonlinearizer remaps MIDI data to either a Bezier curve function or a step function. Either velocity, note value or CC value can be remapped. Remapped CCs can be sent to another CC number if desired. This FX can be used to e.g. remap a velocity curve or to fine tune the output from a control module. Note values can also be remapped, although it’s hard to think of a good reason to do that.

The graphics area is interactive. Adjust values by moving the control points:

• Double clicking the green control point resets the curve. • Pressing the 'a' key while dragging the green control point constrains the movement to

orthogonal axes. This can be useful when using the Bezier curve function if you want the output to be either the square or the square root of the input. The method is to first double-click the green control point to reset it. Then, for output = input squared hold down

Page 49: The ReaRack2 Manual. - REAPER

49

the ’a’ key and drag the control point down towards the input axis as far as it will go. For output = square root input, hold down the ‘a’ key and drag the green control point towards the output axis as far as it will go.

• Double clicking the red end points toggles the end conditions from input = output (diagonal line) to static output (horizontal line).

To form more complex curves, a series of Nonlinearizer modules can be chained together. To do this, match the values of the upper end point of one module with the lower end point of the next and set the end conditions to input = output .

Minor technical note: the Bezier curve is approximated by 500 point. Input values falling between points are linearly interpolated.

Control Sliders:

CC Input, select the input control signal.

CC Output, set the output control signal.

MIDI Output Channel, select the output channel.

Curve Type. Select either Bezier Curve or Step.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 50: The ReaRack2 Manual. - REAPER

50

5.5 Utilities.

5.5.1 Audio MIDI.

The AudioMIDI module can covert an audio signal into a control signal, or, a control signal into an audio signal. The module has three functions. The first and probably most commonly used function is to create a control signal from the envelope of an audio signal (e.g. for sidechaining). The second function is to create a high frequency control signal directly from and audio waveform. The third function is to create an audio signal from a control signal (e.g. create an audio signal from a MIDI LFO).

Control Sliders:

Audio or CC Input, select either Audio, or a MIDI CC control signal input.

CC Output. Select the output control signal CC (if Audio input).

MIDI Output Channel. Select the output MIDI channel (if Audio input).

CC Signal Shape. Select from either Audio Envelope or Audio Waveform.

Gate Threshold. If using Audio input, you can set a gate threshold. Audio below the threshold level will result in a control signal level of 0.

Page 51: The ReaRack2 Manual. - REAPER

51

Window Size sets the sample size used to determine the audio envelope. Setting a smaller widow will follow the audio envelope more closely, but too small a window will cause the resulting signal to break up. The higher the frequency of the input signal, the smaller the window can be. The default window size is more than sufficient to capture the envelope of an 8 kHz signal (the lowest MIDI note).

Gain adjusts the gain of the output signal.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 52: The ReaRack2 Manual. - REAPER

52

5.5.2 Note Scope.

The Note Scope module is used to display a composite waveform created by a chain of oscillators. Place the module below the oscillators in the FX window. To display a static waveform, the scope frequency (pitch) needs to match the pitch of the oscillators. To achieve this, the scope can use the same MIDI note message that sets the oscillator pitch, or set a static pitch value if the oscillators are set to a static pitch. Note, it is not possible to display a static waveform if the oscillators’ pitch is being modulated.

Control Sliders:

Pitch. Select the method for obtaining the pitch used to set the scope sync frequency.

Lowest Harmonic, Tune and Fine Tune. Use these sliders to match the pitch of the oscillators, if necessary.

For information on the ‘Class’ and ‘Class Group’ sliders, see section 2.2.

Page 53: The ReaRack2 Manual. - REAPER

53

6.0 A Very Brief Outline of Sound Synthesis Methods. The timbre of any sound is a combination of its frequency content and its volume envelope. The frequency content of the sound may vary over time as the sound decays. The volume envelope of natural sounds depends on how they are produced. The percussive sound of one rock hitting another has a sharp attack and a short decay time. The sound of a fast flowing river has a continuous sustained output level, but the amplitude and frequency content may be modulated to some extent by wave action. In electronic sound synthesis, we use envelope generators controlling amplifiers to mimic the rise and fall of the volume of natural sounds or instruments, or to generate envelopes that do not occur in the natural world. We use filters or multiple oscillators to produce the desired frequency content in the signal. The first three synthesis methods listed below all use the same methods to control the volume envelope, the difference being the way the frequency content is synthesised.

6.1 Subtractive Synthesis. Subtractive synthesis is probably the simplest and most economical in terms of hardware cost or processing power. The idea is to start with a harmonic rich sound source, then remove frequencies by filtering, to get the desired tone. Typically a sawtooth or square wave is used as the sound source. Sawtooth waves contain every harmonic of the fundamental frequency. Square waves contain every second harmonic. To shape the final tone, harmonics are commonly removed using a low pass filter. Other filter types e.g. high pass or band pass may also be used. Pure sine waves contain no harmonics and filtering sine waves does nothing to affect the tone.

6.2 Additive Synthesis. Additive synthesis is the opposite of subtractive synthesis. The tone is built up by adding together pure sine waves, each being a different harmonic of the fundamental frequency. Additive synthesis requires a lot of processing power or a lot of oscillators. The advantage is that you can get better control over the harmonic content of the sound.

6.3 FM Synthesis. Frequency modulation (FM) synthesis produces harmonic content by modulating the frequency of an oscillator, at audio frequency rates. This produces sidebands of harmonics, either side of the fundamental frequency. FM synthesis is known for its clear bell like sounds and other natural sound qualities. The downside of FM is that it can be a bit of a trial and error approach to creating sounds. There is no way of predicting exactly what sound you will get from what parameter setting, except through experience.

6.4 Physical Modelling. Physical modelling synthesis uses mathematical models of physical systems to mimic the sound of acoustic instruments. This method can be very CPU intensive, so the trick is to devise an algorithm that is simple, yet which models the instrument well enough to give a convincing result. The best known early practical example of physical modelling is the Karplus-Strong algorithm, which models plucked string instruments (see 5.11).

Page 54: The ReaRack2 Manual. - REAPER

54

6.4 Combined Methods. The synthesis methods outlined above are the methods currently supported by ReaRack. Although the methods mentioned are distinctly different, in practice they are often used in combination. Typically subtractive synthesisers use more than one oscillator to generate more complex tones, the output of multiple oscillators added together, builds the tone before filtering. Additive synthesisers often use waveforms other than pure sine waves and still employ filters to shape the final sound. Similarly FM synthesisers may use filters.