New polyphonic and multi-sound ringing tones use a MIDI (Musical Instruments Digital
Interface) standard, which has been used since the early 80's to control synthesizers.
The Scalable Polyphony MIDI (SP-MIDI) standard is the most suitable solution for
mobile devices with limited amount of simultaneous voices. In SP-MIDI, MIDI channels
are put into a desired priority order, with the composer deciding which musical
material goes to which level of priority (i.e. channel). This means that the composer
decides what the music piece will sound like in different devices. Thus, different
phone models can use the same musical content. . This in turn facilitates the downloading
of content.
Make your own comparison
Below we have attached three recordings of two melodies that will help you to hear
how the SP-MIDI standard improves sound quality.
There are two versions of a piece recorded with polyphony-5: one using SP-MIDI,
one not. . When the SP-MIDI is not used, you can hear some strange music resulting
from arbitrary note stealing or erroneous playing of music. The melodies are not
continuous, because some notes are 'stolen' to play some less important musical
lines. Compare this experience with the SP-MIDI version.
Those files, which are recorded with full 24-voice polyphony can be used as a reference
point in the sense that they use enough voices to support the full arrangements.
There is no note stealing or any channels left out. In other words, they are as
good as MIDI-songs can get (at least when it comes to the amount of voices).
These demonstrations show that SP-MIDI provides a downscaling functionality that
cannot be achieved using voice stealing.
Overview to research
During the last few years ringing tones have developed from simple (one voice at
a time, one sound at a time) buzzer ringing tones to polyphonic and multi-sound
ringing tones. New ringing tones are using a MIDI (Musical Instruments Digital Interface)
standard, which has been used since early 80's to control synthesizers.
MIDI-information does not control the sound itself, but actually plays commands
(e.g. 'start playing a middle-C note now'), according to which a synthesizer generates
the sounds. MIDI does not define the actual sound wave form, but an efficient mechanism
to control the music playback.
MIDI synthesizers can be implemented using different technologies. A dedicated synthesizer
IC (hardware synthesizers) can have dedicated tone generation resources for each
voice, and therefore e.g. the number of simultaneous voices is defined by the IC
complexity. For general-purpose CPU implementation, software synthesizer algorithms
(software synthesizer) are used to generate the sounds. For a software synthesizer
the number of simultaneous voices is dependent on the available CPU power, which
can also vary depending on other processing load sharing the same CPU resources.
In mobile devices that can run a number of different applications, it is in many
cases more feasible to reuse the CPU resources for several applications. Therefore,
the software synthesizer technology may have to operate at different processing
power levels, which may limit the possible polyphony level of the synthesizer.
Conventionally this problem has been handled by using various kinds of 'note stealing
techniques'. Note stealing means that when a new note is started it replaces a note
that is still sounding or alternatively a new note is not started at all. In practice
this meant that polyphony limitation resulted in erroneous playing of music, i.e.
playing the music in a way the composer did not want it to be played. The traditional
approach to achieve interoperability of MIDI playback in different devices is to
require a minimum performance level from the synthesizer implementation and restrict
the content creation in such a way that the usage of system resources does not exceed
the minimum requirements. In mobile devices this could typically result in under-utilization
of available CPU resources, and therefore more flexible interoperability solution
was desirable.
The problem
The main problem was, how to adjust the polyphony for a limited resource synthesizer
without destroying the music. A related problem was, how to harmonize the new method
with the existing MIDI standards so that the composers could utilize their existing
MIDI devices and the content creation could be done efficiently.
The solution
The practical solution is that the content adaptation for different polyphony levels
is controlled by the content provider. This means that composer considers what the
same music will sound like when played with different polyphony levels. It requires
some musical skill to do the arrangement properly, but this is exactly what the
composers are good at.
After this basic notion, the next thing was to design a technical solution, which
supports this functionality. This development led to the definition of Scalable
Polyphony MIDI standard. In SP-MIDI, MIDI channels are put into a desired priority
order and the composer decides which musical material goes to which level of priority
(i.e. channel). Since the musical arrangement is highly dependent on the musical
material, both the channel priorization and the polyphony requirements are specific
to each song.
This information is delivered to the playback devices using a simple protocol extension
called Maximum Instantaneous Polyphony (MIP) (System Exclusive) message. The MIP
message contains information on what is the composer's polyphony requirement for
a given set of MIDI channels. The polyphony values (MIP values) are defined in an
order of priority so that the polyphony requirement is defined for each channel
as a cumulative figure, defining the polyphony requirement for channels with equal
or higher polyphony. The playback device compares the MIP values to its polyphony
playback capabilities and plays only those MIDI channels that do not exceed the
supported polyphony level.
Only a few steps are required to convert an existing MIDI-file to an SP-MIDI file.
First the MIP-values have to be calculated. Then the MIP message is attached to
the standard MIDI-file.
Standardization
The standardization work was done during 2001-2002. The technical development was
done in MIDI Manufacturers Association (MMA) in collaboration with the Association
of Music Electronics Industry (AMEI). SP-MIDI has been standardized also by 3GPP
for mobile applications and services.
Conclusion
SP-MIDI has been developed especially for mobile music applications and services.
Nokia supports SP-MIDI for polyphonic ringing tones and applications. Nokia and
a few other manufacturers have introduced several products that support the SP-MIDI
standard. Nokia believes that SP-MIDI will become widely spread MIDI format supporting
interoperability between different playback devices.