Update the Bitwig API so that the NoteInput.sendRawMidiEvent
function doesn’t ignore midi channel data. This way Bitwig extensions creators can explore more possibilities without this limitation, for instance with Open Sound Control (OSC) instruments.
What problem(s) would this feature resolve?
Right now the NoteInput.sendRawMidiEvent
API function is designed to ignore MIDI channels. As the documentation says:
Sends MIDI data directly to the note input. This will bypass both the event filter and translation tables. The MIDI channel of the message will be ignored.
The sendRawMidiEvent function is the only way for an extension to generate note events in Bitwig. The inability to generate notes on separate MIDI channels restricts creative freedom by forcing all generated MIDI notes to be on a single channel.
An example of where this causes problems is sending MIDI via OSC. Because the data gets squashed down to a single MIDI channel, creators have to rely on hacks like using note velocity to filter the notes back out into separate channels.
How does this feature fit in Bitwig as a product?
One of the defining features of Bitwig is it’s extensibility and modularity. Allow Bitwig extensions to programmatically generate MIDI notes on multiple channels fits very well in this vision.
Is there already an alternative way to achieve this on Bitwig?
Not really. It is not possible to have more than one voice without severe compromises like forgoing dynamics in-order to separate notes out into different tracks.
Could it be implemented using Bitwig components or APIs, without Bitwig team’s support?
No. It’s an API issue.
Could it be provided by a VST or something else reasonably integrated with Bitwig?
No.
Are there other products that offer this feature?
Reaper has native OSC support featuring multi-track routing and Ableton has multichannel support via the Max4Live API extensions.