In this blog, we’ll dive into working with Strata for interactive design, using one of the multitrack collections in an Unreal Engine 5 project with a Wwise integration.
This blog was adapted from a video I made a few months back, and you can view that here.
For those yet unfamiliar, Strata is Audiokinetic’s new sound library designed from the ground-up with over 100,000 audio sources, clip edits, tracks and effect parameters in ready-to-edit REAPER multitrack format. At the time of writing, Audiokinetic has released 25 collections in collaboration with BOOM Library.
For this demonstration, we'll be using sounds from Strata’s Robotic collection for a robot character sound design, specifically diving into the Movement ServoStutter and the Propulsion Footstep subprojects. In case you’d like to take a look at the collection’s documentation, you can do so here. There, you’ll find a brief introduction to the collection, its soundprojects, a link to download the accompanying SoundBook, and more collection-specific information.
Strata’s Robotic collection
Let’s first take a look at my finished result and then dive into the design choices I made in REAPER & Wwise that led to it.
Now let’s open up the Robotic collection in REAPER and get started with the robot’s sound design!
Strata Robotic Collection in REAPER
As I mentioned before, I modified two of the collection’s subprojects, Movement ServoStutter and Propulsion Footstep, to arrive at my end result. Here’s how the Movement ServoStutter subproject looks like in REAPER:
Movement ServoStutter subproject in REAPER
I didn't make too many alterations in this subproject. I decided to essentially export the “ConstantHard” layer as is, and I also changed “Slow Medium” by muting the entire first layer, leaving only the pneumatics and piston-like clattering sounds. Finally, I made minimal changes to the “Fast Large” group, knowing that I would be manipulating the pitch and other aspects in Wwise later on.
Now let’s take a look at Propulsion Footstep. I was already familiar with this subproject, having used it in my earlier Strata linear design project. However, I did make some changes, mainly toning down some of the additional metal impact sounds to match up with the robot character in the game.
Propulsion Footstep subproject in REAPER
Using BOOM’s ENRAGE plug-in
I also made use of some ENRAGE effects, such as the flanger, warp effect, timbre, and voice shifting.
Lately, I’ve come to love experimenting with the various effects and features of BOOM’s ENRAGE plug-in that comes included with the Strata subscription. In this case, I used it to make some small aesthetic changes to push the sounds in the direction I wanted.
BOOM’s ENRAGE plug-in
The character model I created has a rustic, borderline steampunk appearance with a futuristic twist, and I tried to associate the sounds it generates by making some mechanical aspects of its movement sound more techie or futuristic.
Using the ReaWwise REAPER extension
Once I was finished choosing & modifying the sounds I planned on using in my project, I rendered them out and imported them into Wwise using the ReaWwise REAPER extension.
ReaWwise makes the process of importing sounds into Wwise as painless as possible. If you’d like a more in-depth walkthrough of using the extension in conjunction with Strata collections, you can watch this video. Essentially, the extension looks at what’s inside REAPER’s Render to File dialog, and gives me the ability to make choices about how those files should be transferred into Wwise. Here, I’m able to customize my desired Wwise hierarchy, and map REAPER wildcards to appropriate Wwise object types.
The Preview Panel shows me what the object structure will look like in Wwise, which is pretty neat!
The ReaWwise preview panel
Once we’re ready to take our work to Wwise, we just have to hit “Transfer to Wwise”.
Putting It All Together in Wwise & UE5
Heading over to the Wwise Project Explorer, we’ll see that our audio assets along with the Wwise object hierarchy were successfully transferred from REAPER.
The “Constant Hard” Servo Loop
The first element I’d like to take a look at is the “Constant Hard” servo loop. I decided this would be one of the key sounds for the robot character, and the idea was to have it drone on continuously, while every other action the player would make could potentially alter its pitch, tone, volume, etc.
Taking a look at the RTPC window of the “Constant Hard” Blend Container, we can see that there’s a game parameter receiving the movement speed and acceleration data from the animation. The data is then used to drive changes in the voice pitch, voice volume, and low-pass filter parameters.
The game parameter in Unreal that’s tracking the movement speed and acceleration
Let’s hear how that sounds when isolated:
Elements affecting the “Constant Hard” Servo Loop
The Jump Event
Whenever the Jump event occurs, there are noticeable changes to some of the RTPC parameters on the “Constant Hard” servo loop: it sets the voice pitch and voice volume to a particular relative value. The Jump event also triggers a Power Up sound, as well as Slow Medium Foot Buildup.
Here’s what those actions look like in the Event Property Editor:
Jump in the Wwise Event Property Editor
Just as the Jump event sets off noticeable changes to RTPC parameters on the “Constant Hard” servo loop, Jump_Land involves similar changes, but the other way around, driving the pitch in a different direction. Here’s how Jump_Land looks like in the Event Property Editor:
Jump_Land in the Wwise Event Property Editor
It was quite fun playing around with this particular game parameter and using it to drive the servo, and then compounding on it with other events.
Footsteps and mechanical movements
Moving onto the footsteps and mechanical movements of the character, I put together some layers of slow, clunky, and worn sounds. Here’s a video where I isolated these layers for you to hear them. Note that I turn it down quite a bit in the final mix.
These layers set up the beginning of the mechanics of the footstep.
Looking at the Footstep Blend Container, I just made some minor mix adjustments in Wwise after transferring everything over from REAPER (i.e. pitch adjustments). The footstep impact sound is one of the louder sounds in the mix, which is the counterpoint to the “Constant Hard” servo loop. These two elements basically sandwich everything else in between them, and everything operates based on what they’re doing.
If one of the pneumatic layers is playing from Foot_Plant, when the impact hits, it should release the pneumatic layer envelope that controls the volume (and pitch to some extent). This helps blend everything together.
Here's the Foot_Plant Event, which plays the Slow Medium Foot Buildup Sounds, and also posts the Servo_Movement event.
Foot_Plant in the Wwise Event Property Editor
The punch (or Fist) events act similarly to our footstep & jump events: they manipulate the RTPCs for the “Constant Hard” servo loop.
I made use of the two-event system to take care of this particular animation action: There’s FistHit and the FistHit_Finish, the latter of which resets some of the pitch and volume voice parameters for that “Constant Hard” servo loop.
FistHit in the Wwise Event Property Editor
FistHit_Finish in the Wwise Event Property Editor
The Jog_Start & Jog_Stop Events
Next we have the Jog_Start & Jog_Stop events, which play the Power Up and Power Down sounds, respectively. The idea is that these sounds can end up playing almost instantly, one after the other. To handle this, each event (Power Up & Power Down) turns the other one off, so they automate each other's RTPC values.
Overall, Strata has been an excellent resource for my Unreal/Wwise project, and with some minor modifications to the included sounds and effects, it has provided the perfect soundscape for my interactive game design project.
Thanks for reading this blog about using Strata in combination with Wwise and Unreal. Hopefully this illustrates how well-organized the Strata collections are and how seamless it is to integrate them into a non-linear format and easily start tweaking them.