Ringtone file formats

Legacy mobile phones typically support a range of file formats to use as ringtones. This article will cover those formats, basics on their structures, and how they can be extracted from binary data.

Sequenced ringtone formats
Sequenced ringtones formats were widely used because of their small size. There are many different formats that were used for this, which this section will cover.

AU-PMD
The PMD ringtone format was used in some earlier Qualcomm phones for ringtones. Along with storing data in a MIDI-like fashion, it also supports loading custom samples and playing animations. In Qualcomm phones, it was mostly used in Sanyo and later Kyocera devices.

eMelody
The eMelody ringtone format was exclusive to Ericsson phones. It is related to the iMelody format, but is fairly more limited.

Feelsound DXM
The Feelsound ringtone format was used in many LG phones that had an OKI synthesizer. It is near identical in structure to Format 0 MIDI, but has some extra data independent to that format and can also be used as a container for ADPCM audio.

iMelody
The iMelody ringtone format was the most popular format for downloadable monophonic ringtones. It is a text-based file format and could be sent over SMS messages.

MFM
MFM is a proprietary ringtone format developed by Faith, Inc. It was mostly used by Japanese mobile phones (Matsushita Panasonic, NEC, Sharp, Mitsubishi, exc.) with Rohm/Faith/Nec Renesas synth. It was also used in few Samsung phones with Faith synths like the SGH-P207 and SGH-E620.

The only known utility to convert and play the format is Faith's Ring Tone Authoring Tool. It is similar in structure to the PMD format, which could serve as a starting point for eventually writing a MFM-to-MIDI converter.

It can also be used to store ADPCM sample data.

MLD
The MFi MLD ringtone format is near identical in structure to PMD and was used on many older Japanese phones.

PSMPlayer labels this format as "Imelody", but for what it's worth, iMelody is its own format and MLD is more closely related to PMD.

MIDI
MIDI is the most ubiquitous sequenced ringtone format of them all. It was used on nearly every phone on the mid-2000s, and many programs support the format.

SMAF
The SMAF ringtone format was used in phones that had a Yamaha MA-series synthesizer. It is different to MIDI in many ways but is a very extensive and capable format. Currently, the only players available are the Windows-only MidRadio players by Yamaha.

SMAF Phrase
The SPF format was used in phones that had a Yamaha MA-series synthesizer that supported it. It is simpler than SMAF hence allowing up to 4 to be played simultaneously, which are used in specific games that needed to play music and multiple sounds all together.

XMF
The XMF format was mainly used in later Series 40 Nokia phones and in some Samsung phones for sound effects. It contains a bundled MIDI and DLS file to play a polyphonic ringtone with custom samples.

Streamed ringtone formats
More commonly known as "true tones," these ringtones are the most common that are used in modern phones.

AAC
AAC, or Advanced Audio Coding, was used in many phones in the late 2000s and early 2010s until Ogg Vorbis became common. M4A can also be a container for this format.

AMR
AMR, or Adaptive Multi-Rate, was optimized for voice recordings, so for ringtones its fidelity is fairly low.

MPEG-3
MPEG-3 is the most ubiquitous streamed ringtone format there is. It was used on many phones throughout the 2000s and 2010s. Not much else to be said about it.

Ogg
Ogg, usually Ogg Vorbis, is the most common ringtone format used in many phones made today. It provides better quality than MP3 for the bitrate used, which justifies its widespread use.

QCP
QCP is a format similar to AMR that was used on early Qualcomm phones. It was used for audio ringtones in early Sanyo phones but the quality is on par with that of AMR.

WAV
WAV is typically an uncompressed format, so it is rarely used for ringtones. It can, however, be used as a container for ADPCM formats.