Quad ambience playback without phasing

Hello,

For my first-person 3D game, I have quad ambiences which I would like to be locked to the world position - so when the player rotates, the sounds are “world-locked” and do not rotate with the player.

I have done a lot of digging into past posts on here, and it seems the only way to do this is via the spatializer. However, I am hearing phasing when I do this. My understanding is that this is caused by the spatializer collapsing the quad sounds to mono, before doing the desired rotation and upmixing them back to the user’s output format.

However, removing the spatializer, I am actually hearing phasing regardless - anytime I am playing back my quad files in FMOD Studio, even via the asset browser. Not sure why this would be happening. Maybe I have something configured incorrectly?

Here is a sample of 3 files. two are captured via fmod studio set to Desktop->Stereo in the project settings - then I routed it thru loopback to record it. the other file is directly exported from reaper, I set the channel count to 2 in the export even though its a quad file. The reaper file is how it should sound, the fmod ones sound phasey to me, particularly with the spatializer enabled. Please note that all of these files are accurate to how I hear playback in FMOD studio so you can rule out capturing weirdness from Loopback.

fmod - with spatializer: rain_basic_quad_quad_fmoddownmix.mp3 - Google Drive
fmod - no spatializer: rain_basic_quad_fmod_nospatializer_quad_fmoddownmix_nospatializer.mp3 - Google Drive
reaper: rain_basic_quad_quad_stereodownmix.mp3 - Google Drive


One alternative I’ve read about: create a system in Unity where we have 4 mono emitters a bit away from the player, and locked to the relative world position. I haven’t tested this out fully, since it would require a fair bit of implementation logic in unity – but I’m assuming that, to prevent this solution from also causing phasing issues, I’d have to send each of these emitters to a transceiver bus? Should there be any further steps? It’s unclear to me whether this would fix the issue.

I’d appreciate any advice or insight into the correct workflow for this! Please let me know if I’m misunderstanding or overlooking a simpler solution. Happier also to provide more details about my FMOD Studio setup if needed. Thank you.
Ian

I think the simplest approach is still the quad ambience approach you are describing. With the alternative approach of multiple transceivers, I think the only way you could get phasing is if you have shared audio content in any of the channels. With either approach, it would be worth checking your source audio file to make sure each channel has unique audio content.
Aside from that, I agree the phasing is probably coming from a downmix, but I haven’t been able to reproduce any phasing with the quad/surround files I have. Can you please send me one of your quad ambiences so I can try reproducing inside FMOD Studio?

Hi Jeff, thanks for the reply and apologies in my delay getting back to you - I had to focus on a few other things this month.

So, If I’m understanding correctly the easiest way to make a multichannel file rotate is to put a spatializer on it like so:
image
Therefore this approach could answer threads like this?

I think the core of my question is: are we, in theory, sacrificing any qualities of the original recording, since it will be collapsing the multichannel file in the spatializer?

I’m still not exactly sure what is happening with the quad rain file, but here is the original :

Thanks again,
Ian

Thank you for sending the rain file over- I can reproduce this phasing in FMOD now.
The phasing appears to be coming from is because the audio content in channels 1 and 3 are too similar, as are channels 2 and 4.
image
I am finding Reaper also has some phasing, but much less than FMOD- not sure what the difference is there though.
In any case, you can fix this by splitting channels 1 and 2 from channels 3 and 4 with a Channel Mix plugin and offsetting channels 3 and 4.

Thanks for the confirmation on this! I am upset I bought this seemingly industry standard fx library for multichannel files and it seems they aren’t as advertised…

I’m wondering if the approach I described in my previous message, about rotating with a spatializer, is the preferred technique for this sort of thing in general? Is there any theoretical downsides to collapsing a multichannel file and rotating it via the spatializer, compared to another method?

Best,
Ian

Probably just something like the mics were too close when recording- the waveforms aren’t identical, just too similar to collapse down to a stereo mix without phasing.
I think your approach is good because it is simple and channels 3+4 are likely to be downmixed to stereo at some point (unless all of your users have a quad speaker setup), so it wouldn’t make a difference if this downmix occurs during spatialization or during the final mix.
For users who are using quad or above, you would be able to preserve the speaker layout better by omitting the spatializer and instead using a channel mix plugin and automating the level of each individual channel with an Event Orientation built-in parameter.


It’s a bit fiddly to get setup, but it would preserve the channel layout better if that is a concern for you.

Thank you for the advice, this is something I’ve been wondering about for a while. Hopefully it will help others when they do research into this :slight_smile:

All the best,
Ian