Blog homepage

Introducing the Wwise Authoring API

Audio Programming / Wwise Tips & Tools

Blog.png

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

 

 

  Subscribe

 

Bernard Rodrigue

Director, Wwise Experience

Audiokinetic

Bernard Rodrigue

Director, Wwise Experience

Audiokinetic

Bernard Rodrigue is Director, Wwise Experience at Audiokinetic. He joined Audiokinetic in 2005 and actively participated in developing the foundations of Wwise. Today, Bernard continues to lead several projects related to the advancement and expansion of Wwise.

 @decasteljau

Comments

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.

Leave a Reply

Your email address will not be published.

More articles

Simplifying WAAPI

If you’ve never used the Wwise Authoring API (WAAPI) before, I’m hoping I can convince you to give...

29.5.2018 - By Adam T. Croft

Connecting Wwise and REAPER: Part 1 - WAAPI Transfer

WAAPI Transfer is not new, but I feel like there is not enough talk about it. It is an open source...

19.2.2019 - By Nikola Lukić

Dialogue | Narration in Wwise and Unity

Dialogue with voiceovers is one of the staples of modern video games, allowing the player to not...

27.8.2021 - By Jake Gamelin

Audio GameObject Management In Games

I. Introduction GameObject is a fundamental concept in the audio design with Wwise. It’s deeply...

24.6.2022 - By Xu Wei (徐巍)

Wwise 2022.1 Unreal Integration Changes

About Wwise 2022.1 Unreal Integration This version is a major milestone in the Unreal Integration...

9.9.2022 - By Michel Donais

Update on Wwise Support in Heavy

Table of Contents Intro Installation and Usage New Features Rundown Support for More Channel...

20.12.2023 - By Eugene Cherny

More articles

Simplifying WAAPI

If you’ve never used the Wwise Authoring API (WAAPI) before, I’m hoping I can convince you to give...

Connecting Wwise and REAPER: Part 1 - WAAPI Transfer

WAAPI Transfer is not new, but I feel like there is not enough talk about it. It is an open source...

Dialogue | Narration in Wwise and Unity

Dialogue with voiceovers is one of the staples of modern video games, allowing the player to not...