Cantabile Community

Introducing the Note-On De-duplicator MIDI Filter

Cantabile's new note-on de-duplicator MIDI filter lets you use synths that would normally get stuck notes with so called "triple sensor" keyboards.

This is a companion discussion topic for the original entry at

Hi @Brad,

You’re on a roll, all this new stuff is looking great!

With the de-duplicator, should this be added to all keyboard inputs as a prophylactic, even if one does not have an obvious problem?


Not necessarily, depends on what you want.

eg: you wouldn’t use this if you want the grand piano style triple sensor action and your plugin and keyboard supports it.

1 Like

So, it’s best applied directly to a misbehaving plugin rather than globally.

Really depends - I have something similar (a ReaJS script that does the same) continually active in my “Second Keyboard” Rack, because this keyboard does send multiple note-ons for some notes on fast glissandi, resulting in stuck notes on a number of plugins (the ones that actually create a new voice for every note on). There’s a couple of these plugins - most notably in my setup the Korg Triton plugins - and I wouldn’t strictly call them “misbehaving”.

With a normal keyboard, multiple note-ons are mostly glitches and in most cases they serve no purpose, so it makes sense to filter them out at the source.

Only in the case of a triple-sensor keybed and a plugin that will work with that does it make sense to keep them - I would use a keyboard abstraction rack with two states (“filter active” and “filter inactive”) to switch that behavior on a song-by-song basis

1 Like

It sounds like this would be a perfect solution for fixing the stuck notes that i experience with a certain controller keyboard + MIDI interface combination. If i’m understanding this correctly, any stuck note (i.e. Note Off not received) would be cleared the next time the same note was played. Magic !

– Jimbo


Sure, but there are easier ways than that to clear stuck notes, without having to identify which note actually is stuck: Use a binding from a button on your controller (or simply use the lowest note on the keybed if you don’t have a spare button) and bind it to Engine - All Sounds Off. This will pretty reliably end all stuck notes.

I have a big fat friendly red button on my upper keyboard that says “Panic” and does exactly that. Only if my upper keyboard crashes and leaves a stuck note that way, that panic button doesn’t work. That’s why I have a reserve panic button on my Streamdeck…

If you want to be even more brutal about it, bind to Engine - Restart Engine. This takes more time (it turns the audio engine off and on again), but is even more thorough in eliminating anything stuck…

1 Like

I would think the big advantage of using the de-duplicator filter is that the stuck note would be automatically cleared when the same note was played again, possibly even before you noticed
that a note was stuck.

1 Like

yup - but what if you DON’T play the note again (see my issue with glissandi)?

Probably best to combine both - use the deduplicator in any case (can’t hurt), but have a panic button ready…

1 Like

This is great. Many MIDI controllers’ pads tend to double trigger, which can be a problem. To this date the only thing available has been a python script that isn’t maintained and iirc doesn’t run on available versions of Python.

This is only a partial solution to that problem though, since the doubled noteon may come after the associated noteoff for the original trigger.

1 Like

I’m using @cdv_gabriel’s All Note Off script and now introduced the De-Duplicator into the equation. Good luck to any stuck note getting through that lot.

1 Like