On Friday April 7th 2017, the soon-to-be-released Wwise Authoring API (WAAPI) was put to the test via an internal company-wide hackathon. Of course, we love coining branded terminology here at Audiokinetic, so we naturally had to call it, the AK-thon! Projects had to include at least one WAAPI component but could include other technologies, and teams were allowed to choose any language or environment. From slightly eccentric to more serious concepts, teams of 2-5 submitted their creative ideas and had one day to realize them.
Here are 4 WAAPI projects from this fun and WAAPI day!
3D Attenuation Visualizer
Team: Benoit Santerre, Pascal Viandier
Objective: Be able to see an attenuation curve in 3D space within the Unreal Engine, and have it change in real time when modified in Wwise.
-Summary by Benoit Santerre
What we attempted to do was to get a representation of a sound's attenuation curve in a 3D world (in our case, in Unreal Engine 4). We used WAAPI to retrieve the attenuation curve on one sound object, and then used the Unreal Engine's Procedural Mesh Component to rotate that attenuation curve around the Z-axis. The result is something looking like a cone around a sound source in the Engine's 3D view, allowing to easily visualize how a sound will be attenuated in relation to distance. Changing the curve in Wwise automatically refreshes the mesh in Unreal, allowing for easy mixing iterations.
Infinitely Random Ambience
Team: Shawn Laptiste, Alexandre Lessard, Kristian Mah, Axel Helie Fontaine, Brian McHugh
Objective: Using Essentia's audio analysis and audio-based music information retrieval, create ambiences and musical themes from samples that are determined to be similar within FreeSound's database of sounds. Samples will be analyzed using spectral, temporal, tonal, and high-level music descriptors.
-Summary by Shawn Laptiste
In this hack, we attempted to use WAAPI to create random sequences of sounds within Wwise based on an input template sound. Essentia is used to perform analysis on the template sound. Data extracted from the Essentia analysis is then used to query Freesound for similar sounds using Freesound API. Using WAAPI, these new similar sounds are imported into the Wwise project. Snippets of these sounds are then placed into Random Containers within Sequence Containers with random blend durations creating audio that is similar to the original template sound but varying in unpredictable ways.
The Wwise Grabber: Hand gesture interface for audio edition using Leap Motion controller
Team: Xavier Buffoni, Thalie Keklikian, Nathan Harris, Alexandre Savard
Objective: Create an application using the controller interface to control 3D position through WAAPI, move a listener and emitter (Event), draw attenuation curves, lengthen/shorten sounds, and (optionally) import a 3D model and simulate geometry-driven reverberation.
-Summary by Thalie Keklikian
The idea behind our project was to control Wwise with hand gestures, Minority Report style. We got the idea from our team member Alex who had just started using his Leap Motion device at home. The Leap Motion Controller is a USB-pluggable sensor that uses IR cameras to track the position of hands placed in the area above it. Its SDK can be easily used to detect fingers, hands, and arms. It can even distinguish the right hand from the left!
WAAPI can do anything Wwise can without having to use the graphic interface at all. For the hackathon, we extracted three main functions from it: one to play the current Event, one to go to the next Event, and one to set RTPC values. We also created 3 different gestures. To play an Event, we decided to point with one finger. The code would check if only one finger was detected and, if so, would see if it was going from a none zone to a touching zone. Then, opening up all of the fingers of one's hand would change the Event to the next one. While playing an Event, a third gesture would be used to alter its sound. We used the pinching gesture, or as we have called it, the grabber. When grabbing an invisible node with one's hand and moving alongside the X and Y axes of the leap motion, these positions would be sent as RTPC values. On the Wwise project side, we created different Events, each having a sound and something to be changed with two RTPCs. For example, one Event played a Wwise Synth One SFX made up of sine and sawtooth waves. When grabbing and moving alongside the Y axis (vertically), the base frequency would be changed. When moving alongside the X axis (horizontally) the sawtooth would transpose.
The result was quite impressive. It kind of looked like we were playing a theremin (a really basic one). Of course, this was all done in a day, so our final product was not perfect. Some shortcuts we took, for example, were to assign the grabbing to a different hand than the other two gestures so that we wouldn't trigger the latter ones by accident while making the grabbing gesture. Still, sometimes, the leap motion would not detect the right hand and would call the wrong function. But we had fun and that's what's important! This WAAPI project opens up a lot of possibilities. Imagine a Wwise authoring in VR that would enable people to change some curves and parameters in-game with a hand tracking system!
Wwise Engine Authoring Link on OBD2 (WEALO 'pronounced oui allo')
Team: Francois Thibault, Tai Vuong, Maximilien Simard Poirier, Simon Ashby
Objective: Extract engine relevant parameters to drive engine sound synthesis (RPM, vehicle speed, engine load) directly from real-time or offline traces of OBD2 diagnostic hardware interfaces. This will drive Wwise runtime parameters to provide more realistic testing and simulations of audio engine synthesis designs.
-Summary by Francois Thibault
Designing realistic car sounds can sometimes be a challenge without at least a basic physics simulation application running. Some programming efforts are, therefore, usually required before sound designers can start designing vehicle sounds. Our idea was to use data extracted from real cars using OBD2 diagnostic hardware interfaces, either in real time or replaying previously captured data, to drive RTPC parameters like RPM, vehicle speed, and engine load of engine sound synthesis design in Wwise directly through WAAPI, not requiring any Wwise SDK integration.
Learn more about the Wwise Authoring API (WAAPI).