Exported MIDI files compatibility
Hi, gang!!!
I wonder if the development team could add (to the next version) an specific extra dialog box to the MIDI Exporting Files process.
As we know, the standard General MIDI has only 16 channels (15 different instruments and 1 percussion channel). MuseScore saves the instruments into the MIDI files in the order of the score. In other words, just the first 16 staves will be saved on the file (doesn't matter whom instruments are and where are the percussion set). All the "tracks" above the 16th channel are "lost-in-the-cyber-space".
Well, the proposed idea is to add a dialog box to let us a manual selection about which staff will go to what MIDI channel.
Or course, there is an issue here, because I don't know if it is possible to "mix" more than one MuseScore tracks into just one. But... there should be some solution (some day!!!).
Or... Maybe it is already possible and I missed something here? ???
It is intended to use a MIDI machine, out of the MuseScore world.
Even I know there should be more than one MIDI sequencer capable to read XML files, not mine. Sorry! I still need to use the standard MIDI files.
That's all folks!!!
Greetings & Blessings!!!!!!!
Juan
Comments
As far as I can tell, It's not true that the other staves are just lost - they are written to the MIDI file, just re-using the same original 15 channels. I've looked at dumps of the files and verified this, although maybe it somehow depends on the specific score.
But FWIW, it is quite possible that MuseScore 2.1 will support the ability to assign each stave a specific MIDI channel. See https://github.com/musescore/MuseScore/pull/2126
In reply to As far as I can tell, It's by Marc Sabatella
Mmmm, it would be nice.
But, you have to think about machines without Jack capabilities, too.
Old MIDI sequencers (like mine) just have the standard MIDI connections and can read the standard MIDI files (*.mid), only.
So, to that cases, I think the best way should be a direct MuseScore action, through a dialog box, that lets the user choose which MIDI channel will be use to which MuseScore staff.
Of course, the ideal thing would be the full capability to get mixdowns on some channels (tracks). MuseScore should perform some automatic "copy and paste" of the notes from some specific staves (related instruments).
So, the MIDI export dialog box should have something like the followed table:
MuseScore Staves (Tracks).............................MIDI Channel (on the MIDI file)
Piccolo........................................................1
Flute...........................................................1
Oboe...........................................................2
English Horn.................................................2
Bb Clarinet...................................................3
Eb Clarinet...................................................3
Basson........................................................4
Bass Basson.................................................4
Bb Trumpet..................................................5
F Horn.........................................................6
Trombone.....................................................7
Tuba............................................................8
Harp............................................................9
Percussion Orchestra Kit.................................10
Timbal.........................................................11
Grand Piano..................................................12
Violin I.........................................................13
Violin II........................................................13
Viola............................................................14
Cello............................................................15
Double Bass..................................................16
Sorry by the ugly "table", but I don't know how to do it better.
That's what I'd love to have into MuseScore to export to MIDI files.
BTW: I wonder why the MIDI creator didn't think in the full orchestra different type of instruments. Why just 16 channels? ???
Greetings & Blessings!!!!!!!
Juan
In reply to Mmmm, it would be nice. But, by jotape1960
Old MIDI sequencers (like mine) just have the standard MIDI connections and can read the standard MIDI files (*.mid), only.
You are not correct in the interpretation here.
A standard MIDI file can contain an unlimited number of tracks - it is up to the sequencer how you import them.
I have been a Cakewalk user from way back (I started with version3 way back in the Windows 3.1 days!) and I can assure that It is capable of dealing with far more tracks than 16, in fact the latest Sonar versions are virtually unlimited in the number of MIDI tracks they can process, and indeed with the number of MIDI ports they can address.
You can then assign MIDI ports and channels to the tracks as you please.
During my backing track production days I was using 3 hardware external ports connected to 2 MIDI XG expander boxes and a Roland GS expander together with 2 internal sound cards, one with an XG daughterboard synths and the other a Soundblaster Live, thus giving me 80 MIDI channels to assign to instruments. In some of the orchestral backing tracks I was producing I got pretty near to using them all!
The reason there are 16 MIDI channels is because that is the number that can be held in a nybble, the other half byte being used to convey the type of message - so a Note On would be sent as 0x8n where n is the channel number. This enables the entire information for a note to be sent in 3 bytes, which, as MIDI is a serial communication protocol, is important.
In fact MuseScore uses ports as well as channels to send information on, so if you configure your MIDI hardware properly you will not get the problem of "losing" channels as MuseScore starts output on another port when it reaches the 16 channel limit of the first.
The big bugbear at the moment is knowing which channels and ports MuseScore is sending on, as there is currently no display of that information in the mixer.
Ideally this should be configurable by the user, but if it was displayed then at least the user would be able to configure sequencers and VST synths accordingly, whereas at the moment it is a case of "suck it and see" together with using MIDI monitors to establish what is travelling on a particular port/channel - not an ideal situation.
But then we're only just starting to think about playback issues in MuseScore and how they can be resolved.
In reply to Old MIDI sequencers (like by ChurchOrganist
ChurchOrganist, I don't want to "fight" with you (far away from it I really have to thank you a lot for your advices).
My MIDI sequencer (an Old Casio keyboard), can read the MIDI files (believe me or not, from the old 3.5 inches magnetic diskettes) and you're right there is no a limit to the MIDI tracks we can use.
The problem is that it doesn't matter how many tracks we are using. The last fact is the MIDI electronic circuit (inside the keyboard) only recognize and use 16 MIDI channels (16 different instruments or sounds) at the same time (and with a maximum polyphony of 24 notes, even the fact that the specifications talk about 32, but the real thing is about 24 notes at a time).
Believe me, it is true. Just 16 MIDI channels. There isn't more.
I attach my Casio keyboard specifications. You can see it is absolutely clear: just 16 MIDI channels.
In reply to ChurchOrganist, I don't want by jotape1960
Of course one MIDI device will be limited to 16 channels - that's not in dispute.
What I'm trying to point out to you is that you are not limited to just that one keyboard.
You can have as many software synths as your system will support, and route MuseScore's MIDI output accordingly.
I gather you are now using a version of Ubuntu, so you should find configuring JACK much easier - in fact it should work straight out of the box - as JACK was initially designed to run on Linux machines.
Until we have someone on board who is capable of writing an internal MIDI timeclock generator for MuseScore, internal MIDI outtput will not be possible, and JACK is the only option if you want to increase your flexibility.
I would suggest, however, that you change your Linux distro to Ubuntu Studio, as it is specifically designed for musicians, artists and other people involved in media creation, and comes with many musical software tools already installed.
In reply to Of course one MIDI device by ChurchOrganist
Thanks a lot for your advice!!!
I'll change to Ubuntu Studio when I change my PC (my today desktop PC is too old).
Thanks a lot!!!!!!!
Greetings & Blessings!!!!!!!
Juan
In reply to Mmmm, it would be nice. But, by jotape1960
As far as I can tell, the PR I linked to *does* allow the channel (and port) to be set directly, via the Mixer, as shown in the accompanying screenshot, and it specifically says the mapping is exported to MIDI (as well as MusicXML). Not sure what else could be needed?
In reply to As far as I can tell, the PR by Marc Sabatella
It seems I'm a little behind!
That looks like just what we need :)
When will it become part of a stable release?
In reply to It seems I'm a little by ChurchOrganist
When you see it saying it is "Merged", it would be in the some release after that. Not necessarily thr very next one, though. Like I wouldn't expect it in 2.0.3 if there is one, but as I said, a good chance for 2.1.