Video Game Music Implementation with Wwise Part 4
In part 3 we learned how to create a music container and a music sequence playlist with different groups to make our music random and more interactive. In this part, we will be dealing with importing and implementing stems of our music clips to randomly re-orchestrate our music sequence. This is called VERTICAL LAYERING in-game music.
IMPORTING THE LAYERS:
We start by creating a music container as we did previously, and then we right click and select the option for importing audio files, or just use the F10 shortcut. As it happened previously, the audio import window will open up, but this time we are using the option Import Folders instead of Import Files. Good thing to do before doing this is to make sure that each audio clip that contains stems is a separate folder labelled A, B, C, D, etc…
We also need to make sure that each folder is imported as a Music Segment, and each stem is imported as Music Track. This is very important because we want to treat each folder as an individual music part that will be played back inside the segment. Click the import button, and we’re ready to start.
Once we’re done, we will see our new music container with all of the folders inside the interactive music hierarchy. This one I labelled as exploration music because that’s what it contains. When you click on each of the sections, you will see the stems in the drop-down menu.
If we click on our A part, for example, we will see every stem waveform inside the music segment editor in the bottom centre tab. Because each segment has a pre-roll and tail-out, we will need to set them up accordingly for playback as we did in our episode 2. We also need to set the tempo and signature of each segment to match the music container. Do refer to that episodes 2 & 3 if you need a reminder.
Importing these various segments into the music playlist for playback is also explained in the previous episode.
CONFIGURING THE SUB-TRACKS:
If you composed your tracks to have various stems of strings, brass, percussion for some minor combat sequence, playing back all of this together may sound a little bit too busy. We want our music to evolve over time, and let various instrument stems come in and out of our sequence. Because Wwise is playing back all of our stems inside the music segment simultaneously, it will play back everything at once, and we don’t want that. We want it to play various instrument groups together from time to time.
We do this by converting our stems (sub-tracks in Wwise) from a normal audio track to a random step track. We do this by going into our music segment, and we select the track that we want to convert by right-clicking on it and selecting Random Step. When converted, this track will feature a small blue square in the top left corner. But how do we mute this track when we don’t want it to playback? We add another sub track to it, by right-clicking on it and clicking on Add Sub-Track. We will see an empty space below it.
This ensures that this stem (or track in Wwise) will be randomly played back or muted automatically from time to time. You can do this for each track, and even if you have some slight variations of the stem, you can use it like this and randomly play each variation of the stem inside the music segment. I.E. you can have 2-3 versions of string melody, and Wwise will play them randomly every time or mute them if you add an empty space as a sub-track.
If we want to control the switching of sub-tracks manually, we need to configure our tracks from Random Step to Switch by right-clicking on the track and selecting Switch from the drop-down menu. The tracks will turn yellow after this.
Now we need to take care of our Switch Groups and States. This is where Wwise truly shines when it comes to interactive music.
In order to perform these switches, we will need to create a Switch Group, and we do that by choosing the switch option in the centre tab of the project window (the bottom right option), click on the arrow and then select Switch Groups in the drop-down menu and select New. I will name this one as Ambient_Switch, because I am switching between various tracks of the ambient sequence. But we also need to take care of the Default/Switch State. That option is below the Switch Group.
We also click on the arrow and create a new state. I created two because I want my ambient music to play by default without the percussion and when I switch the state, I want my percussion to kick in. Next thing we need to do is to assign the appropriate sub-tracks to each state. We do this by right-clicking on the sub-track we want to associate and select Association, and then we choose which state we want it to play in. We need to do this for each sub-track of each segment inside our sequence if we want to properly change our states and stems playback.
Once that is done, we can manually switch between our states from the Switches tab at the bottom left of the project window featuring our transport controls (to the left of our music segment editor or playlist).
SWITCH TRACKS TRANSITION ADJUSTMENT:
Now when you are playing back your tracks and switching, you will notice that transitions between each switch aren’t changing immediately, but they switch after the tail-out of the segment.
In order to make our transitions from one switch track to another immediate on our click, we need to take care of Transitions option in the centre tab of the project window.
We go there by clicking on the Transitions tab. You can see the default transition values when you click on the only transition option there. We will be using this default option for the purpose of this tutorial only. There is an option of changing the exit source to immediate by clicking the exit source and selecting Immediate in the drop-down menu. But if this sounds too abrupt to you, a better option would be to select the option at the next bar.
That is it for part 4. I hope it wasn’t too much to handle for you like it was for me when I had to deal with it for the first time.
In part 5 we will be making switches between the music segments themselves from ambient exploration to action and we will be implementing some stingers to make those transitions more prominent.