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.
|GVR Audio Listener||
|GVR Audio Source||
|GVR Audio Soundfield||
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.
Create a new empty project in FMOD Studio.
Open the Mixer window using ctrl + 2 (Windows) or cmd + 2 (MacOS).
In the Mixer window, select the Master Bus.
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.
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.
The GVR Audio Listener plugin has the following features.
|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.
- Right-click in the Events pane to create a new event.
- Select the event's master track and delete the FMOD default spatializer from the master track deck.
- Right-click in the master track deck.
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.
The GVR Audio Source plugin has the following features.
|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.
|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.
Select the audio track where you want to add the GVR Audio Soundfield plugin.
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.
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 = X (ACN channel 0)
- Y = X (ACN channel 1)
- Y = ZEROS
- Y = ZEROS
- Y = X (ACN channel 2)
- Y = X (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.
- See Game engine integration to learn more about using the FMOD plugin in Unity and Unreal.