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 06:44 pm

Errr... this sounds pretty spectacular. Fantastic job, can't wait to see it in action.

Robert Bantin

February 21, 2017 at 07: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 09:37 am

I was just uttering a maniacal laugh when I read Rob's comment!

Robert Bantin

February 24, 2017 at 02:24 pm

:D You know it Adam!

Stéphane Beauchemin

February 28, 2017 at 06:37 pm

It looks promising... I'll definitely get in touch with you at GDC.

Willow Neilson

April 11, 2017 at 05: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 07: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

A Simplified Pipeline for Creating Wwise Audio Plug-Ins

**Originally posted January 15, 2019** Developing audio plug-ins for Wwise is fairly different from...

21.4.2020 - By Joel Robichaud

Wwise Midi Basics: New Super Lucky Tale Foxberry Timer Musical Midi Magic!

Hello there all you Wonderful Wwise users :) The essential skill needed to survive game audio is the...

26.6.2020 - By Aaron Brown

Wwise 2021.1 What's New | Beta Edition

We will be launching Wwise 2021.1 early next year and are excited for you to get your hands on the...

17.12.2020 - By Audiokinetic

Dialogue | Narration in Wwise and Unreal Engine

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

1.9.2021 - By Jake Gamelin

On working with WAAPI and Python in a team, with examples

In this article, I’d like to describe a somewhat opinionated approach to working with WAAPI that...

26.1.2022 - By Eugene Cherny

Wwise 2022.1 What's New | Public Preview Edition

The 2022.1 Public Preview is live and now available to install from the Wwise Launcher. The build...

19.5.2022 - By Audiokinetic

More articles

A Simplified Pipeline for Creating Wwise Audio Plug-Ins

**Originally posted January 15, 2019** Developing audio plug-ins for Wwise is fairly different from...

Wwise Midi Basics: New Super Lucky Tale Foxberry Timer Musical Midi Magic!

Hello there all you Wonderful Wwise users :) The essential skill needed to survive game audio is the...

Wwise 2021.1 What's New | Beta Edition

We will be launching Wwise 2021.1 early next year and are excited for you to get your hands on the...