I use the newest controller scripts for Bitwig and the latest version of it. I’m trying to achieve quite a simple effect, to play the same note simultaneously multiple times and use MPE controls independently for each of the same note presses. I’m on Windows and I tried to debug this issue by observing MIDI messages sent by Sensel. It correctly sends subsequent notes on first available MIDI channel, but Bitwig or Sensel controller script flattens all the messages to just one MIDI channel, which makes it impossible to achieve this simple MPE effect of playing the same note, but independently modulating aspects of it polyphonically. Here is the example of what I want to achieve (at 1:48): https://youtu.be/EV4jF9nSRdE?t=108
I’m not sure now whether this is a Bitwig issue or a Sensel controller scripts issue, or maybe both.
There are a few things that might be going on, but to narrow it down, I am wondering what synth(s) you are using in Bitwig? UVI falcon? Or builtin synths? Or something else? In general, it’s pretty important to make sure you have the “MPE Enabled” for any MPE-compatible plugins in the device inspector in Bitwig.
I tried many different ones, Bitwig’s builtin synths, various VSTs like, Arturia Pigments, Surge, Serum etc. MPE is enabled and works fine. The problem is only with this specific use case, when I want to play the same note polyphonically using several fingers, to be able to control MPE parameters of the played note independently with each finger. This is normally possible because when you press the note with the first finger Sensel sends NoteOn on MIDI channel 1, then when you press the same note with another finger Sensel sends NoteOn message via channel 2 and so on. So when you release your first finger Sensel correctly sends NoteOff on MIDI channel one. But for some reason all the MIDI messages inside Bitwig are being converted to use only one channel and this makes it impossible to control one note with multiple fingers. I guess that probably Sensel control scripts are flattening MIDI channel information to for example allow users to assign different MIDI channels to different Sensel overlays. This is nice and convenient for a lot of users, but also very inconvenient for others.
Ah, sorry, I misunderstood. You want to to trigger the same note twice, not two different notes. Anyway, the Bitwig script uses the internal MPE methods that the API presents - we do not flatten the MIDI channel data - MPE wouldn’t work otherwise. There might be something else going on, however, either with the API or with our script. Thanks for bringing this to our attention.
I found quite old, but maybe still relevant topic on KVR Audio forum https://www.kvraudio.com/forum/viewtopic.php?t=502857
It gives some light and this actually may be a Bitwig design flaw. Currently I’m trying to incorporate MidiPassthruMulti concepts into the Sensel controller script, to verify whether this helps.
Good news, I solved my problem after discussing it again on Bitwig Discord.
By default Bitwig’s instrument track converts all channels to channel 1 (or next free one). You can see this on the screenshot:
You have to change the channel “To” value to “Same” to get the ability to differentiate between controller MIDI channels. You can treat this issue as solved and sorry for bothering you.
Sweet! great to know. No bother - it’s good that these things get documented for others to see.
Just to show you how powerful this technique is, I created a tiny chaotic (intentionally) recording of how you can actually utilise one note polyphony and MPE (you can see this, that I’m actually pressing just one note on the Sensel controller). I created one big C3 button in the Sensel Morph and it is without an overlay, but I changed configuration to treat this as an innovator one. This actually allows for very hard and fast sweeps etc.
Here is the example of what I’m talking about: https://youtu.be/0mAkQFoqm80
Just one thing which may be helpful if someone will find this topic. To enable the same note polyphony in Bitwig’s native synths you have to uncheck “Steal same key” on the device menu.