Volume fade automation between Events with Spatializer

Hello everyone, I am using FMOD Studio as part of a VR research project and I’ve come across a problem with spatialization.
General project requirement:
I have several audio events (mic recordings) that play at the same time as well as audio sonifications (of the data collected form the mic recordings via machine learning) which also are audio events. The mic recordings are routed into one group as well as the sonifications.
In the Unity project the user should be able to fade between the mic recordings group and the sonifications group to switch in runtime between the 2 types of audio.
I simply thought that a custom global parameter automating the volume of each event would suffice. I’ve tried automating just the audio tracks volume, the master track volume of each event, a gain automation pre- & post-fader as well as automating the groups in the mixer.
In unity i also tried setting the bus volume to make a custom fade.
I have tried using Resonance Audio, FMOD Oculus Spatializer and the built in FMOD Spatializer but sadly it is not working.
In my research about the problem I’ve come across an entry which tells that the Resonance Audio Listener plugin bypasses the FMOD Mixer therefore also bypasses my volume automation.
Is there a way to automate the volume between events(crossfade between them) when using 3D/spatialized audio?

Where are you putting the effects that provide spatialization? The set-up you describe should work as long as the effect that provides spatialization is “downstream” of the volume automation, so that the volume automation is applied to each event’s signal before it gets spatialized. In other words, as long as the automated volume is on a track that routes into the track with the spatializing effect, or on the same track as the spatializing effect but to the left of it, it should work.

Does the issue occur when you audition the event and adjust the paramter in FMOD Studio, or only in-game?

I am setting the spatialization effect post-fader for each event.
and then I either set a custom-parameter automation for either the volume of the audio track of the event or the master volume of the track. The parameter range is from -1 to 1.
The automation curve for the transition of the mic-events are from -1 to 0.3 and the sonification-event automation curves are set from 1 to -0.3 so that a slight overlap of the events can be heard.

Do you know if this only would work with the fmod-built in spatializer or also also with the oculus spatializer plugin for fmod?
The transition works in FMOD Studio but not in Unity.

The custom “transition” parameter is set as global and I tried using the “FMOD Global Parameter Trigger” component in Unity to try out the parameter. It is added to the Gameobject which is parent to Game Objects that all contain Studio Event Emitter components with the spatialized events.
On the Parameter Trigger component I set the trigger to “object start” and chose the global “transition” parameter. I assume that it triggers and starts the override once the GameObject that contains the component gets instantiated or am I wrong?
Using this I tried changing the override value in the inspector during runtime but no transition occured.

All effects are applied at their position in the signal chain, so positioning the effect post-automated property should work regardless which effect you’re using. I’m not sure why it’s not working for you.

What is this transition you mention? You haven’t mentioned it before. In any case, if it works correctly in FMOD Studio but doesn’t work in the game, your game must not be setting the relevant parameter trigger conditions correctly. Not setting your parameters correctly would also explain why your volume automation isn’t working, as the parameter that’s used for the automation might not be being set when it should be.

Besides trying with volume automation, I tried automating a gain effect pre-fader with a custom global parameter I called “transition”.
In the attached screenshot I selected an event containing the microphone audio und one event containing sonification audio.
On those two events I set an automation curve for the gain using the same global parameter I called “transition”.


With transition I meant that with seeing both automation curves they overlap(as you can see on the screenshot above) at a certain part of the parameter timeline/range so that both of the events are heard at the same time.

Thanks for the clarification.

Have you checked the way your game is setting the parameters to new values? As I mentioned earlier, if it works when auditioned in Studio but not when played in your game, your game is probably not setting the parameters to new values correctly.

Thanks for your input! I managed to find the issue. The parameter values were in fact not set correctly.
May I ask another follow up question:
I now set up the FMOD project with the Oculus Spatializer and everything works in Unity.
When I build the game for the Oculus Go I come across an issue. It builds fine without any errors and installs the apk on the Oculus Go but when the app starts no sound is played.
What could be the issue of that?

Here are my audiomanager settings:
image
(I tried with and without setting the “Spatializer Plugin” to “OculusSpatializer”)
The oculus camera also has a fmod event listener component added.

If it works in Unity but does not work when run on the target console, there must be some flaw in the way your unity game is accessing the console’s audio hardware. I would advice checking the Oculus Go documentation for any information specific to audio and using the Unity game engine.