XMF

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
eXtensible Music Format
File:XMF/MXMF.png
Developer: MMA
Header: Custom
Content: PCM
Instruments: Internal
Target Output
Output - Digital Audio.png Output - MIDI.png Output - FM Synthesis.png Output - PSG.png
Released: 2001-??-??
First Game: ?
Extensions
  • *.xmf
  • *.mxmf

The eXtensible Music Format file format was created by MIDI Manufacturers Association. This file is a tree-based container format which is used to bundle music, usually in the MIDI format, along with an optional DLS sound bank, thus increasing the fidelity of a song. The format allows to specify international metadata, ensuring that the correct information displays for the correct country and language.

The content may refer to an external file on the disk and even an external file referenced by using a URI. The content may use ZLIB compression to save space, or proprietary compression for content protection.

XMF was mostly used in mobile phones for the ringtones.

Players

(Category)

Full DLS support

Editors

(Category)

Official MMA list of authoring tools (archived)

Converters

(Category)

XMF to ?

? to XMF

Editors mentioned above.

Technical

All XMF files use a tree structure with the chunks allowing content to be placed anywhere in the file or even outside as an external resource. Variable-Length Quantity is used to specify the chunk size.

Typical XMF Tree Structure

File Root
│
├─ XMF header       - XMF header: file version and size
|
└─ Root Folder Node - XMF version and content description
   |                - In-Line Content (inner nodes
   ├─ File Node     - DLS file node
   |  |             - In-Line Content
   │  ├─            - Node metadata (file name, type, compression, etc.)
   │  └─            - Compressed/uncompressed DLS data
   |
   └─ File Node     - MIDI File node
      |             - In-Line Content
      ├─            - Node metadata (file name, type, compression, etc.)
      └─            - Compressed/uncompressed SMF data

MXMF

There exists a version of XMF called Mobile XMF which is intended for use with mobile phones. The main difference from XMF is additional metadata field (contentDescription) and using Mobile DLS instead of the regular DLS.

Links