Skip to content

LE2 & LE3: Authoring new audio with Wwise

Mgamerz edited this page Dec 27, 2022 · 1 revision

THIS GUIDE IS A WORK IN PROGRESS AS WE DEVELOP AUDIO TOOLING IN LEGENDARY EXPLORER.

This is intended as a basic guide on how to edit audio using the Wave Works Interactive Sound Engine, or Wwise for short. Currently this guide only works for streaming, non-localized audio. Localized audio requires additional setup both in Wwise and in Legendary Explorer that has not yet been done.

This guide is for the following games:

  • Mass Effect 2 (LE)
  • Mass Effect 3 (LE) This guide will NOT work for Mass Effect 2 (OT - we don't have a version of Wwise for this) or Mass Effect 3 (OT - The version of Wwise we have is not the same so banks will not load).

You will need the following tools:

  • Wwise 2019.1.6117 - full or mini installation
    • Mini contains only the authoring tools
    • Full contains authoring tools, offline documentation and code for automating Wwise (VS 2017)
  • Legendary Explorer Nightly

Preparing for Wwise

This guide will show you how to use Wwise as part of the audio import pipeline. It will not be a tutorial on how to specifically use Wwise for desired effects and such.

Once Wwise is installed, you will need to extract a template project to your WwiseProjects directory, which is located in your Documents folder. If you haven't run Wwise yet, this folder may not yet exist.

image

For authoring audio, you need to use the template projects, as they contain the same bus iformation that the compiled game uses. Without this, your audio will route to the master audio bus, and will play at full volume 100% of the time, regardless of the context or user settings. You should only need to have one template project, unless you go over the 200 sound clip limit of free Wwise, in which case you need to rename the template folder and make a new one.

Download the templates below:

Once the project has been extracted, you can run Wwise Launcher and it should find your project. These projects are game-specific as the audio buses used by each game are different, and are not cross-compatible.

image

For this tutorial we will be making new non-localized, streamed audio for LE3 - the process is identical for LE2. Open the LE3TemplateProject.

We will be changing the title screen music for the game - for our tutorial we will use Anthem of Rain - Light & Breeze, which you can download here to follow along. This song is provided via Creative Commons license. You can use whatever audio you want, but it needs to be in .wav format.

Authoring audio in Wwise

On initial opening, your Wwise window will look like the following: image

Importing audio samples

We need to add our audio sample first. Audio samples are placed under the Actor-Mixer hierarchy, in the Default Work Unit. You can create folders to help organize the project, but you must remember that there is a 200 sample limit for unregistered projects in Wwise.

We import sound samples by right clicking on the default work unit and selecting 'Import audio files'. image

Select 'Add files' and select your .wav file. We are adding non localized audio (Sound SFX). image

Leaving all other options as default, we will now see our sample under the default work unit. If we click on it, we will see new options on the right hand side. We need to change these so the sample plays correctly.

image

  • Voice Volume: Typically I've found that 0 is too loud, so I turn it down a bit. You will have to play around with for your specific sample. Make sure you take into account your current game-audio settings.
  • Output Bus: What 'bus' plays the audio - e.g. is this affected by slowdown, location, etc. I used the NonSlowdown-Music, which is meant for music pieces.
  • Loop: We want this track to loop when it finishes.
  • Stream: We simply check the box to make it a streaming sample. If you forget to do this, LEX will throw an error when you try to import the bank. In future builds we will support non-streaming audio.

Making events

We now need to make Play and Stop events, which tell Wwise to play and stop the audio samples. Generating basic play and stop events is easy; right click the audio sample and do:

  • New Event > Play
  • New Event > Stop > Stop

This will make both Play and Stop events. It is good practice to make both so you can stop your audio as needed. You can see these new events in the Default Work Unit under the Events tab:

image

Generating the bank

Finally, we need to generate the bank. Go to the SoundBanks tab. We need to make a new SoundBank for our audio - remember, soundbanks should only contain relevant related audio - do not stuff everything in a single bank. Right click the Default Work Unit for SoundBanks and do New Child > SoundBank. Double clicking on the newly-created child bank should pop up a new window where you can name your bank as well as add items to it.

I suggest naming them in the format of Wwise_MOD_[NAME], to follow the naming standard BioWare used, but to also make it obvious this is not vanilla audio. To add content to the bank, you must drag and drop it from the editor to the newly opened window. You need both the audio sample and the events.

image

In the above picture, I dragged the anthemofrain audio sample over, as well as the entire Default Work Unit of events, which will include all children. If you are organizing for multiple banks you should make sure you have subfolder or you will include irrelevant audio in your banks and AFCs.

Now that we have prepared the bank, we need to generate it. Right click your bank and select Generate Soundbank(s) for current platform. image

You will see a results screen, and now your bank(s) have been generated.

Importing to packages

NOTE: The tooling for audio import is very new and likely to change. These directions may fall out of date. DO NOT ATTEMPT TO DO THIS FOR LOCALIZED AUDIO AS THEY MUST RESIDE IN LOCALIZED AUDIO PACKAGES AND ARE REFERENCED VIA IMPORTS.

Once your bank has been generated, we need to switch to Legendary Explorer to perform the import. Currently this is done in Package Editor, via an experiment at the bottom of the Mgamerz menu.

Open your destination package file - for replacing the splash screen music, it is done via SFXGame.pcc, as that is where the original WwiseEvent is referenced. We need to import our generated bank - you can find it in the GeneratedSoundBanks folder of your template project. You select the generated .bnk file, and it will import the rest. Ignore the Init.bnk, we will not be using it for audio modding.

image

Once imported, you will see new exports were added (or updated if you are re-importing an updated bank): image

To edit the main menu, we must update the mapping for audio that the GUI system uses. This is stored in BioSFResources, specifically entry 103: image

Update the play and stop events to point to our new play and stop events: image

Once this is done, you can save the package. You should also be aware that upon import with LEX, a new AFC was created for your bank and placed next to the current open package - you must ensure you copy this bank file to your mod folder or it will not work in an end-user installation. The AFC will have the same name as the bank file, except with a .afc extension.

Load up the game and check that the audio works. You should be able to check the audio properly stops by advancing to the main menu.

Clone this wiki locally