I saw a few pictures of DAW controllers that had more than 16 fader. But I could not find any information about how this works.
As I understood: Every fader information needs to be sent on a special channel. But there are just 16 midi channels. So what do I do if I want to have more faders?
I suppose one way would be, to have more than one midi device but is there a way to do this with just one midi device?
Your question isn’t specific enough, I don’t know what you want to achieve, therefore I fear that nobody can give you a sufficient answer…
Of course, MIDI allows everything, the channel limitation can be easily bypassed by using SysEx messages.
By transporting MIDI events via USB the speed doesn’t matter, a clever MIDI implementation is even faster than any OSC solution (IMHO).
While speaking about USB: with USB up to 16 IN/OUT “cable connections” can be created from a single USB port, which means 16x16 channels.
This could be sufficient for your specific usecase if you are not able to change the DAW drivers?
I mean (considering your last posting): you could create 16 virtual Mackie Control Emulations from a single USB MIDI device - is this for what you are searching for?
I want to use one USB port. As you got right I want to have more than 16 faders behind that and I think you have the solution.
You are saying I can emulate 16 midi devices on one real device? And every device works the same? So I could use this very easiely with every DAW software instead of using sysex messages which would not work without anything else?
Do you have a link or something where I can find more information about this?
Yes, every “USB MIDI cable” is handled like a separate MIDI interface, proven on MacOS 10.4 .. latest/Linux/WinXP/Vista/Win7 (at least)
The DAW software only looks for MIDI interfaces, and every USB device which is compliant to the USB-MIDI specification (-> http://www.usb.org/developers/devclass_docs/midi10.pdf ) can announce up to 16 - just follow the descriptor example.
Each interface has a cable number, which is coded in byte 0, bit [7:4] of the Event Packet (see Figure 8)
Each interface has a cable number, which is coded in byte 0, bit [7:4] of the Event Packet (see Figure 8)
I am confused. You said I can have 16 times 16 channels? But in this sentence you are saying that the 16 different devices code themselvess in the cable/channel number (byte 0)?
Where would it be possible to choose again 16 times which 16 channels I want? Or does my computer recognize 16 different midi devices and each one has 16 channels in byte 0?
I am confused. You said I can have 16 times 16 channels? But in this sentence you are saying that the 16 different devices code themselvess in the cable/channel number (byte 0)?
I haven’t said “cable/channel” number, but cable number in byte 0, bit [7:4] of the Event Packet (see Figure 8)
The MIDI channel number is coded into byte 1, bit [3:0] of the Event Packet.
Please read the linked document again, it clearly explains the protocol, I couldn’t explain it better.