fbpx
Skip to main content

MIDI Forum

Multi-Port MIDI and...
 
Notifications
Clear all

Multi-Port MIDI and Multi-Channel MIDI

6 Posts
4 Users
0 Reactions
8,796 Views
Steve
Posts: 2
New Member
Topic starter
 

I have two questions. I’m having a lot of fun with Multi-Channel MIDI in Digital Performer 11! Being able to record 16 channels of MIDI in one track and assigning any note to any MIDI channel, and any CC to any MIDI channel is refreshing and has enhanced my writing quite a bit. It’s almost like using a notation program. You can compose while staying in one window. You can drastically reduce the number of tracks used, which can be very effective. But I’d like to take it further. My questions…

1. Is Multi Channel MIDI an extension of the MPE spec or is it part of MIDI 2.0?

2. Would Multi-Port MIDI be possible? With Digital Performer able to access 48 MIDI ports per instance in Vienna Ensemble Pro, and each port containing 16 MIDI channels of course, it could be very interesting to be able to access hundreds of instruments in one track! I know that sounds excessive, if not unlikely, but it could be more than just having access to more than 16 MIDI channels per track - it would allow any routing imaginable, giving any single track the freedom to point anywhere, including instruments in separate instances of Vienna Ensemble Pro. Layering would be so simple, keeping large drum ensemble parts in one track (or window), even if those instruments are spread out across many different MIDI channels and ports, and a lot more would be possible. Single tracks could route to multiple servers across LANs and possibly across WANs! It would be the ultimate in freedom and expression. It would only seem excessive to those who limited themselves to traditional workflows, and 1000 track templates - something I’m desperately trying to get away from, (my Modular Template for Digital Performer and Vienna Ensemble Pro has gone a long way in achieving this, but multi-port MIDI would be a game changer). With DP11’s Articulation Maps able to limit articulations to MIDI channels, a single Articulation Map can control multiple instruments from one track. I’m doing this now. (video coming soon).

3. Is VSL’s Vienna Ensemble Pro multi-port implementation part of any specific MIDI spec?

I would very much like to request Multi-Port MIDI, or per-port and channel editing, or per-note over multi-MIDI port abilities - whatever you want to call it.

Thank you.

Regards,
Steve Steele
https://www.stevesteele.com

 
Posted : 20/08/2021 12:59 am
Geoff
Posts: 1040
Noble Member
 

Hello,

Regarding the multi-channel operation, this is part of standard midi, as in midi 1. It's not something new, it's always been possible.

It is in effect what exists within a Type 0 midi file, and always has been there.

If you load a type 0 midi file into most playing/composing software, it will ask you if you want to split the data between tracks, but this is optional. If you do the split, then the data will be saved as a type 1 midi file (multiple tracks). If you do NOT split, and then save the data, I'd assume it will be saved again as type 0 (single track).

Even if you are using type 1 data, i.e. multiple tracks, there is no reason within that format why you could not have one track using multiple channels.

Regarding the ports, as far as I know this is NOT part of any midi spec, it is more to do with the USB process. Certainly midi 1 knows nothing about ports. Maybe there will be something in Midi 2? I have not yet seen a midi file that contains anything about selecting ports. I have two playback devices that have two ports, A and B, and hence can use 32 channels, but as I still use the standard DIN connectors and NOT USB then there is no way I can use this facility so I've never bothered about it.

Geoff

 
Posted : 20/08/2021 4:44 am
Clemens Ladisch
Posts: 323
Reputable Member
 

MIDI files can specify the port for following events with the "Device/Port name" meta event (FF 09) or the "Port number" meta event (FF 21). (Neither names nor numbers are really portable.)

 
Posted : 21/08/2021 12:26 pm
Geoff
Posts: 1040
Noble Member
 

So, to go back to Steve's original question, he could have everything in a single track, like a Type 0 midi file, and have as many of those meta Events to select Ports as he desires, and still be within the Midi I spec?

Geoff

 
Posted : 21/08/2021 1:14 pm
Geoff
Posts: 1040
Noble Member
 

Hm, none of the specs I had referred to these two Meta Eventa. They could well be out of date.

I found something on the web, maybe also now out of date (Sonascope ?) that does refer to these two Meta commands. According to this, (FF 09) is Device/Port NAME, and is a text item (following two data items are len and text). No reference to this command actually SELECTING a port, merely assigning a text name to it.

(FF 21 01) is however indicated as selecting a port, and this would be used as (FF 21 01 pp) where pp is the port number in hex in the range 0 - 127. The doc I was reading stated that this command could be used as often as necessary in a track.

I would assume that use of these commands would require the midi SENDING software, or the midi driver (USB) to know about these commands.

Geoff

 
Posted : 21/08/2021 2:30 pm
Bavi_H
Posts: 266
Reputable Member
 

[quotePost id=10382]MIDI files can specify the port for following events with the "Device/Port name" meta event (FF 09) or the "Port number" meta event (FF 21). (Neither names nor numbers are really portable.)[/quotePost][quotePost id=10383]So, to go back to Steve's original question, he could have everything in a single track, like a Type 0 midi file, and have as many of those meta Events to select Ports as he desires, and still be within the Midi I spec?[/quotePost][quotePost id=10385]I found something on the web [...] that does refer to these two Meta commands. According to this, (FF 09) is Device/Port NAME, and is a text item [...] (FF 21 01) is [...] indicated as selecting a port [and] could be used as often as necessary in a track.[/quotePost]

About the port events:

The Device Name meta event is a MIDI standard, but it appears in an addendum "Recommended Practice" document, so it's kind of separated from the main MIDI file specification. On this site, go to Specs > File Formats > Standard MIDI Files > SMF Device Name and Program Name Meta Events. There spec says there is only supposed to be one Device Name meta event per track, and it's supposed to be at the beginning of the track before any events which are sendable.

My understanding is the Port Number meta event was never a MIDI specification, but was an unsanctioned event that some versions of Cakewalk added to MIDI files. My memory is that Cakewalk put one Port Number event at the beginning of each track.

I get the impression the MMA wanted to incorporate the same kind of behavior the unauthorized Port Number event was doing, but instead of a numeric event, they created a text event so that a MIDI file author can give you a better idea what device the track was intended for.

As Clemens Ladisch mentioned, neither type of event is very portable. Even if your MIDI file player happens to understand the port event, when you use a MIDI file someone else made, you'll still likely have to manually reassign the tracks to appropriate devices on your system.

 
Posted : 22/08/2021 7:01 pm
Share: