Extensible Music Format (XMF)

From Wikipedia, the free encyclopedia

The Extensible Music Format (XMF) is a family of music-related file formats created and administered by the MIDI Manufacturers Association. XMF is based on the idea of containing one or more files in existing formats – such as Standard MIDI Files, DLS instrument files, WAV or other digital audio files, etc. – to create a collection of all the resources needed to present a musical piece, an interactive webpage soundtrack, or any other piece of media using pre-produced sound elements.

There are two parts to XMF: the XMF Meta-File Format, which all XMF files use, and a series of XMF File Types that use the XMF Meta-File Format for various purposes. So far, XMF Type 0, XMF Type 1, and Mobile XMF files have been defined.

XMF Meta-File Format – XMF is designed to keep file sizes as small as possible, in order to be useful on systems ranging from small-footprint mobile devices like cell phones to desktop/laptop computers to high-power web servers. It also has no maximum file size, so it could be used to store very large collections if desired. This is possible due to its use of variable-length quantity (VLQ) encoding. Although the XMF Meta-File Format itself does not impose any size limit for any of the VLQ fields, the definition of an XMF Type gives implementors a guideline.

To support international music data commerce, the meta-data that travels with the resources can be International, keyed to the user's language and the country in which playback is happening – so in an XMF album, the liner notes could change language depending on who's listening.

XMF File Types – XMF Type 0 and XMF Type 1 files are Standard MIDI Files that can use both standard General MIDI instruments provided by a player, and custom DLS instruments. The MIDI files and the DLS files are bound together in the XMF file, rather than travelling separately where they can get lost. (This approach, which allows for reliable, rich-sounding music at very reasonable file sizes, was pioneered by Beatnik, Inc., who led the MMA working group that developed the XMF design.) Type 0 and Type 1 are identical, except that in Type 0 the MIDI data may be streamed.

Structurally, an XMF Meta-File consists of nodes which are hierarchically grouped, like an internal file system with folders (called containers) and files (called resources). A node can be either a container or a resource. A resource node may refer to another node internally, or externally such as pointing to a URL.

Mobile XMF - Mobile XMF bundles a Scalable-Polyphony MIDI (SP-MIDI) file, custom samples (Mobile DLS), and metadata in a single file.

The MIDI Manufacturers Association expects to approve additional XMF File Types in the future, for different purposes, as MMA member companies identify the need for them.

[edit] See also

  • DLS
  • RIFF Resource Interchange File Format
  • SMF

[edit] External links

[edit] Official MIDI Standards Organizations