Mixdown 5.1 to headphones

Hi all,

I’m working on a horror game in FMOD Studio and currently have my project set to Surround 5.1 as the surround speaker mode (Desktop platform). I’m setting up mix snapshots for different playback scenarios and have a question about headphone handling.

Right now I have the following MIX_TARGETS snapshots:

  • MIX_NightMode
  • MIX_Headphones
  • MIX_HomeCinema

My question is: is there any real benefit to having a dedicated MIX_Headphones snapshot, or does FMOD’s automatic 5.1 to stereo downmix produce a result that’s good enough to use as the default for headphone listeners?

I want to make sure I’m not doing redundant work on a headphones snapshot if the automatic downmix already handles it well.

Any insight from people who’ve shipped 5.1 FMOD projects would be really appreciated.

Thanks in advance!
~ Vasco

Stereo downmix for headphones is incorrect since the expectation is that the left and right “speaker” will be +/- 30 degrees from the listener. Headphones needs to be 90 degrees to be accurate.

IIRC on one of my projects, they’ve put in a “headphone” mode in the audio options with the correct panning setup done in code.

Hi!

Exactly what you need from your final mix is up to you, but I would recommend creating a headphone-specific mix. This is because Studio handles 5.1 to standard stereo vs 5.1 to “headphones” slightly differently, along the lines of what @madfiddler said, though you shouldn’t need any custom runtime code to adjust the downmix.

If your platform’s surround speaker mode is set to “headphones”, as long as the master bus’ output format is set to “platform”, the downmix should be handled correctly to match the +/- 90 degrees speaker position you’d expect with headphones, avoiding any narrowing of the stereo field.

You can test this yourself in Studio by doing the following

  1. Audition an event, noting the stereo image width
  2. Set the master bus input to “stereo” instead of “automatic” - you should notice the stereo field narrowing as a result
  3. Right click on the master bus output panner, change it to “Stereo In: L / R”, and adjust the width to 180 degrees (i.e. +/- 90 degrees) - the stereo field’s width should match how it initially was at step 1

Hi Thank you both for the reply @madfiddler & @Leah_FMOD!

Would that mean I would need to create a platform for both:

  • Headphones
  • 5.1 (automatic mixdown to stereo TV)?

I currently don’t see any form of changing these platforms on runtime.

Yes, this is what I’d recommend, with the caveat that swapping between speaker modes at runtime will require a reload of all banks.

The alternative is to use snapshots (or global parameters), as you’ve been doing; I’m unsure what you have set up so far, but our usual recommendation is to have your project use a single speaker mode (usually the highest one), and create a return in the mixer for each speaker mode, using the in/out settings, channel mix, and/or panner to mix down as needed. From there, you can use snapshots/parameters to control which return is being sent to and/or their volume.