So, I've been toying around searching for a ways to create my own soundtrack, and I finally managed it... Also, now that the fall patch has enabled Music Modding, this will come in handy for those making full conversion mods, or even a personal soundtrack...
This tutorial assumes you got some basic modding knowledge, and now how to use ModBuddy and edit an xml. If you don't know this, I'd suggest Kael's guide. Please, also note that while this tutorial may look really long, it is only because it is very descriptive, the process itself is quite fast really...
We're understanding "Soundtracks" as the generic regional music that plays once you're playing the game, that doesn't depend on the leader. This one can be defined for all civs through a <SoundtrackTag>
What you'll need
Step 1: Order up your files.
So... You'll need to have all your music in a nice and ordered way... For achieving such a thing, I'd suggest using Firaxis' pattern (check the following folder: (Installation Folder)\Assets\Sounds\Streamed\Music\Europe\...)
There are folders for each circumstance: Peace, Either and War (Either plays on either situations.) The ammount of music is the following:
Just so we won't get lost in more than 50 files, I'd suggest using the same folder names: Either, Peace and War...
Step 2: Create your Modfile
Now, let's open ModBuddy, and add up our music files and folders. Remember to set the Music files VFS=True, or it won't work... The Solution Explorer should look like this:

A very important step, after the fall patch its important to set your mod to "ReloadAudioSystem", in the Actions tab at your mod properties.
Step 3: Define your files.
We need to define the SoundIDs of each of our new music files... The way music is defined is as follows:
Remember that the Filename tag must not have an Extension... Also, it is recommendable to follow a nice numeration on the SoundID so you'll not get lost afterwards... Instead of PEACE use EITHER or WAR depending of the case...
Also, instead of CUSTOM you can name it whatever you wish, like... I don't know... AFRICAN, AUSTRALIAN, FANTASY or whatever... The name is very important, since this is how we'll assign it to the civ we want.
It is also a good idea to put a <!--Comment--> before your defines, so you won't get lost the next time you edit them or if you want to remove them.
Step 4: Because the worst part isn't over... now the Audio 2D Scripts
This step is fairly simmilar to the last one. What we did in the last step was defining what file would a SoundId play. Now we will create a name for the Script that will play the SoundId. They are defined as follows:
Some suggestions and important recommendations here:
Step 5: Assign your new Soundtrack to a Civ
Now we need to tell the game our civ will use our new Soundtrack... For this, you'll need to change the Civilization table through an xml... like this:
The thing with the SoundtrackTag is that it uses the Script IDs automatically, deciding to use whatever is after SONG_ and before _WAR (or _PEACE): SONG_CUSTOM_WAR_34... Capitals don't matter for the SoundtrackTag.
And there... You may now enjoy your new Soundtrack! (don't forget to activate the Modfile with your Music files)
Important Questions
SQL?
Yeah, I'm pretty sure this works through SQL too, if you wish to try.
Can we use this method to add new music to an existing soundtrack or to remix our own soundtrack with core music?
Yes, simply use <Update> tags instead of <Row> (to change an AudioDefine) or just add them (to add an AudioDefine to a soundtrack)
If you want to see a new soundtrack in action, please check this mod.
This tutorial assumes you got some basic modding knowledge, and now how to use ModBuddy and edit an xml. If you don't know this, I'd suggest Kael's guide. Please, also note that while this tutorial may look really long, it is only because it is very descriptive, the process itself is quite fast really...
We're understanding "Soundtracks" as the generic regional music that plays once you're playing the game, that doesn't depend on the leader. This one can be defined for all civs through a <SoundtrackTag>
What you'll need
- ModBuddy
- Reccommended: Read this tutorial
- A LOT of music... Regular Civ5 soundtracks tend to have around 25 music for both Peace and War, and like 16 for Either... They may be in MP3 or OGG format, don't let the names have spaces.
- The sample XML files on the attachment (Or, if you prefer, see those files in action in this mod)
Step 1: Order up your files.
So... You'll need to have all your music in a nice and ordered way... For achieving such a thing, I'd suggest using Firaxis' pattern (check the following folder: (Installation Folder)\Assets\Sounds\Streamed\Music\Europe\...)
There are folders for each circumstance: Peace, Either and War (Either plays on either situations.) The ammount of music is the following:
- Europe: Either 13, Peace 26, War 37.
- America: Either 23, Peace 25, War 24
- Asia: Either 18, Peace 26, War 26
- Middle East - Africa: Either 13, Peace 16, War 25.
Just so we won't get lost in more than 50 files, I'd suggest using the same folder names: Either, Peace and War...
Step 2: Create your Modfile
Now, let's open ModBuddy, and add up our music files and folders. Remember to set the Music files VFS=True, or it won't work... The Solution Explorer should look like this:

A very important step, after the fall patch its important to set your mod to "ReloadAudioSystem", in the Actions tab at your mod properties.
Step 3: Define your files.
We need to define the SoundIDs of each of our new music files... The way music is defined is as follows:
Code:
<GameData>
<Audio_Sounds>
<Row>
<SoundID>SND_CUSTOM_PEACE_01</SoundID>
<Filename>[B]YourFileName[/B]</Filename>
<LoadType>DynamicResident</LoadType>
</Row>
<Row>
<SoundID>SND_CUSTOM_PEACE_02</SoundID>
<Filename>[B]YourOtherFileName[/B]</Filename>
<LoadType>DynamicResident</LoadType>
</Row>
....
<Row>
<SoundID>SND_CUSTOM_WAR_26</SoundID>
<Filename>[B]YourFinalFileName[/B]</Filename>
<LoadType>DynamicResident</LoadType>
</Row>
</Audio_Sounds>
</GameData>
Remember that the Filename tag must not have an Extension... Also, it is recommendable to follow a nice numeration on the SoundID so you'll not get lost afterwards... Instead of PEACE use EITHER or WAR depending of the case...
Also, instead of CUSTOM you can name it whatever you wish, like... I don't know... AFRICAN, AUSTRALIAN, FANTASY or whatever... The name is very important, since this is how we'll assign it to the civ we want.
It is also a good idea to put a <!--Comment--> before your defines, so you won't get lost the next time you edit them or if you want to remove them.
Step 4: Because the worst part isn't over... now the Audio 2D Scripts
This step is fairly simmilar to the last one. What we did in the last step was defining what file would a SoundId play. Now we will create a name for the Script that will play the SoundId. They are defined as follows:
Code:
<GameData>
<Audio_2DSounds>
<Row>
<ScriptID>SONG_CUSTOM_PEACE_1</ScriptID>
<SoundID>SND_CUSTOM_PEACE_01</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<MinVolume>40</MinVolume>
<MaxVolume>40</MaxVolume>
<IsMusic>True</IsMusic>
</Row>
...
<Row>
[I] <ScriptID>SONG_CUSTOM_PEACE_30</ScriptID>
<SoundID>SND_CUSTOM_EITHER_04</SoundID>[/I]
<SoundType>GAME_MUSIC</SoundType>
<MinVolume>40</MinVolume>
<MaxVolume>40</MaxVolume>
<IsMusic>True</IsMusic>
</Row>
...
<Row>
<ScriptID>SONG_CUSTOM_WAR_3</ScriptID>
<SoundID>SND_CUSTOM_WAR_03</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<MinVolume>40</MinVolume>
<MaxVolume>40</MaxVolume>
<IsMusic>True</IsMusic>
[I]<Priority>1</Priority>[/I]
</Row>
...
</Audio_2DSounds>
</GameData>
Some suggestions and important recommendations here:
- The <Priority>1</Priority> tag means that the music will have priority over others, so if you want a music to play more often than the others, use that one.
- You'll likely have to lower the volume for many of your new music tracks. The default volume is 40.
- "SONG_CUSTOM_PEACE_1", the CUSTOM part is how the Soundtrack will be named and called, so you can change it, but its very important that you use the same pattern on every Script2Dsound you add
- There's actually no "EITHER" sound scripts. All the Either soundtracks are used both as "PEACE", and "WAR", so define them as such.
Step 5: Assign your new Soundtrack to a Civ
Now we need to tell the game our civ will use our new Soundtrack... For this, you'll need to change the Civilization table through an xml... like this:
Code:
<Civilizations>
<Row>
<Type>CIVILIZATION_INCA</Type>
<Description>TXT_KEY_CIV_INCA_DESC</Description>
<ShortDescription>TXT_KEY_CIV_INCA_SHORT_DESC</ShortDescription>
<Adjective>TXT_KEY_CIV_INCA_ADJECTIVE</Adjective>
<CivilopediaTag>TXT_KEY_CIV5_INCA</CivilopediaTag>
<DefaultPlayerColor>PLAYERCOLOR_INCA</DefaultPlayerColor>
<ArtDefineTag>ART_DEF_CIVILIZATION_INCA</ArtDefineTag>
<ArtStyleType>ARTSTYLE_SOUTH_AMERICA</ArtStyleType>
<PortraitIndex>0</PortraitIndex>
<IconAtlas>PACHACUTI_CIV_COLOR_ATLAS</IconAtlas>
<AlphaIconAtlas>PACHACUTI_CIV_ALPHA_ATLAS</AlphaIconAtlas>
<MapImage>MapInca360x410.dds</MapImage>
<ArtStyleSuffix>_AMER</ArtStyleSuffix>
<ArtStylePrefix>AMERICAN </ArtStylePrefix>
<DawnOfManQuote>TXT_KEY_CIV5_DAWN_INCA_TEXT</DawnOfManQuote>
<DawnOfManImage>DOM_Pachacuti.dds</DawnOfManImage>
<DawnOfManAudio>AS2D_DOM_SPEECH_INCA</DawnOfManAudio>
[B]<SoundtrackTag>CuStoM</SoundtrackTag>[/B]
</Row>
...
The thing with the SoundtrackTag is that it uses the Script IDs automatically, deciding to use whatever is after SONG_ and before _WAR (or _PEACE): SONG_CUSTOM_WAR_34... Capitals don't matter for the SoundtrackTag.
And there... You may now enjoy your new Soundtrack! (don't forget to activate the Modfile with your Music files)
Important Questions
SQL?
Yeah, I'm pretty sure this works through SQL too, if you wish to try.
Can we use this method to add new music to an existing soundtrack or to remix our own soundtrack with core music?
Yes, simply use <Update> tags instead of <Row> (to change an AudioDefine) or just add them (to add an AudioDefine to a soundtrack)
If you want to see a new soundtrack in action, please check this mod.