Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Downmix Channels To Mono DSP (Read 2324 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Downmix Channels To Mono DSP

Does the "Downmix Channels To Mono" DSP get a bit carried away with reducing the volume?

I was listening to some 5.1ch AC3 from a TV show today. Very roughly, the centre channel was peaking around -7dB. When I put the "Downmix Channels To Stereo" DSP in the playback chain, the speech (now in the stereo channels) was peaking around -10dB. Seems reasonable.

When I did the same with the "Downmix Channels To Mono" DSP, the speech was only peaking at around -30dB. Is that much of a volume reduction expected?

Thanks.

(foobar2000 1.3.15)

Re: Downmix Channels To Mono DSP

Reply #1
Now I've come back to this and played around, I think maybe it's the "downmix channels to stereo" DSP that should be reducing the volume more (to prevent clipping). I downmixed a 5.1ch file using foobar2000's DSPs, then with the Matrix Mixer DSP, (it's automatic "normalise" option enabled), and also with Avisynth. After scanning the files with ReplayGain:

Original 5.1ch audio,   +8.55dB
Foobar2000 downmix to stereo DSP,   +6.43dB
Foobar2000 downmix to mono DSP,   +18.06dB
Matrix Mixer DSP to stereo (Centre & LFE -3dB),   +17.18dB
Matrix Mixer DSP to mono (All channels equal),   +16.46dB
Avisynth (L/R & SL/SR - 0.2929, Centre & LFE - 0.2071),   +17.76dB
Avisynth ConvertToMono(),   +18.64dB

Should the "downmix to stereo" DSP be normalising to prevent clipping, or was it decided it shouldn't by design?

Cheers.

Re: Downmix Channels To Mono DSP

Reply #2
The chain I use otherwise the volume difference is a bit much in mono:

Downmix channels to Stereo
Downmix channels to Mono

Re: Downmix Channels To Mono DSP

Reply #3
Yeah, the volume drop is quite substantial, but the "Downmix Channels to Mono" DSP seems to be reducing the volume according to "worse case scenario" (ie all channels having simultaneous peaks) whereas the "Downmix Channels to Stereo" DSP doesn't. I don't think it ever has.

Generally I use the Matrix Mixer DSP anyway as it gives you full control over the downmix (plus I usually don't include the LFE channels whereas I think the foobar2000 DSPs do), so it's no big deal. I was just curious whether the "Downmix Channels to Stereo" DSP is the way it is by design.

Re: Downmix Channels To Mono DSP

Reply #4
Foobar2000 1.6.17
Mono and stereo samples sound equally loud.

Foobar2000 2.2
Mono sample sounds quieter than stereo sample.

Both players are installed as portable, no settings are changed (preamp, RG, DSP, volume slider, etc).
In other players, both samples sound equally loud, as in Foobar2000 1.6.17.

Any ideas what's going on?
• Join our efforts to make Helix MP3 encoder great again
• Opus complexity & qAAC dependence on Apple is an aberration from Vorbis & Musepack breakthroughs
• Let's pray that D. Bryant improve WavPack hybrid, C. Helmrich update FSLAC, M. van Beurden teach FLAC to handle non-audio data

Re: Downmix Channels To Mono DSP

Reply #5
Can't replicate that claim. The default output in both foobar2000 v1.6.x and 2.x are WASAPI and the output plays mono content through center channel. If you don't have a center channel the output upmixes the mono signal to stereo. The mono version is quieter in both players.

Different output component behave differently. For example both DirectSound and XAudio2 interfaces play mono by copying the same signal to both left and right channels in original loudness.

If you want mono to behave like fake stereo, enable "Convert mono to stereo" DSP.

Re: Downmix Channels To Mono DSP

Reply #6
It boils down to Output, indeed. For some reason, version 1.6.17 on my end used exclusive mode, that's why both files sounded equally loud. I switched it to “regular mode”, then mono sounded quieter. After that I installed WASAPI (event, push) and WASAPI Shared. Foobar2000 sounds equally loud with the former, and mono is quieter with the latter. Adding "Convert mono to stereo" DSP helps, but I don't understand why, since other players that ouput via DS and WASAPI (Boom by @Peter, Winamp, Aimp, MPC-HC, Resonic, etc) play both files equally loud out of the box. So I am confused.
• Join our efforts to make Helix MP3 encoder great again
• Opus complexity & qAAC dependence on Apple is an aberration from Vorbis & Musepack breakthroughs
• Let's pray that D. Bryant improve WavPack hybrid, C. Helmrich update FSLAC, M. van Beurden teach FLAC to handle non-audio data

Re: Downmix Channels To Mono DSP

Reply #7
Actually I have to withdraw my comment about how DirectSound plays mono. I'm not certain and I couldn't immediately find documentation about that.

Anyway, there are two common ways to play mono audio on non-mono speaker setup. One way is to duplicate the data to both front left and front right speakers.
Other way is to play it through front center speaker. When front center is missing, it's simulated by spreading the signal power to both stereo speakers. That way it plays back as loud as it would from a single center speaker.
My WASAPI (shared) output component you mentioned treats source channels as closely to what they specify as possible. The mono file you shared reports that it wants to play from center channel so that's what I use to output. With XAudio2 output I allow the interface to do what it wants and it has a special case handling for mono.

Fyi MPC-HC here plays the mono quieter. As does ffplay and for example the Microsoft's new Windows Media Player.

If you don't want things to be random with foobar2000, use the Mono to stereo DSP.

Btw, foobar2000's ReplayGain scanner used to treat mono as quieter than stereo originally too. But it was changed to treat mono as loud as stereo many years ago.

Re: Downmix Channels To Mono DSP

Reply #8
Wait, wait, I'm not looking for a workaround. Thank God, there is one you mentioned, but a) it's not a default, b) it's not obvious. Take a step back and look at the situation through the eyes of an ordinary user. Mono or stereo, it is expected to sound equally loud. You're talking about some central channel and related sound separation, which leads to a drop in volume, but I don't get it in case of the most common setup with 2 speakers and non-surround headphones — there are only left and right channels, no central one. When the file was created and encoded, no one offered to specify a central channel, it was created and encoded as mono. And it sounded loud in the audio editor. And it sounds loud in popular players, and in Foobar2000 with exclusive mode only. Out-of-the-box experience suffers, you see? If it is by design, then I'd like to know the details, because the current state drives me crazy. @Peter?



Code: [Select]
$ mediainfo tolle-mono.flac
Channel layout                           : M
• Join our efforts to make Helix MP3 encoder great again
• Opus complexity & qAAC dependence on Apple is an aberration from Vorbis & Musepack breakthroughs
• Let's pray that D. Bryant improve WavPack hybrid, C. Helmrich update FSLAC, M. van Beurden teach FLAC to handle non-audio data