|id's Music Format|
|First Game:||Catacomb 3-D (DOS)|
The id Music Format (name verified by John Romero) is an AdLib audio structure developed by Jason Blochowiak. It was designed to be an optimized music format that would be played on the OPL2 chip on the AdLib or Sound Blaster. In fact, the format is actually very similar to to the AdLib command syntax because it stores the raw data that needs to be sent to the chip.
IMF was originally created to be used in Commander Keen IV: Secret of the Oracle (DOS), but due to contractual obligations, the first published game to use IMF was Catacomb 3-D (DOS). The very first song to use IMF format was Too Hot to Handle. IMF music was almost included in Commander Keen: Keen Dreams (DOS), but due to space constraints, all music was removed from the game in order to fit on a single floppy disk.
Jason Blochowiak's memory is a little fuzzy on the format:
There are two types of IMF formats. The first series of games to use IMF format are in what is now called Type-0. Type-0 IMF doesn't include any header information and is sent straight to the OPL2 chip. Later games use Type-1 which has a short header that includes the length of the song, and allows for meta data in a footer.
Unfortunately, IMF does not store the song's playback rate. Because of this, precautions must be made when playing back IMF files. Bio Menace, Catacomb 3-D, Commander Keen, and Monster Bash all play at 560 Hz, but Cosmo's Cosmic Adventures, Wolfenstein 3-D, and games using the Wolf 3D engine (Spear of Destiny, Blake Stone 1 & 2, Operation Body Count, and Corridor 7) all run at 700 Hz. Duke Nukem II is unique and runs at 280 Hz.
The most common solution this this problem is to give the Wolf 3D games a *.WLF extension, keep the others as *.IMF. AdPlug will automatically adjust the playback rate for these files. To achieve proper play-back for Duke Nukem II, all the delays are doubled in the file setting it to match the 560 Hz tempo. They must then be halved when put back into the game. Alternately, the format could be modified with a header that contains the necessary playback rate, but both the files and players would have to be updated, so this is unlikely.
AdPlug has decent playback of IMF, but it has issues with percussion.
- Audio Overload - Linux, Macintosh, Windows
- AdPlug - foobar2000, Winamp
- Camoto - Linux, Windows
- IMF Music Player Winamp Plugin - Winamp
IMF to ?
- Audio Overload - Linux, Macintosh, Windows - WAV
- Camoto - Linux, Windows - CMF, CDFM, DRO, GOT, IMF, MID, RAW (Rdos), S3M, TBSA
- DRO to MIDI - Linux, Windows - MIDI
- IMF Music Player Winamp Plugin - Winamp - WAV
- IMF to MIDI - DOS - MIDI
- OPL to WAV - Windows - WAV
? to IMF
- Camoto - Linux, Windows - CMF, CDFM, DRO, DSM, GOT, IMF, KLM, MID, MUS, MUS (AdLib), RAW (Rdos), S3M, TBSA
- IMF Creator - Windows - MIDI
How to Obtain
IMF files have to be ripped from compressed game files, but luckily, every game that used IMF has already been ripped and can be downloaded from each game's page.
To convert an IMF soundtrack into one that can be uploaded to the VGMPF, see IMF - Recording Guide.