Difference between revisions of "IMF"
(→Games: +Included early Beta track from RoC) |
|||
(37 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Infobox Format |
− | | Title | + | | Title = id's Music Format |
− | | Format | + | | Format = IMF |
− | | Developer = [[id Software]] | + | | Developer = [[id Software]] |
− | | Released | + | | Header = Custom |
− | | FirstGame = [[Catacomb 3-D (DOS)]] | + | | Content = Instructional |
− | | Extension01 = *.imf | + | | Instruments = Combined |
− | | Extension02 = *.wlf | + | | OutputDA = No |
− | | Extension03 = *.adlib | + | | OutputMIDI = No |
+ | | OutputFM = Yes | ||
+ | | OutputPSG = No | ||
+ | | Released = 1991-10-09 | ||
+ | | FirstGame = [[Catacomb 3-D (DOS)]] | ||
+ | | Extension01 = *.imf | ||
+ | | Extension02 = *.wlf | ||
+ | | Extension03 = *.adlib | ||
}} | }} | ||
− | 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 | + | 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 | + | 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: | |
+ | {{Quote| | ||
+ | IMF sounds like it's probably what I did - boiling down MIDI note and instrument change info as input into AdLib register/value pairs with timing information (which, if I recall correctly, what was stored in the music playback files).}} | ||
− | IMF | + | 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. | ||
==Players== | ==Players== | ||
− | + | <div style="float:right;">([[:Category: IMF Players|Category]])</div> | |
+ | * [[Audio Overload]] - Linux, Macintosh, Windows | ||
+ | * [[AdPlug]] - foobar2000, Winamp | ||
+ | * [[Camoto]] - Linux, Windows | ||
+ | * [[IMF Music Player Winamp Plugin]] - Winamp | ||
==Converters== | ==Converters== | ||
− | * [[DRO to MIDI]] - DOS | + | <div style="float:right;">([[:Category: IMF Converters|Category]])</div> |
+ | |||
+ | ===IMF to ?=== | ||
+ | * [[Audio Overload]] - Linux, Macintosh, Windows - [[WAV]] | ||
+ | * [[Camoto]] - Linux, Windows - {{Camoto/FormatList|type=song|dir=write}} | ||
+ | * [[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 - {{Camoto/FormatList|type=song|dir=read}} | ||
+ | * [[IMF Creator]] - Windows - [[MIDI]] | ||
==Games== | ==Games== | ||
− | + | <div style="float:right;">([[:Category: Games That Use IMF|Category]])</div> | |
− | | | + | |
− | + | {| class="wikitable" | | |
− | + | ! Released | |
− | + | ! Title | |
− | + | ! Sample | |
|- | |- | ||
− | | 1991 | + | | 1991-11-?? |
| [[Catacomb 3-D (DOS)]] | | [[Catacomb 3-D (DOS)]] | ||
− | | {{Song-Box|01 - Catacomb 3-D - DOS - Too Hot.ogg}} | + | | {{Song-Box|01 - Catacomb 3-D - DOS - Too Hot to Handle.ogg}} |
|- | |- | ||
− | | 1991 | + | | 1991-12-15 |
| [[Commander Keen IV: Secret of the Oracle (DOS)]] | | [[Commander Keen IV: Secret of the Oracle (DOS)]] | ||
− | + | | {{Song-Box|05 - Commander Keen 4 - DOS - Welcome to a Kick In Yore Pants In Good Ole Hillville!.ogg}} | |
|- | |- | ||
− | | 1991 | + | | 1991-12-15 |
| [[Commander Keen V: The Armageddon Machine (DOS)]] | | [[Commander Keen V: The Armageddon Machine (DOS)]] | ||
− | | {{Song-Box|06 - Commander Keen 5 - DOS - Wednesday | + | | {{Song-Box|06 - Commander Keen 5 - DOS - Wednesday On the Beach.ogg}} |
|- | |- | ||
− | | 1991 | + | | 1991-12-15 |
| [[Commander Keen VI: Aliens Ate My Babysitter! (DOS)]] | | [[Commander Keen VI: Aliens Ate My Babysitter! (DOS)]] | ||
| {{Song-Box|01 - Commander Keen 6 - DOS - Aliens Ate My Babysitter.ogg}} | | {{Song-Box|01 - Commander Keen 6 - DOS - Aliens Ate My Babysitter.ogg}} | ||
|- | |- | ||
− | | 1992 | + | | 1992-03-?? |
| [[Cosmo's Cosmic Adventure (DOS)]] | | [[Cosmo's Cosmic Adventure (DOS)]] | ||
| {{Song-Box|02 - Cosmo's Cosmic Adventure - DOS - Just About Going Wacky.ogg}} | | {{Song-Box|02 - Cosmo's Cosmic Adventure - DOS - Just About Going Wacky.ogg}} | ||
|- | |- | ||
− | | 1992 | + | | 1992-05-05 |
| [[Wolfenstein 3D (DOS)]] | | [[Wolfenstein 3D (DOS)]] | ||
| {{Song-Box|02 - Wolfenstein 3D - DOS - Wondering About My Loved Ones.ogg}} | | {{Song-Box|02 - Wolfenstein 3D - DOS - Wondering About My Loved Ones.ogg}} | ||
|- | |- | ||
− | | 1992 | + | | 1992-09-18 |
| [[Spear of Destiny (DOS)]] | | [[Spear of Destiny (DOS)]] | ||
| {{Song-Box|01 - Spear of Destiny - DOS - The Tower.ogg}} | | {{Song-Box|01 - Spear of Destiny - DOS - The Tower.ogg}} | ||
|- | |- | ||
− | | 1992 | + | | 1992-??-?? |
| [[Catacomb 3-D (DOS)|The Catacomb Abyss (DOS)]] | | [[Catacomb 3-D (DOS)|The Catacomb Abyss (DOS)]] | ||
| Included in data files, but never played. | | Included in data files, but never played. | ||
|- | |- | ||
− | | 1993 | + | | 1993-01-?? |
| [[Major Stryker (DOS)]] | | [[Major Stryker (DOS)]] | ||
− | | | + | | {{Song-Box|02 - Major Stryker - DOS - Rock-It In Space.ogg}} |
|- | |- | ||
− | | 1993 | + | | 1993-04-09 |
| [[Monster Bash (DOS)]] | | [[Monster Bash (DOS)]] | ||
| {{Song-Box|03 - Monster Bash - DOS - Bach Bash.ogg}} | | {{Song-Box|03 - Monster Bash - DOS - Bach Bash.ogg}} | ||
|- | |- | ||
− | | 1993 | + | | 1993-08-03 |
| [[Bio Menace (DOS)]] | | [[Bio Menace (DOS)]] | ||
− | | | + | | {{Song-Box|02 - Bio Menace - DOS - Chasing.ogg}} |
|- | |- | ||
− | | 1993 | + | | 1993-12-03 |
| [[Duke Nukem II (DOS)]] | | [[Duke Nukem II (DOS)]] | ||
| {{Song-Box|03 - Duke Nukem 2 - DOS - Theme to Duke Nukem II.ogg}} | | {{Song-Box|03 - Duke Nukem 2 - DOS - Theme to Duke Nukem II.ogg}} | ||
|- | |- | ||
− | | 1993 | + | | 1993-12-05 |
| [[Blake Stone: Aliens of Gold (DOS)]] | | [[Blake Stone: Aliens of Gold (DOS)]] | ||
− | | | + | | {{Song-Box|02 - Blake Stone - DOS - Aliens of Gold.ogg}} |
|- | |- | ||
− | | 1993 | + | | 1993-??-?? |
| [[Catacomb 3-D (DOS)|Catacomb Armageddon (DOS)]] | | [[Catacomb 3-D (DOS)|Catacomb Armageddon (DOS)]] | ||
| Included in data files, but never played. | | Included in data files, but never played. | ||
|- | |- | ||
− | | 1993 | + | | 1993-??-?? |
| [[Catacomb 3-D (DOS)|Catacomb Apocalypse (DOS)]] | | [[Catacomb 3-D (DOS)|Catacomb Apocalypse (DOS)]] | ||
| Included in data files, but never played. | | Included in data files, but never played. | ||
|- | |- | ||
− | | 1994 | + | | 1994-01-05 |
| [[Realms of Chaos (DOS)]] (Beta Version Only) | | [[Realms of Chaos (DOS)]] (Beta Version Only) | ||
− | | | + | | {{Song-Box|419 - Realms of Chaos - DOS - The Evil Mryaal Beta.ogg}} |
|- | |- | ||
− | | 1994 | + | | 1994-??-?? |
| [[Operation Body Count (DOS)]] | | [[Operation Body Count (DOS)]] | ||
| {{Song-Box|01 - Operation Body Count - DOS - Title.ogg}} | | {{Song-Box|01 - Operation Body Count - DOS - Title.ogg}} | ||
|- | |- | ||
− | | 1994 | + | | 1994-03-?? |
| [[Corridor 7: Alien Invasion (DOS)]] | | [[Corridor 7: Alien Invasion (DOS)]] | ||
− | | | + | | {{Song-Box|01 - Corridor 7 - DOS - Introduction.ogg}} |
|- | |- | ||
− | | 1994 | + | | 1994-06-01 |
| [[Hocus Pocus (DOS)]] (Beta Version Only) | | [[Hocus Pocus (DOS)]] (Beta Version Only) | ||
| | | | ||
|- | |- | ||
− | | 1994 | + | | 1994-10-28 |
| [[Blake Stone: Planet Strike (DOS)]] | | [[Blake Stone: Planet Strike (DOS)]] | ||
− | | | + | | {{Song-Box|03 - Blake Stone 2 - DOS - Last Laugh.ogg}} |
+ | |- | ||
+ | | 2008-04-19 | ||
+ | | [[Voxelstein 3D (W32)]] | ||
+ | | {{Song-Box|04 - Wolfenstein 3D - DOS - Searching For the Enemy.ogg}} | ||
|} | |} | ||
+ | ==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. | ||
+ | |||
+ | ==Recording Guide== | ||
+ | To convert an IMF soundtrack into one that can be uploaded to the VGMPF, see [[IMF - Recording Guide]]. | ||
==Links== | ==Links== | ||
* [http://en.wikipedia.org/wiki/IMF_%28music%29 en.wikipedia.org/wiki/IMF_%28music%29] - Wikipedia. | * [http://en.wikipedia.org/wiki/IMF_%28music%29 en.wikipedia.org/wiki/IMF_%28music%29] - Wikipedia. | ||
* [http://www.shikadi.net/moddingwiki/IMF_Format shikadi.net/moddingwiki/IMF_Format] - Shikadi. | * [http://www.shikadi.net/moddingwiki/IMF_Format shikadi.net/moddingwiki/IMF_Format] - Shikadi. |
Revision as of 14:29, 12 October 2019
id's Music Format | |||||
Developer: | id Software | ||||
Header: | Custom | ||||
Content: | Instructional | ||||
Instruments: | Combined | ||||
Target Output
| |||||
Released: | 1991-10-09 | ||||
First Game: | Catacomb 3-D (DOS) | ||||
Extensions |
|
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.
Contents
Players
- Audio Overload - Linux, Macintosh, Windows
- AdPlug - foobar2000, Winamp
- Camoto - Linux, Windows
- IMF Music Player Winamp Plugin - Winamp
Converters
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 (AdLib), MUS (DMX), RAW (Rdos), S3M, TBSA
- IMF Creator - Windows - MIDI
Games
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.
Recording Guide
To convert an IMF soundtrack into one that can be uploaded to the VGMPF, see IMF - Recording Guide.
Links
- en.wikipedia.org/wiki/IMF_%28music%29 - Wikipedia.
- shikadi.net/moddingwiki/IMF_Format - Shikadi.