Audio Setting Questions
#1
I have a few somewhat general questions regarding the audio settings under System > Audio. In case it matters, I'm using Krypton on a Shield TV (2015) > HDMI > Onkyo TX-SR607 > HDMI > TV.

1) I haven't been able to find a good explanation for the 'Audio output configuration' setting (Fixed / Optimized / Best match). I've seen multiple posts and websites that recommend which setting to use (usually best match), and I've seen an explanation or two of the settings and what they do, but I've not seen anything in layman's terms that I can really make good sense of it, at least to the point of being able to decide for myself which setting to use. If somebody could at least tell me if best match is the best to use, and ideally why, that would be great, though I'd really like to be able to understand them better.

2) What does the 'Send low volume noise' setting do? I assume it's associated with the 'Keep audio device alive' setting and is a way to perform that function, but I can't find any info on this setting anywhere. Also, I assume the keep alive setting is to prevent the AVR from sleeping and causing a delay when resuming playback due to it taking a while to detect the stream, in which case I've only had issues with this in the past when bitstreaming, not when having an external device perform the decoding, which would seem to imply these settings are only applicable when using passthrough. Is that correct?

3) Why are the number of channels supposed to be set to 2.0 for pass through, since passing it through shouldn't depend on any such settings in Kodi but rather be dependent solely on the receiver and its settings? I see this recommended not only for Kodi but for Windows as well, and I've never understood or seen an explanation why.
Reply
#2
Thread moved to Android
|Banned add-ons (wiki)|Forum rules (wiki)|VPN policy (wiki)|First time user (wiki)|FAQs (wiki) Troubleshooting (wiki)|Add-ons (wiki)|Free content (wiki)|Debug Log (wiki)|

Kodi Blog Posts
Reply
#3
1) This governs how audio is setup for files played, so:

Best Match

This looks at the audio properties of the file and picks the output format that most closely fits those properties out of the supported formats your device reports to Kodi.

Benefits - If your device supports all the audio for formats contain in your files then it's to get works called "bit perfect" through, in laymans terms what we send exactly matches what we receive from the files, so 5.1 in for example will always result in 5.1 out.

Downside - each time the properties received from the file changes then the audio system needs to be reinitialised with those new properties and some hardware does like this, so may result in very small audio drop outs as the hardware such as AVR copes with the change in what Kodi sends.

Optimised

This minimises changes in the audio properties of what Kodi sends, so it won't always exactly match the properties of the file, so in a playlist of files we take the properties of the 1st file and that is used for all subsequent files in the playlist even if they have different audio properties.

Benefits - for hardware sensitive to audio property changes this minimises the chance of things like audio drop outs.

Downside - If watch a live stream, if when you start watching it's send 5.1 then that is how audio is set up, if during a commercial break audio changes to 2.0 then we still send 5.1 , alternatively if you start watching during a commercial break with 2.0 audio then the TV show starts it's 5.1 then we still send audio as 2.0

Fixed

This is only available for audio we decode for sending as PCM as we must always have the ability to resample the audio. This is used where where hardware is sensitive to any change in audio properties, or the hardware does not perform well with certain sample rates.

Benefits - audio should always be playable without any audible issues.

Downside - not possible with passthrough audio, and depending on the audio properties of your files could result in audio being resampled a lot of the time.

2) The 'Keep audio device alive' setting keeps the audio device alive at the Kodi end, so where we need exclusive access to the audio device we maintain a lock on the audio device or other programs can't grab access from underneath Kodi. This is mainly an issue with Linux and Windows audio systems, I don't believe it's possible to get exclusive access on Android.

The 'Send low volume noise' setting ensures an active audio stream is sent to whatever external device you use for generating the sound (TV with speaker or AVR with speakers) as some hardware will drop the audio connection if it does see any incoming audio, this then prevents the possibility of the very start of a audio stream not being heard while the audio connection gets started backup. The 'Send low volume noise' setting is optional because although the noise pattern is done in such a way it should never be audible so all the human ear should hear is silence, however in practice some external hardware may alter what it received and end up producing some audible effect that the user can hear and may not be very pleasant.

3) Don't know where you got this from as it it wrong, "Number of channels" is only every used for sending audio decoded to PCM and has no effect on passthrough audio.

The only situation that may cause confusion to some is when HDMI is used and you are connected to a device such as a TV where the device will only support 2.0 channels and not the 5.1/7.1 that HDMI is capable of "Number of channels" must to set to 2.0 for Kodi to display the correct options for that type of connection. For example the AC3 transcoding option only gets shown for a HDMI device when "Number of channels" is set to 2.0, as many TV's will only support decoding AC3 audio, so this option allows DTS for example to be decoded and then re-encoded to AC3.
Reply
#4
Thanks for the detailed response. Things are definitely making more sense, though I do have a few questions to expand on what you've said.

1) I now see why 'best match' is typically recommended, and based on your explanation it does seem to be the best choice for me. To clarify, the audio properties that would cause it to change what it sends to the receiver would only change between files or when switching between a TV show and commercial, for example, but not when watching a Bluray movie or a TV show without commercials (e.g. from Netflix or disc), correct? Also, you say fixed requires Kodi to decode the audio, which makes sense, but it seems that optimized would also require this, as well as even best match sometimes. Or does changing the number of channels being fed out of Kodi not require decoding, and is the number of channels the only audio property of concern with this setting?

2) So it sounds like 'Keep audio device alive' is not at all what I was thinking, and probably doesn't do anything on Android, whereas the 'Send low volume noise' setting is exactly what I was thinking. I'm still curious if that only matters when bitstreaming, as that's when I had problems with delay in audio playback while the receiver recognized and activated the stream when using other setups, whereas having the decoding done before sending it to the receiver seemed to alleviate the problem. So since I have Kodi doing the decoding, I may not need to use it. Either way, since I'm not getting any audible noise using it, I suppose it can't hurt, but I'll play with it just out of curiosity.

3) I've also read that the number of channels should be set at how many channels your device (AVR/TV) supports, NOT how many speakers are actually attached. So if you are feeding a 7.1 receiver with a 5.1 speaker setup, you would set it to 7.1. Is this correct? If that's the case, how does this work? I assume the 7.1 PCM is sent to the receiver which knows there's only 5.1 channels so it takes the 7.1 feed and downmixes it to 5.1? Otherwise those 2 additional channels would simply be lost.
Reply
#5
1) I now see why 'best match' is typically recommended, and based on your explanation it does seem to be the best choice for me. To clarify, the audio properties that would cause it to change what it sends to the receiver would only change between files or when switching between a TV show and commercial, for example, but not when watching a Bluray movie or a TV show without commercials (e.g. from Netflix or disc), correct? Also, you say fixed requires Kodi to decode the audio, which makes sense, but it seems that optimized would also require this, as well as even best match sometimes. Or does changing the number of channels being fed out of Kodi not require decoding, and is the number of channels the only audio property of concern with this setting?

If the audio properties of the source changes then Kodi will always attempt to change the the audio properties we send to match is "best match" is enabled, if there's never any change in the audio properties of the source then Kodi keep audio device alive with existing properties until it does see a change. If a TV stream where the show and commercials are 5.1 then we just keep sending 5.1 audio, however this is quite rare, it's more usual for only the show itself to be 5.1, however some find the switching between 5.1 to 2.0 and then back to 2.0 to be irritating particularly if their AVR for example is slow to react to this change (thankfully not normally the case with most modern AVR's).

Yes you are right that "Optimised" can also result in resampling, but here it only done when necessary to prevent the possibility of any audible artefacts.


2) So it sounds like 'Keep audio device alive' is not at all what I was thinking, and probably doesn't do anything on Android, whereas the 'Send low volume noise' setting is exactly what I was thinking. I'm still curious if that only matters when bitstreaming, as that's when I had problems with delay in audio playback while the receiver recognized and activated the stream when using other setups, whereas having the decoding done before sending it to the receiver seemed to alleviate the problem. So since I have Kodi doing the decoding, I may not need to use it. Either way, since I'm not getting any audible noise using it, I suppose it can't hurt, but I'll play with it just out of curiosity.

Well 'Keep audio device alive' does ensure the audio device (HDMI/SPDIF) is always ready to send audio so there's no possibility of delay or missed audio caused by the device on which Kodi is installed.

Then 'Send low volume noise' does the same for the far end audio device (HDMI/SPDIF) so it's always ready to receive audio so there's no possibility of delay or missed audio caused by the TV/AVR/whatever.


3) I've also read that the number of channels should be set at how many channels your device (AVR/TV) supports, NOT how many speakers are actually attached. So if you are feeding a 7.1 receiver with a 5.1 speaker setup, you would set it to 7.1. Is this correct? If that's the case, how does this work? I assume the 7.1 PCM is sent to the receiver which knows there's only 5.1 channels so it takes the 7.1 feed and downmixes it to 5.1? Otherwise those 2 additional channels would simply be lost.

Here we start getting into personal preferences.

My view point to to always send audio at the highest possible level, therefore is Kodi can send 7.1 and the AVR supports 7.1 then yes configure Kodi for 7.1 even if the AVR has only 5.1 speakers connected, as if AVR is configured correctly it will downmix any 7.1 it received to 5.1 so no audio is lost.

So it just a question of where that downmix happens, there's no right or wrong unless there's a bug with downmixing at one of the ends.
Reply
#6
Example might illustrate.

In a video playlist with next file set to play automatically.

Best Match
File 1: aac 48khz/s 5.1 - pcm 48khz/s 5.1
File 2: aac 48khz/s 2.0 - pcm 48khz/s 2.0
File 3: aac 96khz/s 5.1 - pcm 96khz/s 5.1
Result: All files played with original sample rate and number of channels.

Optimised
File 1: aac 48khz/s 5.1 - pcm 48khz/s 5.1
File 2: aac 48khz/s 2.0 - pcm 48khz/s 5.1
File 3: aac 96khz/s 5.1 - pcm 48khz/s 5.1
Result: 2 files played with original sample rate and 2 files with the original number of channels.

Fixed (44.1kHz/s 2.0)
File 1: aac 48khz/s 5.1 - pcm 44.1kHz/s 2.0
File 2: aac 48khz/s 2.0 - pcm 44.1kHz/s 2.0
File 3: aac 96khz/s 5.1 - pcm 44.1kHz/s 2.0
Result: No file is played with original sample rate and only one with the orignal number of channels .

Note 'Audio output configuration' setting only applies to audio we decode to PCM.
Reply
#7
(2017-04-05, 16:54)jjd-uk Wrote: My view point to to always send audio at the highest possible level, therefore is Kodi can send 7.1 and the AVR supports 7.1 then yes configure Kodi for 7.1 even if the AVR has only 5.1 speakers connected, as if AVR is configured correctly it will downmix any 7.1 it received to 5.1 so no audio is lost.

So it just a question of where that downmix happens, there's no right or wrong unless there's a bug with downmixing at one of the ends.[/i][/b]

So the AVR will downmix it even if the signal is received in PCM format? Obviously it will if it receives it as DTS/DD/etc, as the AVR is doing the decoding, but I wasn't sure if Kodi was decoding and sending the PCM signal to the AVR if there would be further processing done or if the AVR simply does a passthrough on that to the appropriate channels, which would result in the last two channels going nowhere if those speakers aren't hooked up.

(2017-04-05, 16:57)jjd-uk Wrote: Note 'Audio output configuration' setting only applies to audio we decode to PCM.

OK. This is what I was thinking based on what you were saying, and that makes sense. So if using pass through this setting doesn't apply. Also, in your example for fixed, you said none of the files would play wit the original sample rate, but actually the third file would. But the example does help to clear things up, as does everything else, so thank you for taking the time to detail it out like that.
Reply
#8
Anything requiring audio manipulation must always be done in the PCM domian, this is the reason for example that with passthrough the Kodi volume control won't work, as only the TV/AVR or whatever is receiving the audio and decoding it has access to the PCM data.

Taking DTS-HD as an example, possible audio paths:

DTS-HD 7.1 -> Kodi decodes -> PCM 7.1 -> Kodi downmix to 5.1 -> PCM 5.1 -> HDMI out (Kodi device) -> HDMI In (AVR) -> PCM 5.1 -> D/A -> 5.1 speakers

DTS-HD 7.1 -> Kodi decodes -> PCM 7.1 -> HDMI out (Kodi device) -> HDMI In (AVR) -> PCM 7.1 -> AVR downmix to 5.1 -> PCM 5.1 -> D/A -> 5.1 speakers

DTS-HD 7.1 -> HDMI out (Kodi device) -> HDMI In (AVR) -> DTS-HD 7.1 -> AVR decodes -> PCM 7.1 -> AVR downmix to 5.1 -> PCM 5.1 -> D/A -> 5.1 speakers
Reply
#9
(2017-04-05, 17:12)vertigo220 Wrote: Also, in your example for fixed, you said none of the files would play wit the original sample rate, but actually the third file would. But the example does help to clear things up, as does everything else, so thank you for taking the time to detail it out like that.

You spotted my mistake, now corrected to show what I actually meant, since file properties should have been exactly the same for all 3 scenarios.
Reply
#10
I have read all of this thread and I’m still confused 🙄

Please Can someone just tell me what settings I need? 🤦‍♂️

I have a 5.1 home cinema speaker setup
1 subwoofer
2 front speakers
1 centre speaker
2 rear surround speakers

My AV amp is a Denon AVR-X2200W Amp, this amp is a 7.1 capable amp

I’ve just installed latest version of KODI and in the system options in the audio setting on EXPERT mode, I don’t know whether to select 2.0 or 5.1 for my setup where it says “number of channels” I’m only using HDMI from my Amazon Fire TV box into my AV Receiver

I’ve allowed passthrough, is this correct?

have I missed anything or what other settings would you recommend please?
I want to watch films in the best sound possible (obviously)

Getting conflicting information articles I read about HDMI settings

it says to change number of channels to 5.1 and turn OFF “allow passthrough” 🤷🏻‍♂️🙄🤦‍♂️

I’m so confused 🤦‍♂️🤦‍♂️
Reply
#11
Yeah :-)

All depends on what you want. Some people only hear good audio quality if a green light is enabled, that's why they want passthrough ... others more care about A/V sync, they don't enable passthrough. What you should do:
- Set the number of channels you really have, e.g. 5.1*
- If your box allows passthrough and you want that, enable it and the codecs your AVR _AND_ your BOX supports
- I would keep optimized if you change sources often or listen to mixed channel / sample rate audio streams - you can only hear a difference if you concentrate on it anyways

* some boxes are broken and cannot output 5.1, but 7.1 instead -> Hello old amlogic. Other boxes don't have PT support, as they fucked up the implementation and decided for a private API in their shipped players.

Example FireTV 4K directly connected to an AVR with 7.1 speakers
- Speakers 7.1
- Passthrough Allowed. AC3, DD+, DTS enabled, because more the FireTV 4K cannot do
- Sound configuration optimized to not switch forth and back when watching e.g. live tv (commercials switch from 5.1 to 2.0 etc.)

Example FireTV 4K connected to a soundbar via the Optical out from the TV (Firetv -> HDMI-> TV -> SPDIF -> Soundbar)
- Speakers 2.0 (SPDIF interface only allows for 2 pcm channels)
- Passthrough allowed: Enable AC3 (most likely DTS and DD+ won't be supported by the TV in between and it won't work)
- Enable Dolby Transcoding!  Because of the SPDIF shortcoming in the middle, you don't want to end up with 2.0 stereo when you play e.g. DTS, DTS-HD, TrueHD, DD+ and so on - therefore kodi allows Dolby Transcoding to send AC3 from the decoded multi channel input
On systems that allow output of multi-channel, e.g. HDMI with up to 8 channels the Transcoding setting makes limited sense

So, with all those details: 
- If your Android box sucks -> it won't work
- If your TV decides it won't forward Dolby, plug the Device directly into the AVR instead
- and so on ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#12
I’m still confused lol!!

I have the Amazon fire tv box, it’s around 4 or 5 years old now... not sure what generation it is?

I just went on to KODI audio settings and allowed passthrough, changed number of channels to 5.1 and then tried 7.1, both times I was watching a Dolby dts movie and it ONLY came out as PCM!🙄 how come? Is it my box? Is it my HDMI cable? Do I need a new one?

Now when I changed number of channels to 2.0 and enabled passthrough, I get Dolby DTS etc

I’m so confused as to WHY
Reply
#13
So.... is it my 5 year old Amazon Fire TV box?

Maybe I get a brand new amazon box then?

This sort out this weird problem?🤦‍♂️
Reply
#14
Hi everyone!

I have a slightly different situation than the ones described in this thread but I can’t really understand what would be the setting for me.

I have a Beelink GT1 box running Kodi and I will buy a Marantz receiver supporting only PCM and 2.0 setup.

If I play a DTS HD MA track in Kodi, how to setup the audio to make sure that it will output the 2 front channels signals in PCM that the receiver can handle?

I basically cannot fully understand if the DTS HD tracks are made of PCM signals that Kodi will extract based on the setup?

Thanks for your time !
Reply
#15
On the fixed setting, there is a Low, Medium and High option.
Is there a meaningful description of what it means?
Reply

Logout Mark Read Team Forum Stats Members Help
Audio Setting Questions0