You know that Wwise has an API for its audio engine, but wouldn’t it be nice if the authoring application also had an API, allowing external applications to talk to it?
Well, that is just what the Wwise Authoring API is! Did you know that it has been a part of Wwise for years? That’s right! It was known as the SoundFrame. But, it was quite limited and hard to use, but now things are getting better.
For Wwise 2017.1, we are redesigning the Wwise Authoring API from the ground up, addressing its original limitations and extending it to a new level. This article will first explore what you can do with the Wwise Authoring API, then discuss different scenarios for using the new version.
What the Wwise Authoring API can do for you
The Wwise Authoring API has functionalities separated into two layers.
Wwise core layer
The Wwise core is the heart of Wwise. The core layer allows you to manipulate the Wwise data model and perform tasks such as:
- Retrieve objects and their information
- Set information on objects
- Create new objects
You can also:
- Import audio files;
- Generate SoundBanks;
- Convert audio files;
- Access the profiler data; and
- Play Wwise objects.
Wwise user interface layer
The user interface layer gives you access and control over the user interface.
For example, you could perform the following operations:
- Open views
- Access current selection and change it
- Inspect objects
- and much more...
All the functionalities contained in these two layers allow a variety of scenarios. So, let’s take a look at them.
Wwise Unreal/Unity Integrations
Probably the most obvious Wwise Authoring API scenario is connecting the Wwise Unity or Unreal integration with Wwise. With Wwise 2016.2, they are only connected through the file system. The link between Wwise and the integration is actually just one way; the integration reads the Wwise Work Units from the project folder. The integration never modifies the project.
What if you would be able to import new sounds and containers, create new Events and SoundBanks, set Volume levels or other properties, change Attenuations, and more? The list of features that could be accessible directly from the integration is long. Now, imagine not needing to switch from the game engine to Wwise every time you want to change something in your Wwise project!
Ready for it? We even prepared something for you to preview at GDC17. Come see us at the Audiokinetic booth to watch our own Unreal integration modified to use the Wwise Authoring API, live.
Automation
Automation allows you to execute operations programmatically, in batch, and in a very efficient manner. It can replace repetitive manual tasks. You could, for example, create an entire project or a just a few objects, programmatically. For instance, you could import audio files, create Wwise sounds and containers, assign busses, and set properties, such as Volume—all this live, while connected to Wwise via the Wwise Authoring API.
This kind of automation can be integrated in your own tools: your favorite DAW, your voice recording pipeline, your asset management tool…you name it.
Remote Control on a Mobile Device
Another interesting scenario would be to use a mobile device, such as a tablet or a phone, to remote control Wwise. For example, such devices could implement a transport control, allowing you to control playback of objects. Or, maybe a fancy X-Y pad controlling two Game Parameters with one finger? Do you need to use your tablet as a remote mixing desk? Or maybe, you want to display a loudness meter on your phone? Go crazy.
Implement a Custom View
Wwise already comes with a lot of views, but maybe there is a feature missing for you? Did you always want to implement a timeline view for Events? Or maybe you wish to collect profiling data and gather playback statistics on objects that are never playing or other objects that are playing too often? Do you want to add a graphical editor to the Wwise Parametric EQ Effect?
Imagine, you now have access to the data behind Wwise, and you are even allowed to change it. Want to share your ideas?
No language barrier
We carefully designed the new Wwise Authoring API so that it is not bound to a specific programming language or operating system. You can actually use it from any internet-capable language, including C++, JavaScript, Python and C#, and from any OS. You can even use it in a web browser, the most cross-platform environment available today.
The only limit is your imagination. Stay tuned for more on the Wwise Authoring API, and come ask us questions at GDC17.
Read: A step-by-step WAAPI example
Commentaires
Rob Blake
February 21, 2017 at 01:44 pm
Errr... this sounds pretty spectacular. Fantastic job, can't wait to see it in action.
Robert Bantin
February 21, 2017 at 02:03 pm
More power to the audio programmer! Can't wait to play around with it. Cue evil maniacal laugh: "Mwahahaha...."
Adam Philp
February 22, 2017 at 04:37 am
I was just uttering a maniacal laugh when I read Rob's comment!
Robert Bantin
February 24, 2017 at 09:24 am
:D You know it Adam!
Stéphane Beauchemin
February 28, 2017 at 01:37 pm
It looks promising... I'll definitely get in touch with you at GDC.
Willow Neilson
April 11, 2017 at 01:05 pm
Have you got a tentative release date? Is this something that could potentially mean you could create a DAW with Unity that would work in iOS and Android?
Konrad Hilarius
June 28, 2017 at 03:33 am
Great news, can't wait to test this in the automotive version and our toolchains. Especially the WAMP based communication with Autobahn is a nice choice.