Table of Contents

Using SoundFrame (deprecated)

Note:
The SoundFrame implementation has been replaced by the Wwise Authoring API, which completely overrides SoundFrame. Refer to Using the Wwise Authoring API (WAAPI) for more information.

SoundFrame is a framework for communicating with the Wwise authoring application. It allows your content creation applications (such as your level editor) to obtain information from an instance of Wwise running on the same PC, as well as to remotely control the Wwise Transport to perform playback operations.

Using its data extraction capabilities, you can greatly enhance the workflow of tasks, such as integrating events in the game world, mapping switch to game textures, visualizing and tweaking attenuation radii, and so on.

Using its playback capabilities, you can build tools to simulate game audio scenarios too complex to be represented in the Soundcaster view. An example would be an Environment tester, where sounds could be tested and validated in the different environments of your game.

After the tools are built using SoundFrame, you can test, validate, and integrate many aspects of your sound design without further programmer intervention -- even before the game engine is ready to incorporate sound.

How Does SoundFrame Work?

Applications and plug-ins created with SoundFrame work in a similar way to Soundcaster in Wwise. Like Soundcaster, you can re-create a variety of game scenarios by triggering events, sounds, and game syncs. The main difference is that the SoundFrame plug-in can be outside of Wwise. In order for the two applications to communicate with each other, they both need to be installed and running on the same machine. SoundFrame establishes a bi-directional link with Wwise using a client-server type relationship.

SoundFrame_Communication.gif

When sounds are triggered by the SoundFrame plug-in, they are played through Wwise. Since SoundFrame uses Wwise as its sound engine, it is free from any sound engine restrictions. This means that updates can be tested and validated live, which can save you a great deal of time at all stages of your development cycle.

SoundFrame Features

In order to simulate all types of audio scenarios, SoundFrame gives you access to a wide range of features, including those usually managed or performed by the sound engine. The following list describes some of the tasks you can perform using SoundFrame:

  • Create a connection between your simulation application and Wwise.
  • Retrieve the events and corresponding actions in your project.
  • Retrieve the dialog events and corresponding arguments in your project.
  • Playback events through Wwise.
  • Receive notifications of changes made in Wwise.
  • Retrieve positioning radius properties live.
  • Register/unregister game objects.
  • Set active listener, listener position, and listener spatialization.
  • Set game object position.
  • Set game object obstruction and occlusion.
  • Retrieve game parameter information and set game parameter values.
  • Retrieve switch property information and set active switch.
  • Retrieve state property information and set active state.
  • Retrieve trigger information and call trigger.
  • Retrieve environmental information and set/bypass environmental values.
  • Post monitoring messages.

Sample Applications

Wwise comes with two sample programs that were built using SoundFrame which demonstrate the power and flexibility of SoundFrame. They were created to give you an idea of the types of applications that can be built using SoundFrame. The complete source code for these samples is provided so you can tailor these programs to your own project's needs, or use them as a guide to create your own tools.

The sample applications that were built with SoundFrame are listed below:

  • Car Sim - a sample application that uses SoundFrame to simulate car engine physics.
  • SFTest - a sample application where all aspects of the sound engine can be tested, including events, environments, positioning, and game syncs.

Everything related to SoundFrame is contained in the AK::SoundFrame namespace.

For more information, refer to: