Best way to include multi-channel audio via Google Resonance Audio

Hi all,

I would like to position channels of a multi-channel audiofile via Google Resonance Audio. Say, I have a quadrophonic sound image and would like to have each channel placed separately. So far I have created a multi-channel soundfile, created four sends and used the channelmixer and transreceiver to send each channel to a separate event. The separate events all have a Resonance Audio Source. The problem now is that the sender event is still outputting the four channel mix to the main mix. If I set sender’s output level to minus infinity the event gets muted and the transreceiver don’t receive anything. If I only send 3 channels to other events rather than 4 the panning is a bit confused due to the extra latency added of the transreceivers. (Or it sounded to me like this).

Does anybody know how to solve this?

Many thanks and best wishes,
Constantin

A simple solution would be to initialize FMOD Studio without the FMOD_INIT_VOL0_BECOMES_VIRTUAL flag. Without this flag, FMOD Studio will not automatically virtualize tracks and buses that are not producing audible output. Do note that this method will prevent other silent content from being virtualized, potentially increasing your project’s resource footprint.

Hi Joseph,

Many thanks for your suggestion and will try it out.
I’ve also tested adding a delay FX on the main / sender channel to time align it with the receiver channels. Would this be a reliable method, too, as long as I ask FMOD to initialize the platform with a set sampling frequency, i.e. 48 kHz?

Many thanks for your help,
Constantin

I’m not sure I fully understand what you’re trying to achieve. Are you concerned about latency? If so, you needn’t be: As long as each signal goes through the same number of sends and the same number of transceivers, they will all be subject to exactly the same amount of latency, and so be perfectly in-sync.

Instead of setting the flag, I tried using the first channel of the sender already as an output. That way the sender event will always play. However it will be sounding earlier than the receivers. Hence my attempt to time align it with the delay FX. Here a screenshot:

The other receivers have these settings in their master track:

I just realised that if I set the sender’s volume to a very low volume like -78dB it will keep playing while essentially being silent.

The problem stems from that in some versions of FMOD the Google Resonance Listener on the main Output sometimes gets mixed with anything written to the output before and sometimes not. In version 2.2.03 anything without a Google Resonance Source / Soundfield gets muted. In version 2.1.10 the sounds get mixed. In version 2.1.07 it gets muted again.

My goal is to be able to use spatialised stereo instrument recordings in a user navigable environment. Because Google Resonance Source supports only mono inputs and the soundfield is centred around the listener I am trying to find possible solutions. I know that one is not supposed to mix stereo recordings with spatial audio. But volumetric sounds sound really sad in mono.

As I said earlier, as long as each signal goes through the same number of sends and the same number of transceivers, they will all be subject to exactly the same amount of latency, and so be perfectly in-sync. If the first channel is outputting to the event master bus instead of going through the same sequence of sends and transceivers as every other signal in the event, then it being out of sync with those other signals is expected.

There’s a workaround for this behavior: Place the Resonance Audio listener effect on a group bus that is not in the routing path of your project’s other events, rather than on the project master bus.

This works because the Resonance Audio Listener effect doesn’t actually mute every event without a Resonance Audio Source or Soundfield effect; it simply replaces the signal at its position with the signal it receives from those sources. If you place it on a bus that is not part of the routing path of other events, it will not mute the signals of those other events.

Hi Joseph,

Thanks for the suggestions. This is all fine now.

The only thing is that I can’t place the Resonance Audio Listener on something other than a master bus because of the error message listed below. It happens when the FmodResonanceAudioRoom script is in the active scene. If I don’t use Google’s reverb, then it’s fine.

Resonance Audio Listener not found in the FMOD project.
UnityEngine.Debug:LogError (object)
FMODUnity.RuntimeUtils:DebugLogError (string) (at Assets/Plugins/FMOD/src/RuntimeUtils.cs:545)
FMODUnityResonance.FmodResonanceAudio:Initialize () (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:262)
FMODUnityResonance.FmodResonanceAudio:get_ListenerPlugin () (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:148)
FMODUnityResonance.FmodResonanceAudio:UpdateAudioRoom (FMODUnityResonance.FmodResonanceAudioRoom,bool) (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudio.cs:60)
FMODUnityResonance.FmodResonanceAudioRoom:OnEnable () (at Assets/Plugins/FMOD/addons/ResonanceAudio/Scripts/FmodResonanceAudioRoom.cs:88)

:slight_smile:
Constantin

Thanks for the report. We’ll investigate that error message.

We have confirmed that there is a bug affecting lookup of the Resonance Audio Listener when it’s not on the master bus, preventing FMOD Resonance Audio Room from working. We’ve passed this on to the Dev team to fix in a later release, thank you for bringing this to our attention!

1 Like