Get started with Resonance Audio for FMOD

Get started using Resonance Audio plugins for FMOD. This guide shows you how to add and configure the plugins in your FMOD Studio projects.

Set up your development environment

  • Download and install the latest version of FMOD Studio.

About the Google VR Audio FMOD plugin package

The Google VR FMOD plugin package is included by default in FMOD Studio versions 1.09 and later.

The package has the following FMOD::DSP audio plugins.

Plugin Description
GVR Audio Listener
  • Enables binaural spatialization of sound sources created using the GVR Audio Source or GVR Audio Soundfield plugins.
  • Additionally handles room effects simulation.
GVR Audio Source
  • Spatialize mono sound objects anywhere around a user.
  • Apply effects such as distance attenuation and directivity patterns.
  • Requires GVR Audio Listener.
GVR Audio Soundfield
  • Play first-order Ambisonic soundfields that react to a user's head rotation.
  • Requires GVR Audio Listener.

Add the GVR Audio Listener plugin to your project

The GVR Audio Listener is required for using the GVR Audio Source and GVR Audio Soundfield plugins in your project.

  1. Create a new empty project in FMOD Studio.

  2. Open the Mixer window using ctrl + 2 (Windows) or cmd + 2 (MacOS).

  3. In the Mixer window, select the Master Bus.

  4. Right-click on the deck and select Add Effect > Plug-in Effects > Google > GVR Audio Listener to place the plugin on the Master Bus.

    You can also place the plugin on an event group's Mixer deck to spatialize specific sources. See Where to place the GVR Audio Listener for details.

  5. Position the GVR Audio Listener plugin. You can position the GVR Audio Listener before the fader so that the fader controls the plugin output.

    In rare cases where you need to bypass the fader, you can position the GVR Audio Listener after the fader.

Plugin features

The GVR Audio Listener plugin has the following features.

Feature Description
Global Gain Controls the gain applied to all GVR Audio sources in your project.
Binaural Level Meter Indicates the output levels of your binaural mix.

Where to place the GVR Audio Listener

The GVR Audio Listener plugin can be placed on any mixer. The GVR Audio Listener mixes binaurally rendered spatialized sources with the incoming stereo input of the corresponding mixer.

Spatialize all sources
You can place the GVR Audio Listener Plugin on the Master Bus deck.

Spatialize specific sources
You can also opt to spatialize specific sources in your project. To do this, create an event group and place the plugin on the event group's mixer deck.

Add a GVR Audio Source to an event

After adding the GVR Audio Listener to your project, you can add a GVR Audio Source to an event.

  1. Right-click in the Events pane to create a new event.
  2. Select the event's master track and delete the FMOD default spatializer from the master track deck.
  3. Right-click in the master track deck.
  4. Select Add Effect > Plug-in Effects > Google > GVR Audio Source to place the plugin on the master track deck.

    Typically, you place the plugin on the master track deck. See Where to place the GVR Audio Source for details on spatializing a specific track in an event instead.

Plugin features

The GVR Audio Source plugin has the following features.

Feature Description
1 Distance attenuation curve Shows a distance attenuation curve shape as a source moves towards or away from the user.
2 Curve Type Selector Choose between a linear distance attenuation curve, a logarithmic attenuation curve, or no distance attenuation effect.
3 Gain Gain applied to the given GVR Audio Source.
4 Source Directivity Curve Indicates the degree to which a source emits sound in different directions.
  • Circular curve: Source emits sound uniformly in all directions.
  • Cardioid curve: Source emits sound mostly from the front and, to a lesser extent, to the sides. Source emits no sound from the back.
  • Figure-eight curve: Source emits sound from the front and back only.
5 Minimum and Maximum Distance Set the distances at which the source is heard at full volume (minimum distance) and falls completely silent (maximum distance). The curve shown indicates a volume falloff rate with distance given these two parameters.
6 Bypass Room Effects If you applied GVR Audio room effects to your project, use this switch to opt out of applying room effects to a particular source.
7 Spread Approximate width of the given GVR Audio Source. Higher values correspond to wider, less pointed, sources.
8 Occlusion Level of occlusion by virtual objects between the source and user. Increasing this parameter attenuates the source by removing high frequencies from it.
9 Directivity As this parameter increases, the directivity curve evolves according to the following patterns: * Circle = 0 * Cardioid = 0.5 * Figure-eight = 1.0
10 Directivity Sharpness As this parameter increases, the directivity curve lobe width decreases. This creates narrower emission patterns for your sound sources.

Where to place the GVR Audio Source

Spatialize all tracks
In most cases, you should place the GVR Audio Source Plugin in an event's master track deck.

Spatialize a particular track
You can also opt to spatialize a particular audio track for an event. This directs the track's audio into the GVR Audio system and away from the events master track.

To do this, place a GVR Audio Source plugin in the deck for the audio track.

Add the GVR Audio Soundfield plugin to an audio track

After adding the GVR Audio Listener to your project, you can use the GVR Audio Soundfield plugin to play first-order Ambisonic (FOA) soundfields.

The GVR Audio Soundfield plugin supports FOA encoded in the AmbiX (ACN-SN3D) format. The same format is supported by YouTube.

  1. Select the audio track where you want to add the GVR Audio Soundfield plugin.

  2. Right-click in the track's deck and select Add Effect > Plug-in Effects > Google > GVR Audio Soundfield to place the plugin on the audio track deck.

  3. Use one of the following options for preventing FMOD from upmixing your Ambisonic sound files.

Prevent FMOD from upmixing Ambisonic soundfields

FMOD upmixes four channel busses on the master track to 5.1 surround format, which is incompatible for Ambisonic playback.

Use one of the following options to ensure that your Ambisonic sound files play correctly.

Option 1: Place the plugin and audio file on the same audio track

Make sure that the GVR Audio Soundfield plugin is placed on the same audio track as the audio file and not on the event master track.

This ensures that the plugin input is four-channel FOA audio.

Note that you cannot audition soundfield rotations if you use this option. See the next option if you want to audition soundfield rotations.

Option 2: Modify audio files to prevent upmixing

If you are mixing multiple Ambisonic soundfields on the same event, insert two silent channels into your four-channel FOA file.

For example, if you have a soundfield with channels X[0, 1, 2, 3], map it to a six-channel file Y[0,1,2,3,4,5]:

  • Y[0] = X[0] (ACN channel 0)
  • Y[1] = X[1] (ACN channel 1)
  • Y[2] = ZEROS
  • Y[3] = ZEROS
  • Y[4] = X[2] (ACN channel 2)
  • Y[5] = X[3] (ACN channel 3)

You can modify additional Ambisonic soundfields in the same way and place them on separate event tracks.

After making these configurations, you can place the GVR Audio Soundfield plugin on the 5.1 master track. The plugin interprets the six-channel input as FOA data.

Using this method, you can also audition soundfield rotation using the 3D preview in the Overview pane.

Option 3: Convert a four-channel FOA sound file to six-channel output

Run the following Ffmpeg command on any four-channel FOA sound file to convert the file to six-channel output.

 ffmpeg -i input.wav -map_channel 0.0.0 -map_channel 0.0.1 -map_channel -1 -map_channel -1 -map_channel 0.0.2 -map_channel 0.0.3 output.wav`

In this example, input.wav is a four channel FOA input file and output.wav is the six-channel output containing the two zeroed out channels.

Next Steps