Difference between revisions of "Adding custom music"

From DoomWiki.org

[unchecked revision][checked revision]
(cut down number of sections considerably, restructure)
m (Automated edit - Link Gifty)
(43 intermediate revisions by 20 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 [[Wikipedia:MIDI|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]].
  
Many modern ports will accept MIDI lumps.
+
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.  
  
 
== 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 MIDI file that you want in your level
* [[:Category:WAD editors|WAD resource editor]] such as [[XWE]]
+
* a {{cat|WAD editors|WAD resource editor}} such as [[SLADE 3]]
  
 
== Importing ==
 
== Importing ==
  
# If your map occupies the [[MAP01]] slot, you will have to rename the midi file to D_RUNNIN for it to work properly. See [[music]] for a list of names used on other map slots.
+
# 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 XWE. At the bottom of the screen you will see a tab that says music. Double click on that and open the MIDI file that you renamed in the previous step.
+
# 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.
 
+
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]].
Make sure that you do not alter or edit your [[IWAD]] (e.g. doom2.wad) or most multiplayer ports (e.g. [[Skulltag]], [[zDaemon]]) will no longer work properly.
 
  
 
== Creating MIDI files ==
 
== Creating MIDI files ==
  
There are several sequencers that can create MIDI files. Just search for MIDI sequencer and you'll most likely find one that suites your needs.
+
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.
 
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 {{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:
 +
<div class="references-small" style="-moz-column-count: 2; column-count: 2;">
 +
* [[Brayden Hart (AD_79)|AD_79]]: {{dwforums|106316|AD MIDIs}}
 +
* [[Gus Knezevich (Alfonzo)|Alfonzo]]: {{dwforums|94402|The Alfonzo MIDI Depository}}
 +
* [[Glen Christie (Crunchynut44)|Crunchynut44]]: {{dwforums|101474|Crunchynut44 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}}
 +
* Doomguydude: {{dwforums|110410|Remixed STRIFE Music}}
 +
* [[Adam Post (Doomkid)|Doomkid]]: [https://doomshack.org/midi.html 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)}}
 +
* [[Marc Pullen (Fanatic)|Fanatic]]: [https://www.doomworld.com/3ddownloads/fanatic/doom2_tc_music/ Hosted archive]
 +
* Fookerton: {{dwforums|105947|Sharing some MIDI}}
 +
* [[Fredrik Johansson]]: [https://fredrikj.net/music/ Personal site]
 +
* [[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.}}
 +
* Immorpher: {{dwforums|102741|Another MIDI Collection for Use}}
 +
* [[James Paddock (Jimmy)|Jimmy]]: [https://jamespaddockmusic.com/midis/ Personal site]
 +
* [[Jazz Mickle  (jmickle)|jmickle]]: [http://www.jmickle.com/doom/midilist.html Personal site]
 +
* [[Donnel Enriquez (Jazzmaster9)|Jazzmaster9]]: {{dwforums|67525|Jazzmaster9's MIDIs [Resource&#93;}}
 +
* kinker31: {{dwforums|113106|Big Bad Demon Blues - A MIDI}}
 +
* Knightrider of Doom: [http://www.angelfire.com/punk4/knightriderofdoom/midis.html Personal site]
 +
* Makazi the Hyena: {{dwforums|112335|Makazi's MIDI Corner}}
 +
* [[Mark Klem]]: [http://static.angryscience.net/pub/hosted/klem/midi/ Hosted archive]
 +
* Megabeholder: {{dwforums|112912|MIDI track - minimalistic, percussion driven}}
 +
* [[MFG38]]: {{dwforums|119576|MFG38's MIDI Master Thread}}
 +
* Mikey: {{dwforums|106774|(MIDI Album) Doom or Die}}
 +
* [[Emma Essex (msx2plus)|msx2plus]]: [https://heckscaper.com/doom/ Personal site]
 +
* MuddyFunster: {{dwforums|101503|MuddyFunster's Midi Repository}}
 +
* Nabernizer: {{dwforums|99268|MIDI Pack}}
 +
* noisebloom: {{dwforums|112184|[MIDI&#93; noisebloom's noises}}
 +
* northivanastan: {{dwforums|119581|CC0 MIDIs and other music for your projects}}
 +
* [[Paul Corfiatis (pcorf)|pcorf]]: [https://www.paulcorfiatis.com/music.html Personal site]
 +
* Psychedelic Eyeball: [http://music.themaxproject.com/midis.php Personal site]
 +
* Psyrus: {{dwforums|95604|MIDI originals}}
 +
* 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}}
 +
* [[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)}}
 +
* [[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}}
 +
* [[David Shaw (Tolwyn)|Tolwyn]]: {{dwforums|93415|Tolwyn's MIDI Archive}}
 +
* [[Tristan Clark (Eris Falling)|Tristan]]: {{dwforums|111911|Tristan MIDIs}}
 +
* [[Varis Alpha]]: {{dwforums|102027|Doomed To Score - 50 Track MIDI Album}}
 +
* [[Velvetic]]: {{dwforums|124673|Velvetic MIDI Pack}}
 +
* [[Xaser]]: [https://static.angryscience.net/pub/music/midi/ Personal site]
 +
* [[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>
 +
Many of them are collated on the [https://doommidis.com/ The Doom MIDI Repository].
 +
In addition, sites such as [https://bitmidi.com/ BitMidi], [https://www.khinsider.com/midi KH Insider], [http://www.mirsoft.info/index.php Mirsoft], [https://opengameart.org OpenGameArt], [https://www.vgmusic.com/ VGMusic], or the [[vgmpf:Main Page|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 ==
 
== MUS format ==
 
+
* 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 apart from MIDI's 16 channels using channel 1-8 for sounds and channel 9 for drums.
+
* Doom MUS format uses 9 channels, using channel 1-8 for sounds and channel 9 for drums. General MIDI allows for 16 channels.
* Each channel can only play 1 note at the time, so if you want to add a chord then you have to set 3 channels to the same patch and split the notes up that way.
 
 
* MUS format uses the same MIDI patch layout as in General MIDI.
 
* 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.
  
{{stub}}
 
  
[[Category: Editing]]
+
{{music}}
 +
[[Category:WAD editing]]

Revision as of 08:19, 7 February 2022

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.

Requirements

To add music to a WAD you will need:

Importing

  1. 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.
  2. 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:

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

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