Music

From Battletech Modding Wiki
Jump to: navigation, search

Wiki Quick Nav: File Formats | Other Tweaks and Adjustments | Tools and Scripts | Troubleshooting | Style Guide



Introduction

Changing the in game music is an involved but relatively simple process. The step involved are as follows:

  • Setup a workspace with the tools you'll need.
  • If you want to change only some of the existing music you'll need to:
    • Extract the .stream files from the music.bnk archive.
    • Change the format of the extracted files from .steam to .wav.
    • Listen to each of the extracted files and work out what the name they should have in order for the game engine to identify them.
  • Assemble a new set of music and name these files appropriately.
  • Convert the new music files from .wav to .wem files.
  • Assemble the converted new music files into a .bnk archive.

Setting up your workspace

In these steps we'll be creating some folders to keep your work organized and installing the tools you'll need. Some of these tools require the existence of specific sub-folders.

  1. Create a root folder to contain your audio projects, I'll use [workspace] to refer to this folder from here on in.Create sub-folder called music.
  2. Download and extract http://www.mediafire.com/file/en3m7mctkfedeju/soundMod.zip into this folder.
  3. Install http://www.audacityteam.org/ and Wwise from https://www.audiokinetic.com/

Extracting the contents of the music archive (for changing only some of the music)

  1. Copy music.bnk and music.txt from Steam\steamapps\common\BattleTech - Private Beta\BattleTech_Data\StreamingAssets\Audio\GeneratedSoundbanks\Windows to [workspace].
  2. In [workspace] open sound_banks.txt and replace it's contents with the text music (this is the target folder we'll be extracting files to).
  3. Run SoundFileEditor.exe. This will create a sub folder in music called bank_streams containing a number of .stream files.

Convert the extracted streams to the .wav format (for changing only some of the music)

  1. Copy everything in [workspace]/tools into [workspace]/music/bank_streams.
  2. In this folder run convert2ogg.bat.
  3. In Audacity click on File > Edit Chains... In the dialog click Add and name the name chain ogg2wav.
  4. Click Insert, select ExportWAV in the dialog then Okay both dialogs.
  5. In Audacity click File > Apply Chains... In the dialog select oo2wav and click Apply to Files.
  6. In the dialog navigate to [workspace]/music/bank_streams, filter by the ogg file type, select all the ogg files and click Open.

You should now have a set of wav files in a new cleaned sub folder in bank_streams.

Identifying the individual tracks (for changing only some of the music)

Note that this step might be pointless at the moment as it looks as though there's a set of files for each mood/map and I do not know how to workout which is which aside from listening to the wav file and the actual game.

  1. Open the music.txt file you copied [workspace]/music. You'll see a listing of files after the text "In Memory", look for the .wem file name. The section of that name that is an eight character string such as BA19D509 should match up with one of your extracted files. The rest of the file name should help you identify where the music is used (I'm sure this is defined somewhere, but I have yet to find it).
  2. If needed you may want to copy some of the file name from the txt file to the actual file name of your wave file to help distinguish them.

Assembling your new set of music

  1. In [workspace]/music create a new folder called new_music. Copy in the files from the cleaned folder.
  2. Replace the wav files in [workspace]/music/new_music with your own music, renaming your music files as required.
  3. Remove any extra text you added to the file names in [workspace]/music/new_music you added to aid in identifying them.

At the end of this process you should end up with[workspace]/music/new_music containing your new set of music with filenames identical to those you extracted (.wav format rather than .stream though).

Convert your assembled .wav files to the .wem format

  1. Start Wwise. Create a new project, set the location to [workspace]/music/wwise, deselect all imports.
  2. Drag and drop all the wav files in [workspace]/music/new_music to the Audio-Mixer Hierarchy node in the Project Explorer in Wwise.
  3. Go to the SoundBanks tab in the Project Explorer, right-click on "Default Work Unit" and select "New Child" > "SoundBank".
  4. Go back to the Audio tab and press F7. Select all the wav files you imported to the Default Work Unit and drag them to the Sound Bank you created in the SoundBank Manager.
  5. Right-click the selected wav files and select "Show in Multi-Editor". Go to "Audio" > "General Settings" > "Stream" and tick "Is Streaming Enabled" and then click "Okay".
  6. Tick the Sound Bank you created in the SoundBank Manager and then check Windows in Platforms and English(US) in Languages.
  7. Go to the "ShareSets" tab, double-click "Conversion Settings" > "Default Work Unit" > "Default Conversion Settings".
  8. In "Format", select "Vorbis", and select "6" for "Quality".
  9. Close the dialog and click "Generate" in the SoundBank Manager.
  10. Close Wwise.

Assemble the .wem files into a .bnk archive

  1. Copy the new .wem files from [workspace]/music/wwise/.cache/Windows/SFX to [workspace]/music.
  2. In [workspace]/music rename the new .wem files, removing everything after the first 8 characters of the file names. You should end up with a set of .wem files with a familiar set of names.
  3. Open [workspace]/music/data.txt, the file should contain lines that look like 04efea8a=#. for each of these lines change them to look like 04efea8a=04efea8a.wem# (we are pointing a key to a file I think).
  4. Save the file and then run [workspace]/SoundFileEditor.exe. This will generate your new music.bnk file in [workspace]/Output.
  5. Copy your new .bnk over the existing BT one (BACK IT UP FIRST).
  6. Enjoy your new tunes.