fbpx
Skip to main content

MIDI Forum

How to determine ma...
 
Notifications
Clear all

How to determine maximum polyphony for a MIDI file / How to create SP-MIDI files?

2 Posts
2 Users
0 Reactions
16.3 K Views
Liam
 Liam
Posts: 1
New Member
Topic starter
 

Hi all,

I am trying to determine the maximum polyphony accounting for all channels within a MIDI file for playback on MIDI devices with limited polyphony such as older mobile phones. Is there software that can perform this function?
Also, are there still programs that can create SP-MIDI (scalable polyphony MIDI) files?

Thanks in advance.

 
Posted : 09/03/2018 8:11 pm
Geoff
Posts: 1039
Noble Member
 

This might be possible, BUT...

The true answer would be totally dependant on the destination device, as different devices may handle the polyphony in different ways.

If the midi file is using GM sounds only, then it would be easier as most modern devices can copy with the sounds using one 'unit' of polyphony, but this cannot be guaranteed. For example, I have a Roland LAPC-I card which I still use (MT-32 compatible) and the sounds available on that can use 1, 2 or 3 'partials' to play a single note, depending on the quality of the sound. One partial will use up one unit of the available polyphony. On my more modern devices, standard GM or XG sounds may be OK, but using special 'performances' or 'combinations' will again use 2 or 3 units of polyphony to play one note.

To do the calculation you want, the program would have to know about the device, or would have to work within certain pre-defined assumptions, i.e. standard GM sounds ONLY.

I have a program that I wrote a LOT of years ago, which checks through ALL the events in a midi file and presents a summary. It could be changed to do what you want, although the prog is a DOS prog written in C I think. It may need to make the above-noted assumptions. It would need to track where multiple notes are to play at the same time. Not major changes.

Interesting note. The Roland card, which I bought new in 1991, includes a feature called 'Partial Reserve', where each channel can have this value specified. The available polyphony is shared out between the channels, and if 'note stealing' has to be done, then certain channels will be protected, and others will not. Obviously, if this info is in the midi file, that is better as the composer has cointrol over what is 'lost' and what is protected.

Regarding your final question, looking up in Google regarding SP-Midi indicates that there IS software that will allow the necessary codes to be inserted into a midi file, but I've not seen reference as to which specific systems will allow this. You may need to check the full spec of specific packages? Again, I have some old DOS progs that would allow this to be done quite easily (for me).

Geoff

 
Posted : 10/03/2018 6:12 pm
Share: