5.1PCM being converted to 7.1PCM - how to stop this?


#21

If an AVR supports 4K, it supports 7.1 as an LPCM input. If the film source is 7.1, then you’d set 7.1 in Kodi.

5.1 content wouldn’t be affected

The AVR would do a better job mixing 7.1 to a 5.1 layout than OSMC and Kodi would. Because with passthrough enabled, you’re also sending 7.1 (only as a bit streamed) format. This is more consistent.

Maybe there’s a hack for this.


#22

And yet, it’s exactly what the original mix was intended to sound like, with exactly the number of speakers that were intended when the mixing was done.

I’m a big fan of Dolby ProLogic II because it’s so good at extracting surround information from a 2-channel source. Adding the extra rear speakers with ProLogic IIx, though, is just not really a big deal. In the same way, a 5.1 source being played back with 7.1 speakers using ProLogic IIx…it’s fine, but losing those back two really doesn’t make much difference.

As for mucking about with the sound even more by adding artificial “3D” to sources that don’t have it…well, some people also like to listen to other artificial sound fields, and if they can’t do it because of the way PCM is output on the Vero 4K, then that’s really not a big deal.

But, the vast majority of audio is encoded using something that doesn’t have to be bitstreamed as PCM. Yes, I know about SACD, etc., but movies outnumber all audio-only recordings by a vast amount, and movies will have lossless audio that can be streamed as something other than PCM. There’s also a lot of audio-only discs that use formats that don’t have to be streamed as PCM. And, since the audio-only is only a problem with more than 2-channel sources, it really is a very, very small minority.

People that convert original audio to a format that can only be streamed as PCM really shouldn’t be counted in this, because they have a choice. If they want the ability to artificially process the sound, then don’t convert it to FLAC, AAC, etc.


#23

5.1 content is the only thing that would be affected when sending via the Vero 4K to a setup with 5.1 speakers.

7.1 movie would have everything just fine, as the AVR would downmix to 5.1 speakers using real 7.1 channels as source.

But, a 5.1 movie would be output by the Vero 4K as 7.1 with silent LSR and RSR, which would still be downmixed, but wrong, because the AVR would assume that the silence was “correct” and end up with the wrong volume for the rear speakers. The same content would have louder surround volume if bitstreamed at 5.1.

It would be different if you could signal a “NULL” channel in PCM, but instead you just have to send silence.

No, Kodi/OSMC is the only place to do the mix if you have a 5.1 movie that has to be bitstreamed at 7.1 to be played back on a 5.1 speaker system. The right thing to do is to use the standard matrix that Dolby EX uses to extract a center rear channel from the left and right surround, and send that at 1/2 volume to each of the two rear channels. Then, the AVR would reverse the process and end up with the right volume for the two surround speakers.

Note that doing this to a 5.1 movie would also result in no issues when output to 7.1 speaker setup.

And, this matrix conversion is supported by FFMPEG.


#24

Maybe I was unclear, but I wasn’t talking about 7.1 AVRs that can’t handle passthrough formats. I was talking about 5.1 PCM audio being played back on the Vero 4k and being sent to an AVR connected to a 7.1 speaker setup. As the Vero 4k only sends 5.1 PCM audio with 2 blank channels added to the package, the AVR would play 5.1 channels to 5.1 speakers and the other two (back surround) speakers of the 7.1 setup would stay silent - the AVR doesn’t know they’re empty… That’s what I wanted to say here. :wink:

No, it’s not what it was inteded to sound like :rofl: It was intended to be played back with 5.1 speakers where the surround speakers aren’t wide surround speakers like in a 7.1 setup. So, instead of being played back via surround speakers the surround channels of a 5.1 mix are played back via wide surround speakers.
Either you have 2 setups (one with surround speakers for 5.1 playback and one with wide+back surround speakers for 7.1 playback) or you have to rely on an upmixer which fills up the back surround speakers of a 7.1 setup for you, so you don’t need 2 setups.
Just have a look at how Dolby and DTS distinguish between 5.1 and 7.1 setups and the positioning of the speakers. Those two setups are completely different (not just adding 2 speakers) in terms of WHERE the speakers are. This means that playing back 5.1 content on a dedicated 7.1 setup following Dolby/DTS recommendations (which are more or less exactly the same as what AVR manufacturers recommend) just cannot sound right… There’s no surround sound coming from the back of your home cinema, if you don’t use an upmixer. And this is definitely not intended with a 5.1 mix.

What Dolby and DTS would probably want: play a 5.1 mix on a 5.1 setup and play a 7.1 mix on a 7.1 setup. Nothing else… For other scenarios there is up- and downmixing.

For you… Please don’t tell people that what they like or would like to use is “not a big deal” in general - which is what this sounds like. :wink:

Again… This is not the point. E.g. for me (and arguably others, too) the Vero 4k is the only device which I can use to listen to surround PCM music which is mostly classical music. It’s not about numbers here.
And BTW: No Kodi device can passthrough DSD atm or playback SACDs, so surround PCM files are the easiest way to playback surround music.

Again… Good that you are basically telling those people that they’re unimportant and their wish is not to be heard :rofl: It would be nice to have a device which can playback anything you throw at it as close to source as possible. I think, that’s a legitimate wish and I’d belive, it’s something the OSMC Devs are striving for, too.

Honestly, this has been discussed at length already in a different thread for months already. The consensus is that it should best all be done by the AVR. Having the Vero 4k pass on EVERY audio format (including PCM) as it is (without adding or altering channels) would be preferable and would give the biggest flexibility…


#25

That’s not what I’m saying though.

7.1-> 5.1 is done best on an AVR
5.1 should be sent as 5.1 when possible.

Which models?
Even for newer formats, there is a core which can be passed through.


#26

I don’t understand what you mean… I was talking about 7.1 AVRs (capable of decoding/handling any sound format) with dedicated 7.1 speaker setups connected. And playing back 5.1 PCM audio coming from the Vero 4k (output as a 7.1 PCM package with two blank speakers). In this case, the AVR couldn’t upmix the 5.1 audio channels to 7.1 because of the blank channels and therefore the back surround speakers would stay silent.

Nothing else. What do you mean by your question? :see_no_evil::sweat_smile:


#27

There are a huge number of devices that can handle just about any multichannel audio format you can throw at them. As an example, I have a Netgear NeoTV 550, and if you want to stream audio to an AVR with no worry about channel mapping, get a used one. It’s easily the equal of the Vero (and in some ways superior) as far as audio is concerned.

There are also a huge number of devices that can handle 4K video, and I suspect that all will handle all those audio formats. The point of the Vero 4K is it does both with the underpinnings being a rock-solid, fully open source OS with a selection of software that no other media OS can touch.

Then play back the original source, which likely had a format that didn’t need to be streamed as PCM. Really, the Vero is for playing rips, and if you rip the content, you have to know the limitations of your device, and act accordingly.

Another alternative:

5.1 source is L+R+C+LFE+LS+RS. This is what Vero 4K does to it, when outputting 8 channels:

L -> L
R -> R
C -> C
LFE -> LFE
LS -> LSS
RS -> RSS
(silence) -> LSR
(silence) -> RSR

What if, instead, OSMC did the following:

L -> L
R -> R
C -> C
LFE -> LFE
(silence) -> LSS
(silence) -> RSS
LS -> LSR
RS -> RSR

Now, 5.1 source on a 7.1 speaker system will have the surrounds at the back, where you feel they should be.

Again, this assumes that output as 5.1 can’t be done because of the chipset. We’d all rather have that, but if not, we need to agree on a fix that is easy and acceptable to the majority.


#28

Hi folks, what about to make it configurable in the Settings->System->Audio menu of the Vero4k?

Remember, we are only talking about 6 channel audio being converted to 8 channel PCM, I’m using the nomenclature to be found here:

Surround Speaker Setting:

original - 6-ch-rears are mapped to 8-ch-rears, 8-ch-alternative-rears get zero signal

swapped - 6-ch-rears are mapped to 8-ch-alternative-rears, 8-ch-rears get zero signal

doubled - 6-ch-rears are mapped to 8-ch-rears AND 8-ch-alternative-rears

To make it user configurable one get the highest freedom of choice.


#29

Best option would still be - for me at least - to get everything done by the AVR…

Sam has already said what he prefers… So, let’s wait what might happen. Still, there’s no fix promised. :wink:


#30

Yeah, what Sam wants is the right thing, but it all depends on the SoC vendor. What I am talking about now is what to do if 6-channel only output isn’t possible from the SoC.

Having some sort of configuration in MyOSMC (or the “System” settings page) where the user indicates the actual speaker hardware they have and let Sam & company use that to automatically re-map channels, or have a config where the user indicates some sort of explicit re-mapping (like what @JimKnopf said very well) would seem to be the best workaround.

The question is…does anybody see any issues with that sort of config (assuming, of course, it works as it is supposed to) where it would be impossible to automatically do the right thing in all cases, even with such a config.


#31

The I2S doesn’t support 5.1 directly.

But with HDMI TX, when we send the infoframes, we can configure AUD_DB packet for 5.1.

So we might be able to tell the amp we’re only sending 5.1 channels; but it could cause some smart amps to get confused or think there are still 7.1 channels.

There’s also the possibility to mask channels.

It’s pretty clear when Kodi tries to open 5.1 channels, fails, and falls back to 7.1.

We could possibly use this to inform the kernel via a sysfs parameter that we only want 5.1 and fix it up there. Then the only requirement would in theory be that the user selects 5.1 output in Kodi.


#32

Didn’t you say once that AMLogic wanted to look into maybe adding other sink configurations than 2 and 8? Or did they come to the conclusion that they can’t do anything about it?

This would mean, sending 7.1 PCM channels, but telling the amp (via HDMI infoframes) to only use 5.1 of them, if it’s a 5.1 PCM audio file that’s being played back? So, tricking the amp into ignoring the blank channels?
Sounds exactly like what’s needed, if the basic behaviour can’t be altered (but I see what the difficulties might be: more problems down the road).

How would masking work?

But this sounds very much like a manual setting by the user would be required when playing back 5.1 PCM audio and it wouldn’t work automatically… Or am I misunderstanding?


#33

Yes – but in true AML fashion, for new chips only.
We don’t need processing / DSP for this; so there is no benefit anyway.

Not really. We expect people to configure their audio settings already for things to work correctly, for example passthrough capabilities etc.


#34

:man_facepalming:t2::see_no_evil::rofl:

Ok, I understand… So, if the audio layout is set to 5.1 channels in the settings, you’d prevent Kodi from falling back to 7.1 channels?
What about when it’s set to 7.1 and the possibility of “masking channels” (which you said), how would it work to prevent blank channels from being sent? Or is masking the same as the infoframe approach?
Just didn’t get what masking would be or how it would work. :see_no_evil: Sry, being very curious here…


#35

Kodi will attempt to open the sink for the number of channels it needs.

Kodi tries to open the sink with 6 channels, and fails. It falls back to 7.1 but we signal to the kernel via sysfs to mask.

The fix (if it can be made to work) is therefore in HDMI TX itself.


#36

Now I get it, I think… As soon as 5.1 channel sinks can’t be opened by Kodi, Kodi opens 7.1 instead, the kernel is signalled that 5.1 channels would only be needed, let’s Kodi open 7.1 sinks, but sends infoframes to the AVR to let the AVR know that it should just use 5.1 channels although 7.1 are being sent.

Correct?


#37

That’s right.


#38

That sounds like a great solution.

The testing will be a PITA, though, since there are some AVRs that are either too smart or too dumb for their own good.


#39

If we can do this, it can be made as a GUI setting for a couple of months until it’s tested fully.


#40

Sounds like a very smart workaround :+1:t2: Hoping very much that you can make it work!

So, in theory, if this was to work properly (if, if), shouldn’t this allow for basically any channel layout to be sent (from 2.0, 3.0, 4.0… to 7.1)?

Definitely! If you know about it… The Denon Atmos issue is the best example for a set of dumb AVRs :joy: