Version

menu_open

Using SoundFrame

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 radiuses, 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. The SDK contains the CarSim sample, which simulates car behavior to control a car engine audio structure. Another 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 the SoundFrame API, 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 the SoundFrame API work in a similar way to the Soundcaster in Wwise. Like the Soundcaster, you can re-create a variety of game scenarios by triggering events, sounds, and game syncs. The main difference is that the SoundFrame application or 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 a SoundFrame application or 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 dialogue 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 the SoundFrame API and 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 the SoundFrame is contained in the AK::SoundFrame namespace.

For more information, refer to:


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise