Once a game has been built in Unity (with FMOD as middleware, obviously), is a game’s audio output automatically compatible with surround formats such as 5.1? In other words, if I plug a pair of headphones in, or an interface capable of 5.1, 4-channel, etc., will FMOD (as the built game’s middleware) automatically take care of the spatial aspects of the full 3D mix, so that they sound correctly placed no matter the number of outputs?
I know that in a typical game menu, you will have the option to select your sound system/channel numbers and adapt the audio accordingly (e.g. TV stereo, 5.1., 7.1). My question is really centred around whether FMOD takes care of this automatically, as long as everything is set up correctly on the outputs via an audio interface. My game won’t have any means of selecting the relevant channels: it’s being done as an experiment, so I’ll just be routing the audio through an interface with no way to adjust via a game menu, etc.
My guess is that if the output on the mixer’s master bus is set to automatic, then FMOD adapts the audio accordingly to whatever system the game’s audio output is being routed through. But I’m not sure…
Yes and no.
As part of specifying your target platforms in the build tab of FMOD Studio’s preferences dialog, you’ll have specified a surround speaker mode for that platform. When using bank files built for that platform, the FMOD Engine will automatically use that format for spatializer effects and the “platform” channel format.
The “automatic” channel format automatically sets the channel format to the format with the lowest channel count that is the same or greater than the highest number of channels of any signal routed into that bus or track. For example, if you route an instrument that contains a stereo asset and an instrument that contains a mono asset into a track with the “automatic” channel format, the track will automatically be set to stereo format. The channel format of the master bus is an exception to this: If the master bus’ channel format is set to automatic, it will instead default to the channel format specified for the platform.
These two facts together mean that the signal output by an FMOD Studio project is usually the format specified for the platform in the build tab of the preferences dialog.
All that being said, if the output format of the master bus does not match that of the player’s actual hardware, the signal will be automatically downmixed or upmixed as needed.
So, if you want your game’s audio to work on a audio output devices with a variety of different speaker counts, but do not want to create multiple different versions of your bank files, the usual solution is to set your platform’s speaker format to 7.1 or 5.1 surround in the build tab of FMOD Studio’s preferences window, and rely on the automatic downmix to adjust it for lower channel counts. The downmixed signal won’t sound quite as good as if you had specified the lower channel count in the build tab of the preferences window, but many players will not be able to tell the difference.
If you consider the loss of quality incurred by the downmix to be unacceptable, then you should set up multiple different platforms in the build tab of FMOD Studio’s preferences window, each with a different surround speaker mode, and include a feature in your game to automatically or manually switch between speaker modes depending on the number of physical speakers in the player’s audio output device.
That’s as I expected. Thanks very much for the detailed response!