17.08.2014 10:50, Tanu Kaskinen wrote: > On Fri, 2014-08-08 at 16:33 +0600, Alexander E. Patrakov wrote: >> Hello. >> >> [Note: the whole e-mail is purely theoretical. I still don't have any >> surround-sound system in my room. A salesman told me that I should buy >> 5.1 speakers, not 7.1, because the TV is centered on the long side of >> the room, and thus not enough space exists behind the listening area. I >> agree with this argument - so will not be able to test what I am talking >> about anyway.] >> >> I tried to play surround-sound files using various players and look how >> PulseAudio remixes things, and found some strange results. >> >> First, let's start with a simple third-party 5.1 AC3 file: >> >> http://distribution.bbb3d.renderfarming.net/audio/bbb3d_sunflower_soundtrack_surround.ac3 >> >> If you play it using ffplay, vlc, or with anything gstreamer-based, this >> will yield the following channel map: >> >> front-left,front-right,front-center,lfe,rear-left,rear-right (Surround 5.1). >> >> If you use "mpv --channels 6", then it will yield this instead: >> >> front-left,front-right,front-center,lfe,side-left,side-right >> >> Now let's see what happens in PulseAudio when a user has 5.1 speakers. >> >> With ffplay, vlc, and anything gstreamer-based, each channel's sound >> comes to the correct speaker. With mpv, rear-left and rear-right >> channels get remixed from other channels (if remixing is enabled), which >> is bad. If remixing is disabled, then rear speakers stay silent, and the >> sound in the corresponding channels gets lost. Obviously, the ffplay >> result is correct here. > > It's not obvious to me. It appears that there are different opinions > about how to assign channels in 5.1 and 7.1 setups. According to > http://en.wikipedia.org/wiki/Surround_sound there are two 5.1 > "standards" and three 7.1 "standards". Dolby thinks that 5.1 should use > the side channels, and AC-3 is a Dolby format, so to me it sounds more > likely that mpv is correct here. I think that this non-obviousness and other "disagreements" come from the fact that you used Dolby "standard" in your e-mail as a source of truth, while I used the existing (inconsistent) PulseAudio conventions. Given that, in the end, you propose a sensible solution that achieves what's needed, I see no point in discussing the "disagreements" further. They don't really exist. >> How should PulseAudio deal with this nomenclature mess? > > To make audio with the Dolby channel arrangement work better, we could > change the default device channel map to use the side channels for 5.1, > but that will then be worse for audio that uses a non-Dolby channel > arrangement. I have no idea what's the most common "standard". > > Perhaps we should add special casing to the remapping code so that if > the source channel map is 5.1 with rear channels and the target channel > map is 5.1 with side channels or vice versa, we don't do any remixing, > but copy rear to side or vice versa. > > If consistent behaviour for 5.1 -> 7.1 remapping is desired, we could > always feed the rear or side channels of the source to the side channels > of the target (or to the rear channels of the target, if that's how the > user prefers to have it). +1 to all of the above. -- Alexander E. Patrakov