The effects of the OpenMixer console, as plugins you can load in any host: CLAP for Bitwig, REAPER, Carla, openmixer and every other CLAP host, and LV2 for Ardour, Carla, MOD and Zynthian, the MOD GUI included.
The DSP inside each one is the console's own (the omx-dsp library), so a plugin sounds the same in your DAW as on the desk, sample for sample. Each plugin is drawn from one declaration: its CLAP parameters, its LV2 ports and its MOD GUI cannot disagree.
| Plugin | CLAP id | LV2 URI | What it does |
|---|---|---|---|
| omx chorus | org.openmixer.chorus |
urn:openmixer:chorus |
The console's chorus: up to four voices read one modulated delay line, the right leg's sweep offset by the spread, mixed with the dry signal. |
| omx comp | org.openmixer.comp |
urn:openmixer:comp |
The console's compressor: threshold, ratio and knee set how hard it holds the level down, attack and release how fast, with makeup gain and a dry/wet mix. Kind picks the RMS detector (Compressor) or the peak detector (Limiter), and detector oversampling can run the control path at 4x; detector topology has it hear the input (feedforward) or its own output (feedback). The DSP is omx-dsp's <omxdsp/fx/omx_comp_instance.h>, the console's own compressor. |
| omx deesser | org.openmixer.deesser |
urn:openmixer:deesser |
The console's de-esser: a detector on a band around the sibilance drives the compressor's gain computer, and the reduction lands on that band alone or on the whole signal. |
| omx delay | org.openmixer.delay |
urn:openmixer:delay |
Stereo delay up to 2 s: feedback through a tone filter that darkens each repeat, ping-pong, wet/dry mix. Zero latency, real-time safe, 44.1 to 192 kHz. |
| omx drive | org.openmixer.drive |
urn:openmixer:drive |
The console's drive: one waveshaper (soft, tape, tube or exciter) run inside the console's 4x oversampler, on the full band, the lows, the highs or a tilt, with drive, character, wet/dry mix and trim. Stereo, real-time safe, 44.1 to 192 kHz. |
| omx eq8 | org.openmixer.eq8 |
urn:openmixer:eq8 |
The console's channel EQ in its 8-band form: 8 parametric bands (bell, shelves, notch, all-pass) plus high- and low-pass filters at 12 or 24 dB/oct. Stereo, zero latency, 44.1 to 192 kHz. |
| omx eq16 | org.openmixer.eq16 |
urn:openmixer:eq16 |
The console's channel EQ in its 16-band form: 16 parametric bands (bell, shelves, notch, all-pass) plus high- and low-pass filters at 12 or 24 dB/oct. Stereo, zero latency, 44.1 to 192 kHz. |
| omx eq32 | org.openmixer.eq32 |
urn:openmixer:eq32 |
The console's channel EQ in its 32-band form: 32 parametric bands (bell, shelves, notch, all-pass) plus high- and low-pass filters at 12 or 24 dB/oct. Stereo, zero latency, 44.1 to 192 kHz. |
| omx flanger | org.openmixer.flanger |
urn:openmixer:flanger |
The console's flanger: one modulated short delay with signed feedback, swept by one oscillator and mixed with the dry signal. |
| omx geq | org.openmixer.geq |
urn:openmixer:geq |
The console's 31-band graphic EQ: one fader per ISO third-octave band, 20 Hz to 20 kHz, ±15 dB each, designed in double precision so the lowest bands hold their shape at 192 kHz. Stereo, zero latency, 44.1 to 192 kHz. |
| omx keyed-gate | org.openmixer.keyed-gate |
urn:openmixer:keyed-gate |
The console's channel gate with a sidechain key: the detector listens to the key your host routes to it, or to the signal itself. One gain for both legs, so the stereo image never shifts. Real-time safe, 44.1 to 192 kHz. |
| omx limiter | org.openmixer.limiter |
urn:openmixer:limiter |
The precision limiter: a look-ahead, true-peak, stereo-linked brickwall. |
| omx phaser | org.openmixer.phaser |
urn:openmixer:phaser |
The console's phaser: identical all-pass sections swept in octaves by one oscillator, with feedback around the chain and a wet/dry mix. |
| omx pitch | org.openmixer.pitch |
urn:openmixer:pitch |
The console's pitch shifter: shifts both channels up or down by semitones and cents, without changing their length, mixed with the dry signal. |
| omx reverb | org.openmixer.reverb |
urn:openmixer:reverb |
The console's reverb: room, plate, hall, reverse and gated algorithms with pre-delay, size, damping, width and low and high cuts, mixed with the dry signal. |
| omx rotary | org.openmixer.rotary |
urn:openmixer:rotary |
The console's rotary speaker: a drum rotor on the low band and a horn rotor on the high band, with stop, slow and fast speeds, mixed with the dry signal. |
| omx strip | org.openmixer.strip |
urn:openmixer:strip |
The console's channel strip in one plugin: input trim, HPF/LPF, gate, four-band EQ and compressor, in the desk's order or any other. Stereo, real-time safe, 44.1 to 192 kHz. |
| omx transient | org.openmixer.transient |
urn:openmixer:transient |
The console's transient designer: more or less attack and sustain, from two envelope contrasts, with no threshold to set. |
| omx tremolo | org.openmixer.tremolo |
urn:openmixer:tremolo |
The console's tremolo and auto-pan: one oscillator turned into a level change on both legs, or into a left-right pan. |
| Parameter | Range | Default |
|---|---|---|
| Spread | 0 to 0.5 | 0 |
| Rate | 0.05 to 8 Hz | 0.6 Hz |
| Depth | 0 to 12 ms | 4 ms |
| Voices | 1 to 4, whole steps | 3 |
| Mix | 0 to 100 % | 35 % |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Threshold | -60 to 0 dB, whole steps | -18 dB |
| Ratio | 1 to 20 | 4 |
| Knee | 0 to 24 dB | 6 dB |
| Attack | 0.1 to 100 ms | 5 ms |
| Release | 5 to 3000 ms, whole steps | 200 ms |
| Makeup | 0 to 24 dB | 0 dB |
| Mix | 0 to 100 %, whole steps | 100 % |
| Kind | Compressor / Limiter | Compressor |
| Detector Oversampling | Auto / Off / 4x | Auto |
| Detector Topology | Feedforward / Feedback | Feedforward |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Freq | 2000 to 16000 Hz, whole steps | 7000 Hz |
| Width | 0.25 to 4 oct | 1 oct |
| Threshold | -60 to 0 dB | -30 dB |
| Ratio | 1 to 20 | 4 |
| Range | -24 to 0 dB | -12 dB |
| Attack | 0.1 to 50 ms | 1 ms |
| Release | 5 to 500 ms, whole steps | 60 ms |
| Mode | Split / Wideband | Split |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Time | 0 to 2000 ms, whole steps | 300 ms |
| Feedback | 0 to 0.99 | 0.3 |
| Mix (wet) | 0 to 1 | 0.3 |
| Tone (0 bright, 1 dark repeats) | 0 to 1 | 0.3 |
| Ping-pong | off / on | off |
Plus the host's bypass. The tone filter holds the same corner at every sample rate, so a session moved from 48 to 96 kHz sounds the same.
| Parameter | Range | Default |
|---|---|---|
| Drive | 0 to 36 dB | 0 dB |
| Character | -1 to 1 | 0 |
| Band Frequency | 20 to 20000 Hz, whole steps | 2000 Hz |
| Mix | 0 to 100 % | 100 % |
| Trim | -24 to 12 dB | 0 dB |
| Curve | Soft / Tape / Tube / Exciter | Soft |
| Band | Full / Low / High / Tilt | Full |
| Auto Gain | off / on | on |
| Stereo Link | off / on | on |
| HF Roll-off | Off / 12 kHz / 16 kHz | Off |
| Oversampling | 1 / 2 / 4 | 4 |
Plus the host's bypass.
| Section | Parameters |
|---|---|
| High-pass | on/off, 20 to 1000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Low-pass | on/off, 1000 to 20000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Bands 1 to 8 | each on/off, type, frequency (20 to 20000 Hz, whole steps), gain (-15 to 15 dB), Q (0.3 to 116; its top for a notch only) |
Plus the host's bypass, which is the whole EQ's switch. Every band and filter starts off, so a freshly loaded instance passes the signal untouched.
| Section | Parameters |
|---|---|
| High-pass | on/off, 20 to 1000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Low-pass | on/off, 1000 to 20000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Bands 1 to 16 | each on/off, type, frequency (20 to 20000 Hz, whole steps), gain (-15 to 15 dB), Q (0.3 to 116; its top for a notch only) |
Plus the host's bypass, which is the whole EQ's switch. Every band and filter starts off, so a freshly loaded instance passes the signal untouched.
| Section | Parameters |
|---|---|
| High-pass | on/off, 20 to 1000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Low-pass | on/off, 1000 to 20000 Hz, whole steps; slope 12 dB/oct / 24 dB/oct |
| Bands 1 to 32 | each on/off, type, frequency (20 to 20000 Hz, whole steps), gain (-15 to 15 dB), Q (0.3 to 116; its top for a notch only) |
Plus the host's bypass, which is the whole EQ's switch. Every band and filter starts off, so a freshly loaded instance passes the signal untouched.
| Parameter | Range | Default |
|---|---|---|
| Rate | 0.05 to 5 Hz | 0.25 Hz |
| Depth | 0 to 5 ms | 2 ms |
| Feedback | -0.95 to 0.95 | 0.6 |
| Mix | 0 to 100 % | 50 % |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| 20 Hz | -15 to 15 dB | 0 dB |
| 25 Hz | -15 to 15 dB | 0 dB |
| 31.5 Hz | -15 to 15 dB | 0 dB |
| 40 Hz | -15 to 15 dB | 0 dB |
| 50 Hz | -15 to 15 dB | 0 dB |
| 63 Hz | -15 to 15 dB | 0 dB |
| 80 Hz | -15 to 15 dB | 0 dB |
| 100 Hz | -15 to 15 dB | 0 dB |
| 125 Hz | -15 to 15 dB | 0 dB |
| 160 Hz | -15 to 15 dB | 0 dB |
| 200 Hz | -15 to 15 dB | 0 dB |
| 250 Hz | -15 to 15 dB | 0 dB |
| 315 Hz | -15 to 15 dB | 0 dB |
| 400 Hz | -15 to 15 dB | 0 dB |
| 500 Hz | -15 to 15 dB | 0 dB |
| 630 Hz | -15 to 15 dB | 0 dB |
| 800 Hz | -15 to 15 dB | 0 dB |
| 1 kHz | -15 to 15 dB | 0 dB |
| 1.25 kHz | -15 to 15 dB | 0 dB |
| 1.6 kHz | -15 to 15 dB | 0 dB |
| 2 kHz | -15 to 15 dB | 0 dB |
| 2.5 kHz | -15 to 15 dB | 0 dB |
| 3.15 kHz | -15 to 15 dB | 0 dB |
| 4 kHz | -15 to 15 dB | 0 dB |
| 5 kHz | -15 to 15 dB | 0 dB |
| 6.3 kHz | -15 to 15 dB | 0 dB |
| 8 kHz | -15 to 15 dB | 0 dB |
| 10 kHz | -15 to 15 dB | 0 dB |
| 12.5 kHz | -15 to 15 dB | 0 dB |
| 16 kHz | -15 to 15 dB | 0 dB |
| 20 kHz | -15 to 15 dB | 0 dB |
Plus the host's bypass.
The console's gate, keyed: the stereo signal is gated while the detector listens to a second, mono input, the key (an LV2 sidechain port; in CLAP a second input port). With nothing routed to the key, or Key set to Self, it is the ordinary self-keyed gate.
| Parameter | Range | Default |
|---|---|---|
| Key | Self / Sidechain | Sidechain |
| Threshold | -80 to 0 dB | -40 dB |
| Ratio | 1 to 100 | 16 |
| Range | -90 to 0 dB | -90 dB |
| Attack | 0 to 500 ms | 1 ms |
| Release | 0 to 5000 ms | 100 ms |
| Knee start | -80 to 0 dB, whole steps | -43 dB |
| Knee end | -80 to 0 dB, whole steps | -37 dB |
| Hold | 0 to 2000 ms, whole steps | 10 ms |
| Hysteresis | 0 to 24 dB | 3 dB |
| Key high-pass | 0 to 20000 Hz, whole steps | 0 Hz |
| Key low-pass | 0 to 20000 Hz, whole steps | 0 Hz |
Plus the host's bypass. An attack under 0.5 ms engages the 4x detector path, which adds 72 frames of latency, reported to the host; otherwise the latency is zero. Its LV2 URI, ports and defaults are those of the keyed gate bundle the OpenMixer console used to ship, so a session saved with that bundle loads this one.
| Parameter | Range | Default |
|---|---|---|
| Ceiling | -12 to 0 dBFS | -1 dBFS |
| Lookahead | 0.5 to 5 ms | 1.5 ms |
| Release | 1 to 1000 ms, whole steps | 50 ms |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Rate | 0.05 to 5 Hz | 0.5 Hz |
| Base | 50 to 2000 Hz, whole steps | 200 Hz |
| Depth | 0 to 6 oct | 4 oct |
| Stages | 2 to 12, whole steps | 6 |
| Feedback | -0.9 to 0.9 | 0.4 |
| Mix | 0 to 100 % | 50 % |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Semitones | -12 to 12 st, whole steps | 0 st |
| Cents | -50 to 50 cents, whole steps | 0 cents |
| Mix | 0 to 100 % | 100 % |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Plate Mod Depth | 0 to 400 %, whole steps | 100 % |
| Mix | 0 to 1 | 0.3 |
| Size | 0 to 1 | 0.7 |
| Damping | 0 to 1 | 0.5 |
| Width | 0 to 1 | 1 |
| Predelay | 0 to 100 ms, whole steps | 0 ms |
| Lowcut | 0 to 20000 Hz, whole steps | 0 Hz |
| Highcut | 0 to 20000 Hz, whole steps | 20000 Hz |
| Reverse | 50 to 500 ms, whole steps | 300 ms |
| Hold | 10 to 2000 ms, whole steps | 120 ms |
| Release | 1 to 500 ms, whole steps | 20 ms |
| Gate Threshold | -80 to 0 dBFS, whole steps | -40 dBFS |
| Algorithm | Room / Plate / Hall / Reverse / Gated | Room |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Horn Slow | 0.1 to 2 Hz | 0.8 Hz |
| Horn Fast | 3 to 10 Hz | 6.8 Hz |
| Drum Slow | 0.1 to 2 Hz | 0.7 Hz |
| Drum Fast | 3 to 10 Hz | 5.9 Hz |
| Accel | 0.25 to 4 x | 1 x |
| Balance | -100 to 100 %, whole steps | 0 % |
| Mix | 0 to 100 % | 100 % |
| Speed | Stop / Slow / Fast | Slow |
Plus the host's bypass.
Five stages, each omx-dsp's instance face of the console's own kernel, run one after the other; each has its own switch:
| Stage | Parameters |
|---|---|
| Input | on/off; Trim, a click-free ramp to each new gain |
| Filters | on/off; HPF and LPF, each on/off, its frequency, 12 or 24 dB/oct |
| Gate | on/off, threshold, ratio, range, attack, release, knee start and end, hold, hysteresis |
| EQ | on/off; four bands, each on/off, type (bell, low or high shelf, notch, all-pass 1st or 2nd order), frequency, gain, Q |
| Comp | on/off, threshold, ratio, knee, attack, release, make-up, kind (compressor: RMS detector; limiter: peak), mix, detector oversampling (auto, off, 4x) |
Order (0 to 119) picks the order of the five stages: 0 is the desk's input > filters > gate > EQ > comp, and the rest follow in lexicographic order (1 is input > filters > gate > comp > EQ, ... 119 is comp > EQ > gate > filters > input). Plus the host's bypass. The latency reported is the sum of the stages': the gate's and the compressor's 4x detector paths while they are engaged, else zero.
0.3.0 changed the parameter list (the Input and Filters switches, the gate's knee, hold and hysteresis, the compressor's kind, mix and detector oversampling, five-stage orders): a session saved with 0.2.0 does not load as it was, though at 0.2.0's settings the strip sounds the same, sample for sample.
| Parameter | Range | Default |
|---|---|---|
| Attack | -24 to 24 dB | 0 dB |
| Sustain | -24 to 24 dB | 0 dB |
| Attack Time | 2 to 50 ms | 10 ms |
| Sustain Time | 50 to 2000 ms, whole steps | 250 ms |
| Output | -24 to 12 dB | 0 dB |
Plus the host's bypass.
| Parameter | Range | Default |
|---|---|---|
| Rate | 0.1 to 20 Hz | 4 Hz |
| Depth | 0 to 100 % | 50 % |
| Mix | 0 to 100 % | 100 % |
| Mode | Tremolo / Pan | Tremolo |
Plus the host's bypass.
Every plugin ships a set of factory presets, one JSON file each, in presets/<plugin id>/<preset id>.json
(for example presets/org.openmixer.drive/amp-tube.json). The omx-plugins package installs them
read only under /usr/share/omx/presets/, where the console's preset library lists them as the
factory group. A file names the plugin, the preset's id and name, and every parameter by symbol,
unit and plain value (a choice also by its label); no value leaves its declared range.
tools/gen-presets.mjs writes the files and make presets checks them.
On Fedora, from the FreeMixer package channel:
sudo dnf config-manager addrepo --from-repofile=https://freemixer.github.io/rpm/freemixer.repo
sudo dnf install omx-pluginsOn Debian bookworm or trixie, Raspberry Pi OS and Zynthian (replace trixie with your
release):
sudo install -d /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/freemixer.asc https://freemixer.github.io/deb/freemixer.asc
echo "deb [signed-by=/etc/apt/keyrings/freemixer.asc] https://freemixer.github.io/deb/debian/trixie ./" \
| sudo tee /etc/apt/sources.list.d/freemixer.list
sudo apt update
sudo apt install omx-pluginsomx-plugins installs both formats. To take only the one your host loads, install
omx-plugins-clap (CLAP hosts) or omx-plugins-lv2 (LV2 hosts) instead. The plugins land where
hosts look without configuration (/usr/lib/clap on every distribution, the path the CLAP specification gives; /usr/lib64/lv2 on Fedora,
/usr/lib/lv2 on Debian). Rescan plugins in your host and look for the omx plugins under openmixer.
Every release also carries the packages on its
GitHub release page, and for a Zynthian without
the apt channel, omx-plugins-zynthian-<version>-arm64.tar.gz: copy its lv2/ bundles into
/zynthian/zynthian-plugins/lv2 and rescan the LV2 plugins from Zynthian's admin menu.
Projects that build on the plugins' parameters and instance code install the headers instead of
copying them: omx-plugins-devel on Fedora, omx-plugins-dev on Debian (they land in
/usr/include/omx-plugins). The same package carries libomxplugins.a (pkg-config omxplugins):
every plugin's CLAP face in one static library, for a host that runs them in its own process
without loading .clap files. <omx-plugins/omx_clap_static.h> lists their entries by CLAP id:
#include <omx-plugins/omx_clap_static.h>
const clap_plugin_entry_t *e = omx_clap_static_find("org.openmixer.delay");
e->init("");
const clap_plugin_factory_t *f = e->get_factory(CLAP_PLUGIN_FACTORY_ID);
const clap_plugin_t *delay = f->create_plugin(f, host, "org.openmixer.delay");OMX_CLAP_STATIC_PLUGINS (OMX_CLAP_STATIC_COUNT rows of {id, entry}) walks them all, and
omx_clap_static_entry is all of them behind one CLAP entry and one plugin factory.
To build from source, see BUILDING.md.
GPL-3.0-or-later. See LICENSE.