null

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.