Difference between revisions of "Adding custom music"

From DoomWiki.org

[checked revision][checked revision]
m (Finding MIDI files: Xaser, simply Xaser.)
m (add index link)
 
(21 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[PWAD]]s 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]].
 
[[PWAD]]s 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 [[Versions of Doom and Doom II#v1.5|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]].
+
Since [[Versions of Doom and Doom II#v1.5|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 [[source port|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.  
  
Most modern [[source port|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 {{wp|WAV}}, {{wp|MP3}}, {{wp|Ogg}}, {{wp|FLAC}}, as well as {{wp|Module file|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.
  
 
== Requirements ==
 
== Requirements ==
 
To add music to a WAD you will need:
 
To add music to a WAD you will need:
  
* a MIDI file that you want in your level
+
* a music file that you want in your level, most commonly a MIDI file
 
* a {{cat|WAD editors|WAD resource editor}} such as [[SLADE 3]]
 
* a {{cat|WAD editors|WAD resource editor}} such as [[SLADE 3]]
  
 
== Importing ==
 
== Importing ==
  
# 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.
+
# Open your map in SLADE 3. Drag and drop your music 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 {{Dwforumsp|id=2374964|title=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.
+
# Rename your music 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 {{Dwforumsp|id=2374964|title=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]].
 
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]].
  
Line 23: Line 23:
 
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.
 
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 ==
+
== Finding music files ==
  
The Doom community is full of {{cat|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:
+
The Doom community is full of {{cat|composers}}, most of which gracefully allow for their work to be reused in mods for Doom and other Doom-engine games. Most of these composers work in the MIDI format. A non-exhaustive list of free-to-use music download links follow:
 
<div class="references-small" style="-moz-column-count: 2; column-count: 2;">
 
<div class="references-small" style="-moz-column-count: 2; column-count: 2;">
 
* [[Brayden Hart (AD_79)|AD_79]]: {{dwforums|106316|AD MIDIs}}
 
* [[Brayden Hart (AD_79)|AD_79]]: {{dwforums|106316|AD MIDIs}}
 
* [[Gus Knezevich (Alfonzo)|Alfonzo]]: {{dwforums|94402|The Alfonzo MIDI Depository}}
 
* [[Gus Knezevich (Alfonzo)|Alfonzo]]: {{dwforums|94402|The Alfonzo MIDI Depository}}
 +
* [[Jackson Marriott (Bouncy)|Bouncy]]: {{zdforums|t=67780|Bouncy's music albums}}, inspired by [[Doom 64]]
 +
* [[continuum.mid]]: {{dwforums|119581|CC0 MIDIs and other music for your projects}}
 
* [[Glen Christie (Crunchynut44)|Crunchynut44]]: {{dwforums|101474|Crunchynut44 MIDI Pack}}
 
* [[Glen Christie (Crunchynut44)|Crunchynut44]]: {{dwforums|101474|Crunchynut44 MIDI Pack}}
 +
* [[David Finnamore (Daeron)|Daeron]]: [http://www.elvenminstrel.com/games/doommusic.htm MIDI page]
 
* [[Tomás Soares (Deadwing)|Deadwing]]: {{dwforums|100917|Exomoon sountrack MIDI pack!}} / {{dwforums|91136|Moonblood MIDI-pack}}
 
* [[Tomás Soares (Deadwing)|Deadwing]]: {{dwforums|100917|Exomoon sountrack MIDI pack!}} / {{dwforums|91136|Moonblood MIDI-pack}}
 
* Dial-up for murder: [https://dialupformurder.bandcamp.com/album/midi-nightmares Bandcamp] {{dwforums|108151|MIDI Nightmares - my new album with 18 free to use MIDI files}}
 
* Dial-up for murder: [https://dialupformurder.bandcamp.com/album/midi-nightmares Bandcamp] {{dwforums|108151|MIDI Nightmares - my new album with 18 free to use MIDI files}}
 
* Doomguydude: {{dwforums|110410|Remixed STRIFE Music}}
 
* Doomguydude: {{dwforums|110410|Remixed STRIFE Music}}
* [[Adam Post (Doomkid)|Doomkid]]: [https://doomshack.org/midi.html Personal site]
+
* [[David Newton (DavidN)|DavidN]]: [https://modarchive.org/index.php?request=view_profile&query=69348 ModArchive profile]
 +
* [[DiR]]: {{dwforums|133452|DiR's Noise Tank MIDI collection}}
 +
* [[Doomkid]]: [https://doomshack.org/midi.html Personal site]
 
* [[Joshua O'Sullivan (Dragonfly)|Dragonfly]]: [https://www.dfdoom.com/midi-music/ Personal site]
 
* [[Joshua O'Sullivan (Dragonfly)|Dragonfly]]: [https://www.dfdoom.com/midi-music/ Personal site]
 
* Endrey: {{dwforums|112921|[MIDI tracks&#93; Originals I think may fit WADS well (Rhythmic, primeval, layered)}}
 
* Endrey: {{dwforums|112921|[MIDI tracks&#93; Originals I think may fit WADS well (Rhythmic, primeval, layered)}}
* [[Tristan Clark (Eris Falling)|Eris Falling]]: {{dwforums|111911|The Eris MIDI thread}}
 
 
* [[Marc Pullen (Fanatic)|Fanatic]]: [https://www.doomworld.com/3ddownloads/fanatic/doom2_tc_music/ Hosted archive]
 
* [[Marc Pullen (Fanatic)|Fanatic]]: [https://www.doomworld.com/3ddownloads/fanatic/doom2_tc_music/ Hosted archive]
 
* Fookerton: {{dwforums|105947|Sharing some MIDI}}
 
* Fookerton: {{dwforums|105947|Sharing some MIDI}}
* [[Fredrik Johansson]]: [http://fredrikj.net/music/ Personal site]
+
* [[Fredrik Johansson]]: [https://fredrikj.net/music/ Personal site]
* Gifty: {{dwforums|72645|[Music Project&#93; Bobby's Lost Midis}}
+
* [[Gifty]]: {{dwforums|72645|[Music Project&#93; Bobby's Lost Midis}}
 +
* [[Gustavo Rehermann (Gustavo6046)|Gustavo6046]]: {{dwforums|100433|GusMus: The modern Doom II music replacement pack}}
 
* I.C.H.I. Znot: {{dwforums|103794|PS1 DooM music converted to MIDI grab here.}}
 
* I.C.H.I. Znot: {{dwforums|103794|PS1 DooM music converted to MIDI grab here.}}
* Immorpher: {{dwforums|102741|Another MIDI Collection for Use}}
+
* [[Immorpher]]: {{dwforums|102741|Another MIDI Collection for Use}}
* Ivan Stanton (northivanastan): {{dwforums|119581|CC0 MIDIs and other music for your projects}}
 
 
* [[James Paddock (Jimmy)|Jimmy]]: [https://jamespaddockmusic.com/midis/ Personal site]
 
* [[James Paddock (Jimmy)|Jimmy]]: [https://jamespaddockmusic.com/midis/ Personal site]
 
* [[Jazz Mickle  (jmickle)|jmickle]]: [http://www.jmickle.com/doom/midilist.html Personal site]
 
* [[Jazz Mickle  (jmickle)|jmickle]]: [http://www.jmickle.com/doom/midilist.html Personal site]
Line 54: Line 58:
 
* [[MFG38]]: {{dwforums|119576|MFG38's MIDI Master Thread}}
 
* [[MFG38]]: {{dwforums|119576|MFG38's MIDI Master Thread}}
 
* Mikey: {{dwforums|106774|(MIDI Album) Doom or Die}}
 
* Mikey: {{dwforums|106774|(MIDI Album) Doom or Die}}
 +
* [[Emma Essex (msx2plus)|msx2plus]]: [https://heckscaper.com/doom.php Personal site]
 
* MuddyFunster: {{dwforums|101503|MuddyFunster's Midi Repository}}
 
* MuddyFunster: {{dwforums|101503|MuddyFunster's Midi Repository}}
 
* Nabernizer: {{dwforums|99268|MIDI Pack}}
 
* Nabernizer: {{dwforums|99268|MIDI Pack}}
 
* noisebloom: {{dwforums|112184|[MIDI&#93; noisebloom's noises}}
 
* noisebloom: {{dwforums|112184|[MIDI&#93; noisebloom's noises}}
* [[Paul Corfiatis (pcorf)|pcorf]]: [http://www.paulcorfiatis.com/music.html Personal site]
+
* [[Paul Corfiatis (pcorf)|pcorf]]: [https://www.paulcorfiatis.com/music.html Personal site]
* Psychedelic Eyeball: [http://music.themaxproject.com/midis.php Personal site]
+
* [[Maxime Tondreau (Psychedelic Eyeball)|Psychedelic Eyeball]]: [http://music.themaxproject.com/midis.php Personal site]
* Psyrus: {{dwforums|95604|MIDI originals}}
+
* [[Psyrus]]: {{dwforums|95604|MIDI originals}}
 
* RedInsane: {{dwforums|113228|Midi Dump (for use in WADS or whatever you like)}}
 
* RedInsane: {{dwforums|113228|Midi Dump (for use in WADS or whatever you like)}}
* [[Zachary Stephens (Ribbiks)|Ribbiks]]: [http://rbkz.net/midi/ Personal site], {{dwforums|100952|another midi thread}}
+
* [[Zachary Stephens (Ribbiks)|Ribbiks]]: [https://rbkz.net/midi/ Personal site], {{dwforums|100952|another midi thread}}
 
* [[Jay Reichard (silentzorah)|silentzorah]]: [http://zorasoft.net/midi.html Personal site]
 
* [[Jay Reichard (silentzorah)|silentzorah]]: [http://zorasoft.net/midi.html Personal site]
 
* [[Stuart Rynn (stewboy)|stewboy]]: {{dwforums|93428|'Releasing' some midi files (Ancient Aliens, Resurgence, plus MEGA STEWBOY PAK)}}
 
* [[Stuart Rynn (stewboy)|stewboy]]: {{dwforums|93428|'Releasing' some midi files (Ancient Aliens, Resurgence, plus MEGA STEWBOY PAK)}}
* Taw Tu'lki: {{dwforums|98099|My MIDI-tracks for Doom & other games}}
+
* [[Taw Tu'lki]]: {{dwforums|98099|My MIDI-tracks for Doom & other games}}
 
* Teivman: {{dwforums|94760|My shitty midi's}} / {{dwforums|94476|Some midi tracks that could be used}}
 
* Teivman: {{dwforums|94760|My shitty midi's}} / {{dwforums|94476|Some midi tracks that could be used}}
 
* [[David Shaw (Tolwyn)|Tolwyn]]: {{dwforums|93415|Tolwyn's MIDI Archive}}
 
* [[David Shaw (Tolwyn)|Tolwyn]]: {{dwforums|93415|Tolwyn's MIDI Archive}}
 +
* [[Tristan Clark|Tristan]]: {{dwforums|111911|Tristan MIDIs}}
 
* [[Varis Alpha]]: {{dwforums|102027|Doomed To Score - 50 Track MIDI Album}}
 
* [[Varis Alpha]]: {{dwforums|102027|Doomed To Score - 50 Track MIDI Album}}
 
* [[Velvetic]]: {{dwforums|124673|Velvetic MIDI Pack}}
 
* [[Velvetic]]: {{dwforums|124673|Velvetic MIDI Pack}}
* [[Xaser]]: [https://static.angryscience.net/pub/music/midi/ Personal site]
+
* [[Xaser]]: [https://static.angryscience.net/pub/music/midi/ MIDI repository], [https://modarchive.org/index.php?request=view_profile&query=69424 ModArchive page]
 
* [[Zan-zan-zawa-veia|yakfak]]: [https://zan-zan-zawa-veia.bandcamp.com/album/yak-001 yak 001] / [https://zan-zan-zawa-veia.bandcamp.com/album/yak-002-have-a-trophy yak 002 (have a trophy)] / [https://www.doomworld.com/applications/core/interface/file/attachment.php?id=118336 A ZZZV Collection] (unofficial compilation by [[Alper002]])
 
* [[Zan-zan-zawa-veia|yakfak]]: [https://zan-zan-zawa-veia.bandcamp.com/album/yak-001 yak 001] / [https://zan-zan-zawa-veia.bandcamp.com/album/yak-002-have-a-trophy yak 002 (have a trophy)] / [https://www.doomworld.com/applications/core/interface/file/attachment.php?id=118336 A ZZZV Collection] (unofficial compilation by [[Alper002]])
 
</div>
 
</div>
Line 83: Line 89:
 
* Conversion from MIDI to MUS is destructive: converting the MUS back to MIDI will not give you the original MIDI file.
 
* Conversion from MIDI to MUS is destructive: converting the MUS back to MIDI will not give you the original MIDI file.
  
 +
{{music}}
 +
 +
----
 +
<div class="dw-div-dl">''[[Editing tutorials|Back to the editing index]]''</div>
  
{{music}}
 
 
[[Category:WAD editing]]
 
[[Category:WAD editing]]

Latest revision as of 16:15, 12 April 2024

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.

Requirements[edit]

To add music to a WAD you will need:

Importing[edit]

  1. Open your map in SLADE 3. Drag and drop your music file in the list of entries, but make sure not to insert it between map lumps or *_START/*_END markers.
  2. Rename your music 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[edit]

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 music files[edit]

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. Most of these composers work in the MIDI format. A non-exhaustive list of free-to-use music download links follow:

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.

MUS format[edit]

  • 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.