Exposing UI selectable speaker configuration settings as well as dynamic range options...

Hi, I’ve been trying to figure out exactly how to do this with FMOD and UE4. I can’t seem to find any answers in the User guide.

What I’m wanting to do, is create a section in the options menu where the user can select different mixes, such as; headphones, 5.1, stereo and dynamic range selections such as Wide, Narrow, Night, Small, Home Theatre etc.

First, how are these different mix settings related to FMOD? Are we calling different mix templates or are we using parameters to alter the current active channels?

Second, Is it possible to make these options exposed in UI so the user can choose the setting?

I’ve gotten the fidelity in my game to where I like it. The biggest problems now are when users are using stereo speakers but the configuration is for 5.1 so they lose everything on the center channel.

I’d like to avoid this anyway possible.

I know this is a bit vague, but I’m directionless on how to accomplish these speaker configurations and dynamic range options at the moment. Hopefully someone can offer some insight on here…

There’s a few things to address, here.

Firstly, and perhaps most importantly, you don’t need to worry about losing everything on the center channel in your example. If you mix your project for one speaker mode and a user uses a speaker mode with fewer channels, FMOD Studio downmixes to stereo - meaning that the content that would play out over the ‘missing’ speaker channels is intelligently redistributed to the channels that do exist.

To some extent, it’s possible to handle user mix selection by using snapshots; For example, by creating one snapshot for each selection you want to support, and using those snapshots to control an FMOD Studio Channel Mix effect on your project’s master bus. Because snapshots can be started and stopped at any time as your game runs, it would be trivial to tie them to different menu items in your game.

For more information about using output formats that don’t match user hardware, see System::setSoftwareFormat in the Programmer’s API documentation.

1 Like

Thanks Joseph! I think what I’m really looking for is a way to just have the user select different settings in the UI. Such as: Home Theatre, Headphones, TV etc.

So using a snapshot is the only to call up optimal “mixes” for TV, home, etc?

TV we might want to cut off some of the subwoofer and on headphones maybe dampen the highs a bit or something, Is that the best way to use this feature?

Short of creating different versions of your project for different target platforms, snapshots are the only way to create platform-specific mixes for your project.