Video Game Music Implementation with Wwise Part 2

In part 1 we looked at how to edit, export and label your tracks for implementation in Wwise. In this post, we are entering the ubiquitous realm of game audio middleware to learn how to manipulate and implement all of those tracks that we previously prepared.

What actually is audio middleware? The most common explanation is that it is a third-party toolset that sits between the game engine and the audio hardware. It provides common functionality that is needed on each project such as randomizing pitch or volume, fading sounds in or out, and randomly picking a sound from a set of sounds.

Basically, it’s a kind of game audio DAW. Currently, in the industry, there are 3 audio middleware applications, one of them being Wwise, with Fmod and Elias being the other two, but Elias is mostly associated with game music only. Wwise is most commonly used, plus it has a great integration option with Steinberg Nuendo, so you can export audio clips from Nuendo and import them directly into Wwise with just a click of a button. So, let’s get started…

CREATING A PROJECT:

The first thing that happens when Wwise starts up is the project creation window. We click on NEW and then the project setup window opens up. That’s where we will name our project, choose the location of the project on our hard drive and the location of audio assets (I would advise setting up the same folder as the project location where it says use default originals directory’).

The platform tab is where you pick which platform you are developing the game for. Windows, PlayStation, Xbox, Nintendo, etc… Although this doesn’t influence the workflow and the controls of the overall project, you can freely uncheck the asset groups in the tab below platforms, because you won’t be using them for music. Click OK, and the project window will open up.

IMPORTING MUSIC CLIPS:

In order to import music files and work with the clips properly, we will need to set up Wwise to Interactive Music Layout by going to the Layouts menu and selecting Interactive Music, or pressing F10 as a shortcut.

Then we have to move to working in the Interactive Music Hierarchy drop menu, where we will be adding Work Units for implementation. We do that by right-clicking on Interactive Music Hierarchy on the left tab of the project window. Then select New Child, choose Work Unit and then name it however you want.

I labelled mine as Music for the sake of this tutorial. Now we need to import those audio files we were editing last time. Right-click the newly created work unit and select Import Audio Files, or you can left-click on it and type Shift+I as a shortcut. You can leave the Music Segment Option selected because we will be using the music clips as music segments.

Now that we have imported our audio tracks, we can browse through them in our Music Work Unit by clicking on the small plus icon in the drop-down menu in the left tab. We can see all of our segments here, and Wwise will treat each one of these as a smaller DAW project because each segment can contain multiple audio clips, but we will be using each segment with only one clip loaded for easier explanation and usage.

Only when we click on the track in the music segments, can we see its waveform and we can play it back by clicking on the play button. Once the track waveform is shown, we can see that it is set up to play back in seconds, and we want it to snap tightly, so we need to switch the playback measurement to bars.

We do that by right-clicking on the track itself and selecting Bars and Beats from the drop-down menu. This is the fastest way of ensuring that our tracks playback in time. But even still, we are not in sync. In order to sync all of the tracks, we need to set up our project to the appropriate tempo and signature. The naming convention we discussed in part 1 comes in handy here. We labelled each of the files correctly and we can see that our audio clips are at 130BPM and 4/4 signature, and we will set up our project accordingly.

We do that by going to the general settings window of each clip above the waveform and tweaking the time settings. We type the appropriate tempo and time signature that matches the audio clip, and we’re all set. Bear in mind that if you have sort of a transition audio clip between the main music parts, and it’s set to a different signature, you can easily tweak just that one, and it will snap right into place.

The next thing we need to set up in our clips is appropriate playback with those pre-rolls and tail-outs of each audio clip that we created in part 1. The good thing is that we already decided that those ins and outs will be 1 bar long each, and a piece of advice is to click on the Snap to Bars/Beats option in each clip just to make sure everything is in sync. You will clearly notice how your tracks have snapped nicely and you will see each pre-roll and tail-out on the clip’s waveform.

But how do we make them playback together and set up those ins and outs that we created? It’s very easy. You will have to do this on each audio clip, by the way. You will notice green and red markers above each of the clip’s waveforms. The green one is the entry cue and the red one is the exit cue. We need to move those around and set them up properly. Hold your ctrl or cmd button (depending on if you’re on PC or Mac) and move each of the markers.

For the entry cue or the green marker, move it so that bar 1 snaps to the main part of the waveform so we have this empty pre-roll space before that. Then move the red marker one bar before the end of the main part of the clip. If done properly, this will ensure that all of the audio clips flow naturally and transition between each other without causing any issues with playback.

And that’s it for part 2.

In part 3 we will be making our music playlists for random playback of these audio clips, which will make sure that our in-game music always plays back differently.