» Creating a Sound Pack

The vanilla sound block only has a small number of available sounds. If you want your ship or station to relay useful information — other than “lights on” and “lights off” — you’ll probably need to install a mod. If there isn’t a mod that meets your needs, you can always make your own.

Converting the audio

MultiXWM
MultiXWM in action

Space Engineers uses the xwm format for audio. There are numerous converters out there (most labelled as “for Skyrim”, but it’s the same format so they all should work regardless). I’ve been using MultiXwm which does the job reasonably nicely.

Once you’ve downloaded it and extracted the zip file, start it up and hit the “Add File(s)” button and load in your source files. Make sure “aduio->xwm” is selected under type, leave the bitrate at default, and then press start.

After a short while it should have processed all your files, and they’ll be sitting in a directory called “output” in the MultiXwm folder.

Creating a skeleton mod

The next step is to create a skeleton mod directory we can put our files in. Mods are stored in your Space Engineers app data folder. To find it, navigate to %AppData%\Roaming\SpaceEngineers (you should just be able to paste that, %s and all, in to an explorer window).  From there, open the Mods directory.  If you’re subscribed to mods from the workshop you’ll probably see a bunch of files in there, but you don’t need to worry about those.

Within the Mods directory, create a new folder for your mod. The folder name will be the name of your mod. In your new folder, create two more directories: one called Audio and one called Data.

Creating the data

Let’s start with an easy step. Copy your xwm files over to your new Audio directory. Next, go over to the Data directory and create a new file called Sounds.sbc. This will be an XML file, so if you’ve got a preferred editor then fire that up; otherwise, notepad will do fine.

A basic skeleton for a sound definition file looks like this:

<?xml version="1.0"?>
<Definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SoundCategories>
    <SoundCategory>
      <Id>
        <TypeId>SoundCategoryDefinition</TypeId>
        <SubtypeId>MyModId</SubtypeId>
      </Id>
      <Sounds>
      </Sounds>
    </SoundCategory>
  </SoundCategories>
  <Sounds>
  </Sounds>
</Definitions>

Copy that over, and change the SubtypeId value from MyModId to something unique to your mod. If the value is the same as any other mod, then they will conflict and won’t work together properly.

Next, we need to define the sounds themselves. Within the outer-most <Sounds> tag (the one at the bottom of the skeleton), add one entry for each of your new sound files. A typical entry will look like this:

<Sound>
  <Id>
    <TypeId>AudioDefinition</TypeId>
    <SubtypeId>SoundId</SubtypeId>
  </Id>
  <Category>Sb</Category>
  <MaxDistance>100</MaxDistance>
  <Volume>1.00</Volume>
  <Loopable>false</Loopable>
  <Waves>
    <Wave Type="D3">
      <Start>Audio\file-name.xwm</Start>
    </Wave>
  </Waves>
</Sound>

The SubtypeId in this case is going to be a unique ID for your sound. Change it from SoundId in the example to something useful. Moving down, the Category must be set to Sb. This tells the game that the sound is for the sound block, rather than a weapon or other purpose. The max distance and volume tags allow you to scale down the max distance and volume if you wish — in most cases leaving them at the default values will be fine.

Further down the definition, you’ll see the Waves section. The wave type we’ve set to “D3” which marks it as a three dimensional sound. This should be the same for all sound block sounds, as they’re tied to a 3D location in game (as opposed to coming from the hud). The Waves section also has a Start tag where you define the path to the sound file.

You can have multiple sound definitions in a row, simply copy and paste the template and adjust the values. Finally, once you’ve defined the sounds, we need to add them to our mod’s category. To do this, go to the SoundCategory section at the top, and within its Sound tag, add a new SoundDesc for each of your sounds. They’ll need to look like this:

<SoundDesc Id="TtsDockedBay1" SoundName="Base sounds: Docked, Bay 1" />
<SoundDesc Id="TtsDockedBay2" SoundName="Base sounds: Docked, Bay 2" />

The Id attribute (between the quotes) is the same ID you used earlier when writing your Sound entry. The SoundName attribute is what will show up in the in-game UI. Once you’ve added SoundDescs for each of your new sounds, save the file and fire up Space Engineers. It’s time to test!

Using and sharing

Now, when you start a new offline game or edit the settings of an existing one, you will see your mod listed in the mod list. It will have a different icon to any workshop mods you’re subscribed to, so should be easy to spot. Enable the mod for your world and jump in to game. Your sound block should list all your new sounds!

To use your sounds in an online game or on a dedicated server, you’ll need to publish your mod to the workshop. You can do this from the in-game UI pretty easily: on the screen where you enabled your mod, simply select it and click “Publish” and then follow the instructions. Once it’s published to the workshop you can subscribe and use it in online games like any other mods.

Happy sounding!

comments powered by Disqus