Translate the MIDI channel of Note on/off message based on the note itself by adding or subtract a constant number.
I’m trying to set up a scenario where I use a Nord Drum 3P as a drum controller for an Elektron Digitakt and I use the Digitakt to sequence the Nord Drum 3P at the same time.
It is very simple to do the latter. A bit more difficult to do the former.
The Nord Drum uses a global channel to send MIDI note on/off messages when a pad is triggered.
The tracks in the Digitakt have their own MIDI input channels.
I can choose the MIDI note for the individual pads on the Nord Drum.
Let’s say I set the pads to start with note 61 and end with note 66. The global channel is set to 10.
I hit the first pad. The Nord drum sends a note 61 on, channel 10 and then a note 61 off, channel 10.
I would need a pipe which would take this message and replace the MIDI channel with the Note minus X, where X would be 60 in my case.
The output of the pipe for the example above wouls be note 61 on, channel 1 and then note 61 off, channel 1.
I left out the velocity on purpose because that would be untouched.
A bonus points would be if I could make it so that MIDI message on the output would always have the same note.
Let’s say I picked Note 72.
Then the above example woule be note 72 on, channel 1, note 72 off, channel 1.
Obviously there is a huge difference in the range of the MIDI notes and the channel range, so over/underflows should be clamped to 16 and 1 respectively.
An even more flexible variant of this pipe would allow the manipulation of both the channel and the note, either by adding a positive or negative offset, or by replacing the value with a static one.