Polyphonic Pitch-Bend - Controller Scripts

Official support for: bitwig.com
Post Reply New Topic
RELATED
PRODUCTS
Bitwig Studio 5

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hey Everyone,

I have been trying to set-up a multi-dimensional controller that uses multiple MIDI channels in Bitwig.

So basically, what I want to do is to receive MIDI from multiple channels, and pass it just the way it is to the plug-in I have on that specific track (A multi-timbral synth in this case).

Correct me if I'm wrong but it seems like Bitwig (like Live), sets all the midi to be on channel 1 after receiving it and before passing it to the next device.

Down below is a part of my code in my init function, but it seems like this is receiving data from multiple channels and setting it to 1 before passing it to the synth.

How can I do that?

Code: Select all (#)

//this should receive "NoteOn","NoteOff","AfterTouch" and "Pitchbend" on all channels

mdc = port.createNoteInput("Omni","E?????","A?????","8?????","9?????");

//I also tried mdc = port.createNoteInput("Omni","??????");
One other question is that using Note.Expression methods can I have something similar to "assignPolyPhonicAftertouchToExpression" order to use PolySynth's ability to have polyphonic pitch-bend with a controller?

example:

Code: Select all (#)

mdc = port.createNoteInput("Omni","??????");

//this assign aftertouch to timbre?
mdc.assignPolyphonicAftertouchToExpression(0,NoteExpression.TIMBRE_UP, 5);

//can i have this? assigning pitchbend to pitch-up and down
mdc.assignPitchbendToExpression(0, NoteExpression.PITCH, 12);
Thanks

Post

Yes, I too hope this area can be improved, but right now, inside of a track Bitwig Studio only has Midi Channel 1.
PolyAT isn't available as straight as it should and some other things are missing for full support of such a controller.

What you can do:
- You can filter for individual Midi Channels when creating the Note Input. This way, you can create 16 NoteInputs from one Controller and assign them to individual tracks (yes I know ;-) ):

mdc1 = port.createNoteInput("Omni","?0????");
mdc2 = port.createNoteInput("Omni","?1????");
...

Poly AT isn't sent to NoteInputs at all, you can only convert it with the function you found. :-(

- You can use the mdc.assignPolyphonicAftertouchToExpression(0,NoteExpression.TIMBRE_UP, 5);
with the following alternative parameters to assign the result to the parameter you want:
GAIN_DOWN, GAIN_UP, NONE, PAN_LEFT, PAN_RIGHT, PITCH_DOWN, PITCH_UP, TIMBRE_DOWN, TIMBRE_UP.
Only in the case of the PITCH_xxxx Flag the number after it is used to define the pitch range, in all other cases that value is ignored using the full range.

If you are a VST Developer, you can actually make plugins use all the BWS per Note Expressions. I can give you more information on that if you want.

You can check out my scripts for some hints:
https://github.com/ThomasHelzle/Toms_Bi ... omsGeneric
TomsMultiBiController.control.js is the most advanced of those and well commented.

I hope this helps!

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." - Rumi
ScreenDream Instagram Mastodon

Post

Thanks Tom.
I actually saw your tutorials and code snippets before hand. Very helpful.

It seems like the thing I want to do is not possible yet with this version of the API. I will hope that Bitwig will add more control over polyphonic (and multi-channel) midi assignment features. Multi-dimensional controllers and multi-timbral synths are on their way.

Post

zya wrote:Multi-dimensional controllers and multi-timbral synths are on their way.
I am VERY aware of that. ;-)

If you want, write a list to tech support (http://www.bitwig.com/en/support/tech-support.html) or here on what exactly you would need (what controller are you using BTW?) so that it can go into the internal database properly.
I'm actively collecting use-cases for this area. ;-)

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." - Rumi
ScreenDream Instagram Mastodon

Post Reply

Return to “Bitwig”