With most hardware you only get one physical midi input. If you'd want to hook up two keyboards to one device you need a midi merger. Which would be an easy solution to your problem as well. Get an old motu midi express for cheap, hook up 8 controllers, load the multi channel script and be done.
Edit: on second thought, you could even just chain them via midi through
A push for Track.setChannel(). Make recording multiple devices on the fly easy!
-
- KVRian
- 818 posts since 18 Oct, 2014
Last edited by Tearing Riots on Fri Oct 14, 2016 12:32 am, edited 1 time in total.
- KVRian
- 1353 posts since 31 Mar, 2014
Sry, I answer the same questions again. Just had some thoughts about them I want to share

Also I would like it so much if I could select multiple instrument tracks in BwS and change the track input for them all at once in the inspector.
I think it's great that Bitwig doesn't rely to heavily on the VST format (I think that's also one of the reasons why they bridge the VST plugins). Maybe they hope (or speculate) that in the future there will be some other/better plugin format (which runs well on Win, Mac AND Linux for example). But that's another topic
Sry for long text but just my 2 cents.
Yeah, for this I also don't have a solution yet. Maybe the devs can add something here to support easy selection also for multiple keyboards played simultaneously. Or give us a hint how the heck it's supposed to workSephReed wrote:I think I might be explaining this badly... If I connect two keyboards and put the first on channel 1, and the second on channel 2, then arm two tracks which accept "All Ins", how do I make it so each track only accepts one keyboard? Then if I switch the channel on my first keyboard to channel 2, will they both play the same synth (as they should)?
Also I would like it so much if I could select multiple instrument tracks in BwS and change the track input for them all at once in the inspector.
For one keyboard - no problem: Go into the BwS General settings: Turn on "Auto-Arm selected: Instrument tracks". In the controller script just setup one cursor track. Then setup your up and down buttons on the keyboard (via the script) so that they perform the cursorTrack.selectNext() or cursorTrack.selectPrevious() functions. Then you can let all your Instrument track input selectors stay at "All Ins". Now moving the track cursor up and down will always auto-arm only the track you want to play with your keyboard.SephReed wrote:Another scenario: 1 keyboard, multiple synths. I want to be able to switch between synths in the way MIDI was designed so I make each synth accept only one channel and switch between channels on my keyboard.
I didn't live in the 80s so I might be wrong. Just my pereption: MIDI was designed as a communication standard between hardware instruments. As soon as the note data is inside the computer it doesn't make too much sense to still send the MIDI channel with every note played. Only VSTs or other plugin formats still speak that note language as a relict from "old times". Bitwig Studio doesn't use MIDI for its internal stuff I think. Its own note format also contains additional information like per note pitch/gain/pan/timbre/pressure curves. The MIDI channel information isn't needed because all internal note routing is done via note receivers, track outs and device nesting. I guess that only when there's a VST in the chain the internal note format is converted (and reduced) back to MIDI to feed the VST (which still uses this format).SephReed wrote:Obviously there are ways to do this with scripts, but why complicate something that was simple in the 80s?
I think it's great that Bitwig doesn't rely to heavily on the VST format (I think that's also one of the reasons why they bridge the VST plugins). Maybe they hope (or speculate) that in the future there will be some other/better plugin format (which runs well on Win, Mac AND Linux for example). But that's another topic
Sry for long text but just my 2 cents.
-
- KVRist
- Topic Starter
- 44 posts since 5 Oct, 2016
Alright, the whole 80s comment is speculative and based on personal experiences. Mine was hearsay of a friend who had a keyboard with one channel for the lower notes and another for the higher (basically two keyboards with different channels) and a couple synths that could be set to filter for one channel. He told me about how simple it was then when I was explaining how impossible it is now.
Personally, I've got the one midi input multiple tracks thing down, and some amazing controller script to go with it (it does everything), but I'm capable of playing at least three midi inputs at the same time (two keys, and a 12 step) and without some way to separate them beyond the Host.sendRawMidiEvent() funnel, I don't get to. Unless I want to set my midi inputs to one track and leave them.
If Track.getSourceSelector().setMidiInput() makes more sense to everybody, that's good too. It seems like it's already set up and meant to be, it's basically just a script way to do something you can already do, and requires no change.
Personally, I've got the one midi input multiple tracks thing down, and some amazing controller script to go with it (it does everything), but I'm capable of playing at least three midi inputs at the same time (two keys, and a 12 step) and without some way to separate them beyond the Host.sendRawMidiEvent() funnel, I don't get to. Unless I want to set my midi inputs to one track and leave them.
If Track.getSourceSelector().setMidiInput() makes more sense to everybody, that's good too. It seems like it's already set up and meant to be, it's basically just a script way to do something you can already do, and requires no change.
- KVRist
- 393 posts since 12 Apr, 2020
Digging up this old thread because I'm looking for a way to actually use the SourceSelector() class to set recording inputs automatically. Would be really convenient and to set the source programmatically.
I'm wanting to get the whole tree of possible sources and do some regex kungfu and then automatically assign a source to a channel.
As it stands I have to do a bit of work to get channel assignments for my drum racks and this could make it much much simpler.
I'm wanting to get the whole tree of possible sources and do some regex kungfu and then automatically assign a source to a channel.
As it stands I have to do a bit of work to get channel assignments for my drum racks and this could make it much much simpler.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest
