Play more than 16 MIDI Channels

It seems you're using an AdBlocker or JavaScript is disabled!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).

This 10 seconds wait is to let you update your AdBlocker whitelist...

Got it, show me the content...
Please enable JavaScript!

Pages

Posts: 71
Joined: September 25, 2013 - 16:38
Re: Play more than 16 MIDI Channels

Unfortunately the midi file you have uploaded has no meta information in its tracks about which tracks should use which ports. This way no player software (including MidiTrail) can find out automatically the right playback method intended by the author.

If no port information can be found usually all tracks are played on Port 0/Part A (that could sound strange).

Here's a file with the necessary meta information you can test. This file plays wrong on single port players like VanBasco, but works perfectly with MidiTrail:

https://www.vogons.org/download/file.php?id=46681

Posts: 47
Joined: April 25, 2016 - 12:19
Re: Play more than 16 MIDI Channels

Ah yes, I see now, instead of a metadata track there's only instrument tracks so the first one (per port perhaps) defaults to the first instrument, piano. Loading the MIDI into an editor you can see all the instruments are defined, but the player still expects to have a metadata track? I don't know how Musescore works it out and loads everything.

Yes that MIDI file you attached seemed to work fine, no pianos!

Are there any other websites that share these MIDI files that need multiple ports to play fully?

http://kiwi6.com/artists/GEN_MIDI

Posts: 71
Joined: September 25, 2013 - 16:38
Re: Play more than 16 MIDI Channels

Sorry, I was wrong about your uploaded file. The port preference meta information is there on the tracks, but not at the beginning of tracks where it should be! Some channel messages (e.g. program change) are before the port preference meta  information and these messages are 'out of context' this way. This causes the unwanted piano sounds. So this midi file is simply badly programmed. Musescore may analyse the whole file before playing thus can see the 'later' information, but this does not change the fact that the file should be corrected.

Here's an updated/corrected version of your file that should prevent the piano sounds also with Miditrail.

Attachments (Only registered users)
Robin Hood Prince of Thieves - Overture And A Prisoner Of The Crusades (From Chains To Freedom) (jub1) [27]_falcomod.zip
Posts: 1541
Joined: March 25, 2012 - 01:19
Re: Play more than 16 MIDI Channels
falcosoft wrote:

I do not want to be a party killer but one midi port (be it hardware or software) can only handle 16 channels.
...
In Bassmidi more than 16 channels are possible the same way 65535 instruments are possible: they have their own function calls extending the midi protocol. So you can use these Bassmidi extensions in your own software but it does not change the restrictions of the midi protocol.

Some more information can be found here:

https://coolsoft.altervista.org/en/forum/post/2951#post2951

falcosoft wrote:
So VMS could create even 128 channels but never could get the information what 16 channel domain should play it (VMS only gets midi messages through Windows midi driver architecture that are restricted to 16 channels according to specification).

Thanks for saving me from walking down to a dead end...

Anonymous user
Re: Play more than 16 MIDI Channels

So does this basically mean that Coolsoft will never be able to handle 16+ channels correctly while MuseScore has no trouble doing it?

Posts: 1541
Joined: March 25, 2012 - 01:19
Re: Play more than 16 MIDI Channels
Vincent wrote:

So does this basically mean that Coolsoft will never be able to handle 16+ channels correctly while MuseScore has no trouble doing it?

VMS receives its MIDI input stream from Windows, and Windows MIDI layer is limited to 16 channels.
Any other way to overcome this limit is custom and limited to the software implementing it (i.e. by splitting the tracks on more than one MIDI device).
There's no way for VMS to receive more than 16 tracks from a single MIDI-In port.

Posts: 71
Joined: September 25, 2013 - 16:38
Re: Play more than 16 MIDI Channels
Vincent wrote:
So does this basically mean that Coolsoft will never be able to handle 16+ channels correctly while MuseScore has no trouble doing it?

MouseScore is also a 'player' that sees the Midi file itself (that can contain the necessary port preference meta events). VMS is not a player, it never can see the midi file and its meta information. VMS is just one (or more) virtual midi port. One port can handle only 16 channels. But VMS already can handle more than 16 channels since you can instantiate more than one VMS port. Every port can handle 16 channels. So in a player/sequencer you can assign the multiple ports required by your 16+ channel midi file to different VMS Port instances. It's not a limitation of VMS. 16+ channel playback can only work this way. 32/64 channel capable hardware synths from Roland/Yamaha work the same way. You need multiple connections.

coolsoft wrote:
There's no way for VMS to receive more than 16 tracks from a single MIDI-In port.

Actually VMS never receive 'track' information, only channel information :). Track is an organizing concept in SMF specification. So it's at the 'midi file level' and similarly to meta events it's not part of the midi communication protocol.

VMS can never know what track contained the message it gets from the player software. It's the problem with 16+ channel playback on one port. VMS only gets the messages in the form 'do this' (event type) on channel x (where channel can be only 0 - 15).

Posts: 1541
Joined: March 25, 2012 - 01:19
Re: Play more than 16 MIDI Channels
falcosoft wrote:
Actually VMS never receive 'track' information, only channel information :).

I'm still confusing MIDI terms, after more than 7 years of VMS :)
Maybe I'm doing too much things together, and I'm getting older... ;)

Posts: 47
Joined: April 25, 2016 - 12:19
Re: Play more than 16 MIDI Channels

Falcosoft, thanks for the updated file. I'll have a look at the differences and see if I can't fix other files too. Is it easy enough to do? I can edit the metadata with SynthFont, I just have to understand what I'm doing. ;-)

Vincent wrote:

So does this basically mean that Coolsoft will never be able to handle 16+ channels correctly while MuseScore has no trouble doing it?

It's not entirely up to VMS to handle more than 16 channels, but it is possible by enabling more than one device at the top of VMS' options, and enabling more ports in the midi player software such as MIDITrail mentioned here. Simply go to options in MIDITrail, MIDI Out, and assign VMS numbered devices to extra ports. It then depends how the MIDI file is written if all the instruments will be correct.

http://kiwi6.com/artists/GEN_MIDI

Posts: 71
Joined: September 25, 2013 - 16:38
Re: Play more than 16 MIDI Channels
Kj wrote:

Falcosoft, thanks for the updated file. I'll have a look at the differences and see if I can't fix other files too. Is it easy enough to do? I can edit the metadata with SynthFont, I just have to understand what I'm doing. ;-)

Yes, it's not too difficult. You only have to make sure that the Midi port preference meta events on each track forego the first channel message. The best is to put the Midi port preference event to the very beginning of each track.

Pages