Adding custom music
PWADs can include music lumps for custom music when played. Originally, these lumps were encoded in the MUS format. WAD editors need to convert between that and a format used by music authoring tools, such as MIDI.
Since v1.5, Doom has been able to read standard format MIDI files for music, as long as they can be successfully converted. The Windows 95 version of Doom, Doom95, however does not have the ability to play MIDI files, nor do vanilla Heretic or Hexen. Most modern ports will accept MIDI lumps without any limitation. In fact, they usually need to convert MUS back to MIDI internally, since DMX is the only audio library that natively supports the MUS format.
Besides MIDI and MUS, many, but not all, source ports support additional music formats, such as WAV, MP3, Ogg, FLAC, as well as tracker music formats and also certain music formats native to older video game consoles. Care must be taken that the target source port supports whatever music formats one wishes to utilize.
To add music to a WAD you will need:
- a music file that you want in your level, most commonly a MIDI file
- a WAD resource editor such as SLADE 3
- Open your map in SLADE 3. Drag and drop your MIDI file in the list of entries, but make sure not to insert it between map lumps or *_START/*_END markers.
- Rename your MIDI lump to the name appropriate for its map slot. For example, MAP01 of Doom II, TNT, or Plutonia uses the name D_RUNNIN. See music for lists of names associated with map slots. However, this Lua script for SLADE 3, along with instructions to use it, may be convenient for WADs which replace music of Doom II, TNT or Plutonia.
Note that Hexen lets you choose arbitrary names for the music track by way of SNDINFO, while some advanced source ports do likewise via MAPINFO.
Creating MIDI files
There are several sequencers that can create MIDI files. Just search for MIDI sequencer and you will most likely find one that suits your needs.
When creating a MIDI file make sure that no notes stretch out beyond the end of the MIDI file, or else your song will end with a silent bar of music.
Finding MIDI files
The Doom community is full of composers, most of which gracefully allow for their work to be reused in mods for Doom and other Doom-engine games. A non-exhaustive list of free-to-use MIDI download links follow:
- AD_79: AD MIDIs
- Alfonzo: The Alfonzo MIDI Depository
- Crunchynut44: Crunchynut44 MIDI Pack
- Deadwing: Exomoon sountrack MIDI pack! / Moonblood MIDI-pack
- Dial-up for murder: Bandcamp MIDI Nightmares - my new album with 18 free to use MIDI files
- Doomguydude: Remixed STRIFE Music
- Doomkid: Personal site
- Dragonfly: Personal site
- Endrey: [MIDI tracks] Originals I think may fit WADS well (Rhythmic, primeval, layered)
- Fanatic: Hosted archive
- Fookerton: Sharing some MIDI
- Fredrik Johansson: Personal site
- Gifty: [Music Project] Bobby's Lost Midis
- Gustavo6046: GusMus: The modern Doom II music replacement pack
- I.C.H.I. Znot: PS1 DooM music converted to MIDI grab here.
- Immorpher: Another MIDI Collection for Use
- Jimmy: Personal site
- jmickle: Personal site
- Jazzmaster9: Jazzmaster9's MIDIs [Resource]
- kinker31: Big Bad Demon Blues - A MIDI
- Knightrider of Doom: Personal site
- Makazi the Hyena: Makazi's MIDI Corner
- Mark Klem: Hosted archive
- Megabeholder: MIDI track - minimalistic, percussion driven
- MFG38: MFG38's MIDI Master Thread
- Mikey: (MIDI Album) Doom or Die
- msx2plus: Personal site
- MuddyFunster: MuddyFunster's Midi Repository
- Nabernizer: MIDI Pack
- noisebloom: [MIDI] noisebloom's noises
- northivanastan: CC0 MIDIs and other music for your projects
- pcorf: Personal site
- Psychedelic Eyeball: Personal site
- Psyrus: MIDI originals
- RedInsane: Midi Dump (for use in WADS or whatever you like)
- Ribbiks: Personal site, another midi thread
- silentzorah: Personal site
- stewboy: 'Releasing' some midi files (Ancient Aliens, Resurgence, plus MEGA STEWBOY PAK)
- Taw Tu'lki: My MIDI-tracks for Doom & other games
- Teivman: My shitty midi's / Some midi tracks that could be used
- Tolwyn: Tolwyn's MIDI Archive
- Tristan: Tristan MIDIs
- Varis Alpha: Doomed To Score - 50 Track MIDI Album
- Velvetic: Velvetic MIDI Pack
- Xaser: Personal site
- yakfak: yak 001 / yak 002 (have a trophy) / A ZZZV Collection (unofficial compilation by Alper002)
Many of them are collated on the The Doom MIDI Repository. In addition, sites such as BitMidi, KH Insider, Mirsoft, OpenGameArt, VGMusic, or the Video Game Music Preservation Foundation can be used.
Make sure to properly credit the author and source and to list the song name in your mod's text file and credit lump.
- A MUS file cannot be larger than 65535 bytes. Since MUS is more compact than MIDI, a MIDI file slightly larger than 64kb may still be successfully converted to MUS.
- Doom MUS format uses 9 channels, using channel 1-8 for sounds and channel 9 for drums. General MIDI allows for 16 channels.
- MUS format uses the same MIDI patch layout as in General MIDI.
- Conversion from MIDI to MUS is destructive: converting the MUS back to MIDI will not give you the original MIDI file.