Understanding Low-Cut Control on Behringer Analog Synths
The low-cut filter on Behringer analog synthesizers, particularly the D20 and Model D, is one of the most useful voice-shaping tools on the board, but getting reliable MIDI and OSC commands to control it properly takes some effort. Most users hit the wall quickly because Behringer's documentation is sparse and the mapping isn't always intuitive. Here's how to actually get it working without spending hours guessing. The D20 receives continuous controller messages on MIDI channel 1 through 16, and the low-cut filter is controlled via specific CC numbers. The primary ones are CC#88 for the filter cutoff frequency and CC#89 for resonance. These aren't mentioned in the basic quick-start guide, which is why people end up searching forums and Reddit threads for an answer. If you're running Max/MSP, Pure Data, or TouchOSC and want to send OSC messages instead, the D20's OSC implementation is MIDI-to-OSC translated internally. You map your OSC addresses to the equivalent MIDI CC numbers. For example, an OSC message to /cc/88 with a float value between 0.0 and 1.0 gets converted to a MIDI CC byte. It works, but it feels brittle. Small timing issues between the host application and the synth's USB-MIDI interface can cause stuttering or missed value changes, especially when modulating the low-cut in real time during a performance.
With the Model D, the situation is slightly better. The cutoff is CC#88 and resonance is CC#89, same as the D20, but the Model D also supports parameter value changes through sysex dumps. That means you can load a complete patch state into your DAW and read it back. The low-cut filter position is included in the sysex data, so you can automate it through the sysex stream rather than fighting with real-time CC messaging.
The Practical Workaround Nobody Talks About
I spent about three weeks dealing with a specific issue where the low-cut filter on my D20 would jump erratically whenever I sent rapid CC changes while also modulating the VCF cutoff at the same time. The behavior was completely unpredictable. Sometimes it'd snap to a different frequency instantly, sometimes it would lag by half a second. What I eventually figured out is that the D20 has a priority conflict between the manual low-cut switch and the MIDI incoming CC stream. When both are active simultaneously, the firmware seems to toggle between them rather than smoothly interpolating, which creates those jumps. The workaround is straightforward: route the low-cut control exclusively through MIDI and disable the manual low-cut engage button on the front panel. In the D20's system settings menu, there's a parameter called "Front Panel Lock" that, when enabled, ignores all physical knob and button input and only responds to MIDI. Once I set that, the low-cut modulation became perfectly smooth. It's a bit of a nuisance because you lose tactile control during performance, but the jumps were driving me crazy and this fixed it entirely. Another issue I ran into was that CC#88 on the D20 doesn't use a linear scale. The low-frequency range is compressed significantly compared to the upper range. If you map a standard automation curve to it, your low-cut sweep will sound sluggish at the bottom and then spike way too fast in the upper register. I ended up building a lookup table in Ableton's Simpler that remaps the CC value using a logarithmic curve before it hits the synth. This took about twenty minutes to set up and has been rock solid ever since.
Get the Full Details

Reading the Full Command Set
If you want to explore beyond just the low-cut filter, Behringer provides system exclusive dump files for the D20 that include every controllable parameter. You can download these from the Behringer website under the D20 support section. The dump file is a .syx file that you can open with any text editor or send through a tool like Sysex Librarian or MIDI Ox. The low-cut section appears around offset bytes 0x20 through 0x25 in the dump, and the values are stored as raw MIDI byte values (0–127), not scaled percentages. That detail matters because if you're writing your own script to parse these dumps, you'll need to account for the raw values directly. For the Model D, the same principle applies but the sysex structure is slightly different. The low-cut cutoff is at a different offset, and the resonance value is encoded differently because the Model D uses a different VCF architecture despite looking identical on the surface. If you pull a dump from each and compare them side by side, the differences become obvious pretty quickly.
Common Pitfalls
The biggest mistake I see people make is assuming that because the Model D and D20 share the same CC numbers, they're interchangeable in every DAW or scripting environment. They're not. The D20's USB-MIDI stack has a known latency issue where it can drop incoming CC messages if the host sends more than about twelve messages per millisecond. This isn't a problem if you're just slowly sweeping the low-cut, but if you're doing fast modulation or sending a large batch of parameter updates during a patch change, you'll notice gaps. The Model D doesn't have this particular bottleneck because its MIDI interface is designed differently, but it does have a narrower real-time modulation range on CC#88, maxing out around 90% of the filter's full range unless you push the front panel knob physically higher. Another thing worth noting is that the low-cut filter on these units has a hard ceiling. On the D20, the lowest frequency the low-cut can reach is roughly 40 Hz, and it rolls off at about 12 dB per octave. If you need anything below that, you're going to need an external filter module or a DSP plugin in your signal chain. No amount of MIDI tweaking will change that hardware limitation. There's also the question of whether "Osc Commands Lowcut" refers specifically to oscillator tuning commands rather than filter cutoff commands. In some contexts, the term "osc commands" could mean the pitch or tuning parameters of the oscillator itself, which have their own separate MIDI CC assignments. The D20 assigns oscillator tuning to CC#93, and if you're accidentally sending low-cut filter values to that address, you'll get very strange behavior that has nothing to do with filtering. Double-check your mapping before troubleshooting.
Recommended Tools
For sending and testing MIDI commands to these synths, MIDI-OX on Windows or the built-in MIDI Monitor in macOS are fine for quick checks. If you're working in a DAW, most modern ones let you map any MIDI CC to an automation lane, so you can record your low-cut movements and play them back. The D20 also supports MIDI note-on/off triggering for the low-cut engage function on certain firmware versions, but this behavior is inconsistent across revisions and isn't officially documented anywhere. I tested it on firmware v1.04 and it didn't respond reliably, so I wouldn't rely on it. If you want a software-based alternative that gives you more control over the mapping and avoids the hardware limitations entirely, running the D20 through a software emulated filter in your DAW and using the synth for its core oscillator and amplifier stages is a valid workflow. It's not ideal if you specifically need the analog character of the built-in low-cut filter, but it solves the mapping headaches completely and gives you full automation resolution.
