Home Learn About MIDI About Us Specifications Career Center Public Forum Store

SP-MIDI
Order Printed Document
About Scalable Polyphony MIDI (SP-MIDI)

Note: The Feb '02 and May '02 Editions of the SP-MIDI Specifications contained errors. If you received one of those version, please be sure to download the Errata document.

Scalable Polyphony MIDI is the result of a new MIDI message that composers can use to indicate how a MIDI data should be performed by devices with different polyphony. For example, a composition that is written for GM2's 32-note polyphony, could also be made to play on GM1 and GM Lite devices, by eliminating certain instrument parts, chosen by the composer.

Benefits of SP-MIDI

Scalable Polyphony MIDI was conceived as a solution for "3G" (3rd Generation) mobile applications and systems, as an alternative to General MIDI Lite (which requires a fixed 16-note polyphony). For mobile applications, SP-MIDI MIDI provides flexibility to both the system operator and the mobile terminal manufacturer to address differing customer needs. For example, lower-cost phones may be offered that have only 8-note polyphony, vs. higher priced models that have 32-note polyphony, yet the same content will play on either phone. Customers in that scenario can upgrade their phones and still play all of the content that they have obtained previously, and they can share content with friends and relatives who may have different configurations.

Scalable Polyphony MIDI can also help to mitigate some unique situations that might occur in wireless and battery powered systems. For example, a multi-purpose Scalable Polyphony MIDI phone or PDA could automatically drop back from 16-notes to 4-notes when more power was needed for some other application, such as decoding a video stream. Similarly, reducing polyphony would be a reasonable means for conserving battery power in some implementations.

SP-MIDI Device Profiles

While the SP-MIDI Specification defines a means for making content scalable across devices with different polyphony, it does not define any of the other features of a device necessary to make the content play correctly. Such is the function of specifications such as DLS and GM, which of course have their own polyphony requirements, independent of SP-MIDI. In order to create content that is scalable and also interoperable, there need to be device specifications, like GM and DLS, but that allow for scalable polyphony. Such device specifications for SP-MIDI content are called Device Profiles, and they are based on existing AMEI/MMA device specifications, with modifications to accommodate scalable polyphony and other features needed for specific applications.

Since the SP-MIDI standardization activity was driven by the close link to the telecommunication standardization work for the 3rd Generation Partnership Project (3GPP), the first SP-MIDI Profile is a joint AMEI/MMA recommendation for 3GPP Release 5, titled "Scalable Polyphony MIDI Device 5-24 Note Profile for 3GPP". This Profile is based on GM2 (has about the same features), but with a smaller Sound Set (more appropriate for hand-held device with minimal storage).

The SP-MIDI specification defines a framework for scalable polyphony MIDI that can be further extended by future profile specifications.

Technical Overview

Scalable MIDI provides a clear advantage over conventional note stealing methods in use today. With note stealing, some notes are arbitrarily terminated or not played at all, based on the capabilities of the playback device instead of the content creator's instructions. Needless to say, note stealing will inevitably produce strange and unprofessional variations of the original song. SP-MIDI changes this and allows the content author to decide in advance which musical lines will be played in different polyphony situations.

Channel Priority Order & Masking

Channel masking controls the selection of MIDI Channels in the order of Channel priority. The number of MIDI channels is dependent on the content author's arrangement, but essentially the SP-MIDI player renders only those MIDI Channels which do not exceed it's rendering capabilities (i.e. maximum number of simultaneous notes). The benefits of Channel masking are illustrated in the following example.

Consider a situation, in which a synthesizer plays a MIDI file that has higher polyphony requirements than the synthesizer can support. As the synthesizer is not capable of playing all of the notes, the music playback will be partially randomized depending on the manufacturer's note stealing method. Channel masking supports the content creator by providing a method to avoid this randomization. Channel masking provides a systematic method to mask i.e. ignore all MIDI events on a particular channel that it cannot support.

SP-MIDI Content

SP-MIDI content will contain a set of initialization messages. The primary messages are the SP-MIDI Maximum Instantaneous Polyphony (MIP) Message, and the Device Initialization message. The MIP message informs the receiving device about the polyphony requirements for each MIDI Channel, and the Channel Priority Order. The Device Initialization message sets the receiving device into the proper mode, such as GM or DLS.

Where desired, SP-MIDI content can be made to play on non-scalable devices. For example, content that conforms to the GM2 specification (32-notes) can include a MIP message to control the playback on lower-polyphony devices, and that message will be ignored and have no effect on a GM2 device. In this way it is assumed that much of the existing Standard MIDI File content in use today can be re-authored for use in SP-MIDI devices, simply by giving some consideration to Channel priority and masking and inserting an appropriate MIP message.

SP-MIDI Content Authoring Tools

The following companies have announced tools for producing SP-MIDI content. All information is provided by the developer. The MMA is not responsible for any errors.

  • PAC Ltd.'s SPlaya is a VST 2.0 instrument for creating, monitoring and analyzing SP-MIDI songs.
  • Unwiredtec's Ringtone Creator is a multiplatform engine for the conversion and adaptation of cell phone ringtones. It is available as a standalone application or a Java library.
  • Nokia: Nokia Audio Suite enables authoring of SP-MIDI, Mobile DLS, and Mobile XMF content, as well as modeling the sound as played by Nokia terminals.
  • Faith: SP-MIDI MIP Message Edit Tool consists of a converter from general GM data into SP-MIDI data and a player for SMF and SP-MIDI. (link not available)
  • Beatnik: Mobile Sound Builder
  • Evolution: Sound Studio Pro II, a powerful audio/MIDI/VST sequencer with SP-MIDI support for quick and easy ringtone production. (link not available)

To have your product listed here, please use our contact page to send us your request and detailed information (about 20 words per product).

Document Publishing Information

Download: SP-MIDI Errata Document

Buy Now: "SP-MIDI Specification and 5-24 Note Profile for 3GPP" Document

All materials, graphics, and text copyright © 1995-2014 MIDI Manufacturers Association Incorporated.
Use is prohibited without written permission.