The Binding of Isaac: Rebirth

The Binding of Isaac: Rebirth

Soundtrack Menu
 This topic has been pinned, so it's probably important
☢ Nato Potato ☢  [developer] 11 Dec, 2019 @ 2:49am
Making a Compatible Soundtrack mod
Please do not set mods as "Required Items" in your soundtrack mods settings
(unless it is doing something special and ACTUALLY requires them)

This includes setting Music Mod Callback, Mod Config Menu or REPENTOGON as requirements for your soundtrack mod (especially the 'continued' version of mod config menu as it is outdated and doesn't work), not only are these requirements already covered by the soundtrack menu itself, but it can lead to people getting confused and running into issues.

If someone's using Repentogon and your mod says it requires MMC, or they aren't running Repentance and you require the Repentance specific version of MMC, etc, they may think the soundtrack won't work and not subscribe to your soundtrack, or they may install the mod you've set as a requirement when they don't need to.

Even setting the Soundtrack Menu mod as a required item can be wrong because the player may be using Potato Pack 2 and now they're going to be dealing with steam telling them to subscribe to the soundtrack menu every time they want to add a soundtrack when they don't need to because it's already in the pack.

Just mention soundtrack menu in the description or title.



Making a new mod?
Just subscribe to this mod https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=1987528220 go to the mods folder (Documents\my games\Binding of Isaac Afterbirth+ Mods or Steam\steamapps\common\The Binding of Isaac Rebirth\mods), find the 'deadcellssoundtrack' mod folder, copy/paste it and rename the new folder.

Replace the .ogg audio files with the ones you want to use (can use https://audio.online-convert.com/convert-to-ogg to convert files), rename the folder that the audio files are in (resources/music), then update the main.lua, metadata.xml and music.xml using a text editor. (one that doesn't add formatting like Word, Notepad++ is good)

Just need to remove the <id> tag from the metadata file and update the name and description of the mod, in the main.lua just change the mods name and soundtracks name and in the music.xml update the 'name' and 'path' of each track to match the new ogg files and new folder name.
(the 'name' of each track must match 'FOLDERNAME TRACKTYPE' with the space in the middle e.g. "Dead Cells Burning Basement")

Some tracks will be commented out with <!-- --> tags, these tags prevent the track from being loaded, I did this rather than deleting them so that you can see all the tracks that are available even though the Dead Cells soundtrack didn't use them all, if you have audio for these tracks you can remove the <!-- --> tags around them, if you don't have audio for those tracks you can just delete them.


Make sure the text in the AddSoundtrackToMenu function in the main.lua is the same as the text at the start of the track names in the music.xml

(e.g. if main.lua has AddSoundtrackToMenu("Diablo II") and music.xml has <track name="Diablo 2 Basement" then it wouldn't find the tracks because it's looking for tracks that have 'Diablo II' at the start not 'Diablo 2')


If you don't have custom audio for a set track (e.g. mega satan fight/devil room open/etc) you can just set the same ogg file as another track, or you can delete the line for that track in the music.xml file and it will use the default rebirth audio for that track instead, you do not need to include any audio files of the games default audio, only your custom audio, if you would prefer it to simply not play anything you can use a 'blank' ogg file that's just 1 second of silence.

(except for Challenge Intro jingles, don't use blank audio for them, see notes at bottom)

If any tracks you want to add have an 'intro' before they start to loop you can cut intros into separate ogg files, in the xml file just add intro="introfile.ogg" for a track and it will play the intro file once before playing the main file on loop.
(check SovietJumpGame, Shovel Knight or Blackhole soundtrack mods for reference)





Updating an existing mod?
First you just need to create a new folder in the music folder named after the soundtrack. (e.g. 'resources/music/Soundtrack/' ) and cut-paste the audio files into there.

Then you need to add a music.xml file if you don't have one already, the music.xml file needs to be in a folder called "content" (not "resources"), you need to make sure that the xml file points to the new folder (e.g. root="music/Soundtrack/" ), put the soundtracks name in front of the track names (e.g. name="Soundtrack Basement"), you also need to make sure that the tracks don't have ID numbers.

EXAMPLE FILE https://pastebin.com/zvCHqKGC


Duplicate/Rebirth files
Some soundtrack mods made before soundtrack menu will have ogg files in the music folder which are the same as the 'rebirth' files included in the menu, they may also have empty/silent 'layer' files or 'intro' files that are exactly the same as a 'loop' file.
You can delete these files and their relevant entries in the xml.

If you don't have 'layer' or 'intro' files for a track just remove the layer or intro fields in that tracks xml code, you do not need to include any audio files of the games default audio, only your custom audio, if you would prefer a track to simply not play anything you can use a 'blank' ogg file with half a second of silence.

(except for Challenge Intro jingles, don't use blank audio for them, see notes at bottom)



Finally just add a main.lua file to the mod with a game start callback to add the soundtrack to the list, e.g.

local mymod = RegisterMod("Soundtrack", 1) function mymod:startGame() if SoundtrackSongList then AddSoundtrackToMenu("Soundtrack") end end mymod:AddCallback(ModCallbacks.MC_POST_GAME_STARTED, mymod.startGame)


Make sure the text in the AddSoundtrackToMenu function in the main.lua is the same as the text at the start of the track names in the music.xml

(e.g. if main.lua has AddSoundtrackToMenu("Diablo II") and music.xml has <track name="Diablo 2 Basement" then it wouldn't find the tracks because it's looking for tracks that have 'Diablo II' at the start not 'Diablo 2')





A few things to note
For Repentance tracks with multiple layers (like beast fight music) you don't need all the layers, you can just have one audio file with no layers and it will work fine.

Genesis reversed is the Ascent music, you can have layers for the individual floors, e.g.
<track name="Soundtrack Genesis (reversed)" path="ascent.ogg" loop="true" mul="1.2">
<layer path="basement layer.ogg" mul="1.2" />
<layer path="caves layer.ogg" mul="1.2" />
<layer path="depths layer.ogg" mul="1.2" />
<layer path="downpour layer.ogg" mul="1.2" />
<layer path="mines layer.ogg" mul="1.2" />
<layer path="mausoleum layer.ogg" mul="1.2" />

Echoes reverse is what plays in HOME after sleeping in Mom's Bed (also when using Death Certificate)

Downpour (reversed) and Dross (reversed) are used specifically during the mirror dimension.

For some reason the game can mess up if the intro file and loop file for a track with an intro have different bitrates, so if you get the issue where the intro plays and then the music just stops try running the files through an OGG converter and making them the same audio quality.

Depending on soundtrack setup and user settings the Devil and Angel room appear tracks may override the boss defeat tracks (since only one track can be played at a time), if you don't have custom devil/angel room appear tracks just have them use the same audio as the boss defeat track, also it can sometimes take a moment after the defeat sound starts for the room appear sound to play, so it can help to have a little bit of silence at the start of the boss defeat and room appear jingles.

The "Boss Room (empty)" track doesn't just play in boss rooms, it is also used for safe challenge rooms and boss trap rooms.
In Repentance "Boss Room (empty, twisted)" is used specifically for beating the variant of mom's heart in Mausoleum/Gehenna.

The "Challenge Room (fight)", "Challenge Room Entry (jingle)" and "Challenge Room Outro (jingle)" tracks don't just play for challenge rooms but also for boss trap rooms and boss rush.
(Repentance has a separate track for boss rush)

Despite the name the "Challenge Room Entry (jingle)" track plays when starting a challenge or boss trap ambush, not when entering the room, also the default game doesn't use this sound but I've added the functionality for mods to implement their own.

Don't put a line for Challenge Entry in the xml if you don't have a sound set for it.

For some reason the game screws up music queuing if you have an instant (0.0 second) track for a couple of the jingles, so if music isn't playing after a silent jingle try giving your silence track some length, like just half a second or something.

The "Boss (jingle)" and "Challenge Room Entry (jingle)" tracks are different from giving the challenge and boss fight tracks an intro, the boss jingle will only be played during the VS boss intro screen and the challenge jingle won't be played when the challenge music is used for things like waves in greed mode.

For some reason the game has a bug where if you try to fade an ogg audio file over itself it will just break the music player and be silent until something else tries to play, normally this wouldn't be too much of an issue as even if multiple floors use the same song they would be separated by the nightmare jingle, but it is something to be aware of if for example you set secret rooms to have the same music as a particular floor, the secret room music might fail to play when in a secret room on that floor.






Full list of (currently) supported track types: (total of 50 for AB+, 85 for Repentance, 90 with Repentogon)

1 - Basement
2 - Cellar
3 - Burning Basement
4 - Caves
5 - Catacombs
6 - Flooded Caves
7 - Depths
8 - Necropolis
9 - Dank Depths
10 - Womb/Utero
11 - Scarred Womb
12 - Blue Womb
13 - Sheol
14 - Cathedral
15 - Dark Room
16 - Chest
17 - Void

18 - Library Room
19 - Devil Room appear (jingle)
20 - Devil Room
21 - Holy Room Find (jingle)
22 - Angel Room
23 - Shop Room
24 - Arcade Room
25 - Secret Room Find (jingle)
26 - Secret Room
27 - Treasure Room Entry (jingle) 1
28 - Treasure Room Entry (jingle) 2
29 - Treasure Room Entry (jingle) 3
30 - Treasure Room Entry (jingle) 4
31 - Boss Room (empty)
32 - Challenge Room Entry (jingle)
33 - Challenge Room (fight)
34 - Challenge Room Outro (jingle)
35 - Boss (jingle)

36 - Boss
37 - Boss (alternate)
38 - Boss (Depths - Mom)
39 - Boss (Womb - Mom's Heart)
40 - Boss (Cathedral - Isaac)
41 - Boss (Sheol - Satan)
42 - Boss (Dark Room)
43 - Boss (Chest - ???)
44 - Boss (Blue Womb - Hush)
45 - Boss (Ultra Greed)
46 - Boss (Void)
47 - Boss Death (jingle)
48 - Boss Death Alternate (jingle)
49 - Boss Hush Death (jingle)
50 - Boss (Mega Satan)


REPENTANCE ONLY
51 - Utero
52 - Downpour
53 - Dross
54 - Mines
55 - Ashpit
56 - Mausoleum
57 - Gehenna
58 - Corpse
59 - Home

60 - Abandoned Mineshaft
61 - Mineshaft Escape
62 - Planetarium
63 - Secret Room Alt
64 - Secret Room Alt Alt

65 - Boss Rush
66 - Boss Rush (jingle)
67 - Boss Room (empty, twisted)
68 - Mom's Shadow Intro
69 - Strange Door (jingle)
70 - Echoes Reverse

71 - Boss (alternate alternate)
72 - Boss (Mother)
73 - Dogma Intro
74 - Boss (Dogma)
75 - Boss (Beast)
76 - Boss Death Alternate Alternate (jingle)
77 - Boss Mother Death (jingle)
78 - Boss Dogma Death (jingle)
79 - Boss Beast Death (jingle)

80 - Downpour (reversed)
81 - Dross (reversed)

82 - Genesis (reversed)

83 - Game Over (jingle)
84 - Game Over

85 - Boss (Hush Phase 1)


REPENTOGON ONLY
86 - Nightmare
87 - Dogma Nightmare

88 - Run Start
89 - Tainted Run Start

90 - Main Menu
Last edited by ☢ Nato Potato ☢; 18 Mar @ 7:21pm
< >
Showing 1-15 of 91 comments
TeSLaSP2 8 Jun, 2021 @ 11:35am 
The Game Over track shows up when you die right? Asking just to be 100% sure of it
☢ Nato Potato ☢  [developer] 8 Jun, 2021 @ 6:21pm 
first theres a death sound effect (which this doesnt control) then the death screen appears and it plays a 'Game Over Jingle', then a looping 'Game Over' music
Last edited by ☢ Nato Potato ☢; 15 Jun, 2021 @ 5:30am
Human 28 Jun, 2021 @ 3:35am 
Do "layer" music files just play together with main loop or do they replace them? When I was playing with FTL soundtrack I thought loop music gets replaced with layer one when mobs are present. How do you do that?
Last edited by Human; 28 Jun, 2021 @ 3:36am
☢ Nato Potato ☢  [developer] 28 Jun, 2021 @ 4:26am 
usually layers play on top of whatever the main track is (repentance introduced different layer types), though for making your own soundtracks you wouldn't usually have a song that's half the instruments to use as a layer, so its easier to just put a whole song in, as long as the tracks sound similar and the timing lines up it should sound the same as using the layers 'properly', which is what the FTL soundtrack does
Human 29 Jun, 2021 @ 8:09am 
Originally posted by ☢ Nato Potato ☢:
usually layers play on top of whatever the main track is (repentance introduced different layer types), though for making your own soundtracks you wouldn't usually have a song that's half the instruments to use as a layer, so its easier to just put a whole song in, as long as the tracks sound similar and the timing lines up it should sound the same as using the layers 'properly', which is what the FTL soundtrack does
yeah kinda sucks you can't just make soundtracks and their layers replace each other but at least the way you described works
𝙋𝙍𝘽 Jed 19 Jul, 2021 @ 8:01pm 
Hey there, which song plays before and during the knife piece #2 chase?
☢ Nato Potato ☢  [developer] 19 Jul, 2021 @ 10:28pm 
the knife piece 2 secret area is called 'mineshaft' so 'abandoned' for before the chase and 'escape' for during
Dem-OS 23 Jul, 2021 @ 7:56pm 
anyone know of a good xml editor for this? thanks in advance!
𝙋𝙍𝘽 Jed 23 Jul, 2021 @ 7:57pm 
Originally posted by Fledge:
anyone know of a good xml editor for this? thanks in advance!
Notepad++ is what I used for my personal soundtrack mod. :Flonne:
Human 29 Mar, 2022 @ 4:11am 
BTW I figured how to make music change on layers instead of making layer play on top of the music in my DG music mod, but now I'm asking if anyone familiar with "layermode" and what does it do except layermode 2 that just changed music
Last edited by Human; 29 Mar, 2022 @ 4:12am
Lady Lucky 27 Apr, 2022 @ 5:03pm 
Not sure if this belongs here or not- but in the past I've made tracks for the workshop and they've have no problems at all, until now that I'm making a sonic mania one suddenly I get this error and I have no idea what's up with it.

[INFO] - STB_VORBIS error 34!
[INFO] - stb_vorbis_open_file returned error 34.
[INFO] - Failed to open stream "d:\steam\steamapps\common\the binding of isaac rebirth/mods/sonic mania soundtrack_2800607633/resources/music/Sonic Mania/Lights, Camera, Action! - Studiopolis Zone Act 1 (Intro).ogg"

I've tried even switching the music.xml format to one of my previous ones and it just plays the default afterbirth tracks but as soon as I put the sonic mania music.xml file back I'm bombarded with this error. Any ideas on what's up with this? I'm just confused because I hadn't had issues with it until now and I redownloaded the songs again but it still gives me this error.
☢ Nato Potato ☢  [developer] 27 Apr, 2022 @ 5:44pm 
I've never seen that before, I've had tracks fail to play after their intro due to being a different bitrate, but I've not had an intro fail to play

my first thought is maybe it doesn't like the ! in the file name, try renaming the file

if that doesn't work next thing I would try is putting the file into a converter[audio.online-convert.com] with a constant bitrate set and checking the updated file, just to make sure its not a problem with the file itself
Lady Lucky 27 Apr, 2022 @ 10:45pm 
Yeah the site helped a lot, for some reason audacity wasn't working so hence the errors though the only issue I see with the site is the limitations on the usage on converting stuff to oggs but I'll keep this bookmarked for now. Thank you!
*clown noises* 12 May, 2022 @ 8:44am 
Just starting work on a music mod; will the music files loop by default, or does something need to be done? I'm using the Bug Fables mod as a base.
Syndex 12 May, 2022 @ 9:48am 
Originally posted by *clown noises*:
Just starting work on a music mod; will the music files loop by default, or does something need to be done? I'm using the Bug Fables mod as a base.
In contents > music when you open it in notepad++ you should see 'loop= true' or 'loop= false' if it says 'true' then they will be looped
Last edited by Syndex; 12 May, 2022 @ 9:49am
< >
Showing 1-15 of 91 comments
Per page: 1530 50