Parallel routing and modulation for REAPER 7+ — Ableton/Bitwig style

Installation

SideFX requires REAPER 7.0 or later.

Via ReaPack

Install SideFX and its dependencies via ReaPack.

Step 1: Install Dependencies

Go to Extensions > ReaPack > Browse packages and install each of these:

Package Repository Description
ReaImGui ReaTeam Extensions ImGui bindings for REAPER UI
ReaWrap Conceptual Machines OOP wrapper library
RPP-Parser ReaTeam Scripts Required for preset save/load
js_ReaScriptAPI (optional) ReaTeam Extensions Custom preset folder selection

Step 2: Add Conceptual Machines Repositories

  1. Go to Extensions > ReaPack > Import repositories...
  2. Paste both URLs (one per line):
    https://github.com/Conceptual-Machines/ReaWrap/raw/main/index.xml
    https://github.com/Conceptual-Machines/SideFX/raw/main/index.xml
  3. Click OK

Step 3: Install SideFX

  1. Go to Extensions > ReaPack > Browse packages
  2. Search for "SideFX"
  3. Right-click and select Install
  4. Restart REAPER

Running SideFX

After installation:

  1. Go to Actions > Show action list
  2. Search for "SideFX"
  3. Select the action and click Run
  4. (Optional) Assign a keyboard shortcut for quick access

How It Works

SideFX provides an Ableton/Bitwig-style interface for managing REAPER's FX chain. Understanding how it works under the hood will help you get the most out of it.

Container-Based Architecture

SideFX uses REAPER 7's Container FX as its primary building block. Every device, rack, and chain you create is actually a container with a specific naming convention:

This approach gives SideFX full control over the FX structure while leveraging REAPER's native container capabilities.

Device Structure (D-containers)

When you add a plugin through SideFX, it gets wrapped in a D-container with the following structure:

D1: Plugin Name (Container)
├── D1_FX: Plugin Name (your plugin)
└── D1_Util (SideFX_Utility JSFX)

The utility JSFX provides additional controls like pre/post gain and routing options that appear in the device sidebar.

Bare Devices (BD-containers)

Bare devices are a lightweight alternative to full D-containers. They display the plugin directly without wrapping it in a container:

BD1: Plugin Name (the plugin itself, no container)

Bare devices have these characteristics:

Bare devices are useful for simple plugins that don't need the extra controls, or when you want to minimize CPU overhead. Post FX (oscilloscope, spectrum analyzer) are always bare devices.

Rack Structure (R-containers)

Racks enable parallel processing by splitting audio into multiple chains:

R1 (Container)
├── SideFX_Mixer (JSFX - mixes all chains)
├── C1 (Chain container)
│   └── D1: Effect A
├── C2 (Chain container)
│   └── D2: Effect B
└── C3 (Chain container)
    └── D3: Effect C

Audio enters the rack, gets duplicated to each chain, processed independently, then mixed back together by the SideFX_Mixer.

JSFX Plugins

SideFX includes three custom JSFX plugins that power its features:

Plugin Purpose
SideFX_Utility Added to every device. Provides pre-gain, post-gain, and the Mix (dry/wet) and Delta controls shown in the device sidebar.
SideFX_Mixer Added to every rack. A 16-channel mixer that combines parallel chains with individual volume, pan, mute, and solo controls per chain.
SideFX_Modulator The LFO engine. Contains the actual modulation logic including rate, curve interpolation, tempo sync, and parameter output. See the Modulators section for details.
Note: These JSFX plugins are hidden from the plugin browser and are implementation details. They are automatically added and managed by SideFX — you should not add or configure them manually.

SideFX as Your FX Manager

SideFX is designed to be the primary interface for managing your track's effects. When you use SideFX, it takes ownership of the FX chain structure.

Important: Avoid modifying SideFX-created containers directly in REAPER's FX window. Renaming, reordering, or restructuring containers outside of SideFX may cause unexpected behavior or break the interface. Always use SideFX to manage devices, racks, and chains.

What You Can Safely Do in REAPER

What to Avoid

Quick Start

Get up and running with SideFX in minutes.

SideFX main interface
The SideFX interface showing the plugin browser, device chain, and rack

1. Open SideFX

Run the SideFX action from REAPER's action list, or assign it to a keyboard shortcut.

2. Select a Track

SideFX operates on the currently selected track. Select a track in REAPER's arrange view or mixer.

3. Add Plugins

Use the plugin browser on the left to find and add plugins. Double-click a plugin or drag it onto the device chain.

4. Create a Rack

Click + Rack to create a parallel processing rack. Add devices to each chain for parallel effects.

A rack with multiple chains
A rack containing two parallel chains with different effects

5. Add Modulation

Expand a device panel and use the modulator section to add LFO modulation to any parameter.

Modulator panel
A modulator linked to a filter cutoff parameter

Plugin Browser

The plugin browser on the left side of SideFX lets you find and add plugins to your device chain.

Plugin browser panel

Searching Plugins

Adding Plugins

Selecting Parameters

Right-click a device header and select Select Parameters to choose which parameters appear in the device panel. The parameter selector dialog lets you:

Parameter selector dialog
The parameter selector with unit override dropdowns

Devices

Devices are the building blocks of your FX chain. Each device wraps a plugin in a container with additional controls.

Device Controls

Each device panel shows:

Device Context Menu

Right-click a device header for options:

Post FX

The Post FX area sits at the end of your device chain, after all your main effects and racks. It's designed for analysis tools and final-stage processing that should always come last in the signal flow.

Post FX area with analyzers

What is Post FX?

Post FX is a dedicated section that appears to the right of your main device chain. Unlike regular devices:

Adding Post FX

Drag a plugin from the browser and drop it on the Post FX area (the bordered region at the right edge of the chain). The plugin will be added as a bare device with the POST prefix.

Tip: Post FX is ideal for metering plugins, analyzers, loudness meters, or any tool you want to monitor your final output without affecting the main processing chain.

Analyzers

SideFX includes built-in audio analysis tools that live in the Post FX area.

Oscilloscope and Spectrum analyzer panels

Available Analyzers

Analyzer Description
Oscilloscope Stereo waveform display with logarithmic dB scale. Shows left channel (green) and right channel (magenta).
Spectrum Frequency response analyzer with logarithmic frequency scale (20Hz-20kHz).

Adding Analyzers

Click the Scope Scope or Spectrum Spectrum button in the toolbar to add an analyzer. Analyzers appear in the Post FX area at the end of your device chain.

Analyzer Controls

Each analyzer panel provides these controls in the header:

Collapsed View

When collapsed, analyzers display as a narrow vertical strip showing only the essential controls: expand button, popout, power, and delete. This saves screen space while keeping analyzers accessible.

Popout Windows

Click the Popout popout button to open an analyzer in its own resizable window. This is useful for larger displays or when you want to keep the analyzer visible while working on other parts of your chain. The inline panel hides when popped out.

Bypass Behavior

When an analyzer is bypassed (power off), the visualization area shows only the grid and labels — the actual waveform or spectrum data is cleared. This provides a clear visual indication that the analyzer is inactive while maintaining the panel structure.

Racks & Chains

Racks enable parallel processing with multiple chains that can be mixed together.

Creating a Rack

  1. Click the Rack Rack button in the toolbar (or drag it to a specific position)
  2. A new rack appears with one empty chain
  3. Drag plugins from the browser into the chain

Adding Chains

Click the + button at the bottom of a rack to add a new chain. Each chain processes audio in parallel.

Note: Each rack supports up to 16 parallel chains.

Chain Mixer

Each rack has a built-in mixer with per-chain controls:

Converting Chains to Devices

Right-click a chain header and select Convert to Devices to extract the chain's contents back to the main device chain.

Modulators

Modulators add movement to your sound by automatically varying parameter values over time.

How Modulators Work

Each modulator is powered by the SideFX_Modulator JSFX plugin. The JSFX handles all the real-time modulation logic:

SideFX's UI controls the JSFX parameters and uses REAPER's native parameter linking (plink) system to connect the modulator output to your target parameters. This means modulation happens at the audio engine level, not in the script.

Adding a Modulator

  1. Expand a device panel
  2. In the modulator section, click + Mod
  3. A new LFO modulator appears

Linking Parameters

To link a parameter to a modulator:

  1. Add a modulator to the device
  2. Right-click any parameter slider in the device
  3. Select Link to LFO 1 (or LFO 2, etc.)
  4. The parameter will now be modulated by the LFO

Modifier keys when linking:

Parameter link context menu

Modulator Controls

Control Description
Rate LFO speed in Hz (when in Free mode)
Free/Sync Toggle between free-running Hz rate or tempo-synced divisions
Sync Rate Tempo-synced rate (1/4, 1/8, 1/16, etc.) when Sync is enabled
Trigger LFO restart mode: Free (continuous), Transport (restart on play), MIDI (restart on note), Audio (restart on transient). Click to expand advanced settings for MIDI/Audio trigger configuration.
Loop/One-shot Toggle between looping LFO or single envelope playback
Phase LFO starting position (0-360°)
Curve LFO shape display (click to open curve editor)

Curve Editor

Click the curve display to open the curve editor. Create custom LFO shapes by adding and moving control points. Use bezier handles for smooth curves.

Curve editor
The curve editor with a custom LFO shape
Tip: Hold Shift while dragging sliders for fine control.

Mod Matrix

The Mod Matrix provides a unified view of all parameter links within a device, making it easy to manage multiple modulation assignments at once.

Mod Matrix dialog showing parameter links

Opening the Mod Matrix

Click the Matrix matrix button in the modulator header to open the Mod Matrix dialog for that device. The dialog shows all parameter links from all modulators in the device.

Matrix Columns

Column Description
LFO Which modulator (LFO 1, 2, etc.) controls this link
Device The target device name
Param The linked parameter name
Mode U (Unipolar: 0 to +depth) or B (Bipolar: -depth to +depth)
Depth Modulation amount slider (-1 to +1)
Dis Disable/enable the link without removing it
Bake Bake this link to automation
Del Remove the parameter link

Disabling vs Removing Links

Use the Dis button to temporarily disable a link while preserving its depth setting. This is useful for A/B comparisons. The Del button permanently removes the link.

Baking Automation

Convert modulator movements into REAPER automation envelopes for precise editing or to free up CPU.

How to Bake

  1. Set up your modulator and parameter link
  2. Click the Bake button on the modulator
  3. Choose a range (project, track, time selection, or selected items)
  4. Click Bake to create the automation

Range Modes

Mode Description
Project Entire project length
Track From first to last item on track
Time Selection Current time selection
Selected Items Duration of selected items

Bake Settings

Configure baking behavior in Settings:

Presets

Save and load your entire FX chain configuration, including all devices, racks, modulators, and parameter links.

Saving a Preset

  1. Click the Save save button in the toolbar
  2. Enter a name for your preset
  3. Click Save

Presets are saved to a SideFX/chains/ folder in your REAPER resources directory. Each preset consists of:

Loading a Preset

  1. Click the Save save button in the toolbar
  2. Select a preset from the list
  3. Click Load
Warning: Loading a preset replaces all FX on the current track. Make sure to save your current setup first if needed.

What Gets Saved

Settings

Click the Settings gear button in the toolbar to access settings.

Display

Parameters

Bake

Keyboard Shortcuts

Shortcut Action
Shift + drag Fine control on sliders
Double-click slider Reset to default value
Double-click plugin Add plugin to chain
Right-click device Open context menu

Troubleshooting

Cannot dock window in fresh REAPER install

On a fresh REAPER installation with no docked windows, SideFX may not dock into REAPER's docker. This is a REAPER/ReaImGui limitation where the docker needs to be "activated" first.

Workaround: Dock any native REAPER window (e.g., Actions, Mixer) first, then SideFX will be able to dock.

Multiple Serum instances don't receive MIDI

When using multiple Serum (or Serum 2) instances on the same track, only the first instance receives MIDI by default. This is because REAPER's VST instruments default to "Replace MIDI bus" mode instead of "Merge with MIDI bus".

Workaround: For each additional Serum instance:

  1. Open the FX window for the Serum plugin (double-click the device header)
  2. Click the I/O button (routing)
  3. Under MIDI Output, select "Merges with MIDI bus"
Note: This setting is not exposed via REAPER's scripting API, so SideFX cannot set it automatically. This affects any instrument plugin that needs to pass MIDI to subsequent plugins.