Kodi Community Forum

Full Version: Strange 5.1 Issue - channels all reversed?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Firstly I am running a XBMCfreak build - but I understand the two are now closer than ever so thought my chances of a solution were better here. (I did try a Dharma build first but could not get network shares to work)

Anyway - I'm using a Foxconn nt330i connect to an Onkyo amp by HDMI.

In general everything works brilliantly - but I have a couple of films where the sound is all wrong - I seem to have all my centre sound coming from my left rear and no sound at all from my right rear or centre. The front surrounds still supply effects??

This is happening on an untouched DVD rip to mkv and also a Blu Ray rip to MP4?? I'm running 5.1.

Most films are fine but wondered if there is a know issue at all?

Cheers
Just checked some more - it seems everything where the sound is using the AAC format where I have problems.

Going to take one of the films and see if I can change the sound format to see if it helps.


**edit** just converted one from AAC to AC3 - position (front to back) back to the way it should be but right rear channel is still dead?
AAC uses different channel mapping than AC3. Is the audio on those mkv's being bitstreamed or going as LPCM?
Excuse my ignorance but how would I know how XBMC is dealing with the audioHuh On PS3 I always Bitstream to my Onkyo - is there a series of settings I need to enable to ensure thats how its dealt with in XBMC (I'm a noob - sorry!)

Oh and its not just the mkv files it happens on - its mp4 files also. Anything with AC3 (with the exception of the file where I re-encoded from AAC to AC3) or ripped straight to mkv with no adjustments lights up the DD light on the Onkyo no problems and I get the correct audio in all speakers?
Just noticed this older thread in the Windows section

http://forum.xbmc.org/showthread.php?tid=53514

Sounds exactly like my issue - although its stating its fixed - could it still be an issue under Live??
Are you booting xbmc-live from cd or usb, or is it installed to hdd? Which build is it? And what audio settings have you set within xbmc? I made the assumption that your Onkyo can decode AAC...yes?
Booting from SD Card. XBMC Freak Maverick v2 (although I've now switched to OpenElecTV build - same issues sound wise)

Audio settings are:-

HDMI
Speaker Config: 5.1
Boost Volume on Downmix: No
AC3: Yes
DTS: Yes
Audio Output: HDMI
Passthrough: HDMI

Hope thats enough to work on?

Cheers Big Grin
Please post your /etc/asound.conf or .asoundrc

Thanks.
Right - might be being a bit stupid now but I can't find those at all after using WinScp to connect to my machine??

I've never added anything to my install and with both versions all other sound worked straight from the install.

Would those commands be in a different location in the Freak and OpenElec builds??

Blush
Yes. IIRC, in OpenELEC there should be a sample eg asound.conf.sample under /storage/.config (it's been a while since I tried it). If so, rename it to asound.conf then reboot. Let me know what happens and if no changes, post the asound.conf file. Cheers.
Hi again

Tried the change as instructed but it made no difference?

In the asound.conf I have a further 5 files (looks like seperate configs for popular nettops - there's a Shuttle, Revo and Zotac one.

asound.conf_menusound.sample

pcm.!default {
type plug
slave {
pcm "both"
}
}

pcm.both {
type route
slave {
pcm multi
channels 6
}
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
ttable.0.4 1.0
ttable.1.5 1.0
}

pcm.multi {
type multi
slaves.a {
pcm "tv"
channels 2
}
slaves.b {
pcm "receiver"
channels 2
}
slaves.c {
pcm "analog"
channels 2
}
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
bindings.4.slave c
bindings.4.channel 0
bindings.5.slave c
bindings.5.channel 1
}

pcm.tv {
type hw
card 0
device 3
channels 2
}

pcm.receiver {
type hw
card 0
device 1
channels 2
}

pcm.analog {
type hw
card 0
device 0
channels 2
}


and then the Zotac sample just has the following:-

# modprobe.d config for Zotac ZBOX HD-ID11
# This file is part of OpenELEC, many thanks to 'Dampfgarten'
#
# XBMC config:
# SYSTEM -> System -> Audio-Hardware
# Audio Ausgabegerät: HDA NVidia hdmi
# Digitales Ausgabegerät für Passthrough: HDA NVidia hdmi

pcm.!default hdmi:NVidia
pcm:iec958 hdmi:NVidia


Does that help at all?
Actually there is also a asound.conf_doublerevo.sample which seems like the main one so I'll post the contents of that also

# ALSA configuration file

##### USAGE #####
# Save this file as "~/.asoundrc" (for user-specific sound configuration) or
# "/etc/asound.conf" (for system-wide sound configuration) and specify ALSA
# device names ad described in the next section.


##### DEVICE NAMES #####
# This configuration file defines four devices for use by the user. Those
# devices are "analog", "mixed-analog", "digital", and "mixed-digital". The
# user may also re-define "default" to be identical to one of the above-named
# devices (i.e. to send all sound output to the digital output unless otherwise
# specified). Use the device names as described below:
# - "analog" outputs to the analog output directly and (at least on software
# sound cards) blocks other audio output. After playback completes, "queued"
# sounds are output in sequence.
# - "mixed-analog" mixes audio output from multiple programs into the analog
# output (so you can hear beeps, alerts, and other noises while playing back
# an audio stream).
# - "digital" outputs to the digital output directly. Since most (all?)
# digital outputs expect 48kHz PCM audio, this may not work for some playback
# (i.e. CD's--which are 44.1kHz PCM audio--or 32kHz audio streams from TV
# recordings, etc.).
# - "mixed-digital"

# All other devices created within this file are used only by the configuration
# file itself and should /not/ be used directly. In other words, do not use
# the devices "analog-hw", "dmix-analog", "digital-hw", or "dmix-digital".


##### IMPORTANT #####
# To make this ALSA configuration file work with your sound card, you will need
# to define the appropriate card and device information for the "analog-hw" and
# "digital-hw" devices below. You can find the card and device information
# using "aplay -l".

# Alias for (converted) analog output on the card
# - This is identical to the device named "default"--which always exists and
# refers to hw:0,0 (unless overridden)
# - Therefore, we can specify "hw:0,0", "default", or "analog" to access analog
# output on the card
# - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
# "default" to do mixing, meaning this device is different from "default" and
# allows playback while blocking other sound sources (until playback
# completes).
pcm.analog {
type plug
slave.pcm "analog-hw"
hint {
show on
description "Analog Output - Use analog outputs, converting samples, format, and rate as necessary."
}
}

# Control device (mixer, etc.) for the card
ctl.analog {
type hw
card 0
}

# Alias for (converted) mixed analog output on the card
# - This will accept audio input--regardless of rate--and convert to the rate
# required for the dmix plugin (in this case 48000Hz)
# - Note that as of ALSA 1.0.9, "software" sound card definitions redefine
# "default" to do mixing, meaning this device is identical to "default" for
# "software" sound cards.
pcm.mixed-analog {
type plug
slave.pcm "dmix-analog"
hint {
show on
description "Mixed Analog Output - Use analog outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds."
}
}

# Control device (mixer, etc.) for the card
ctl.mixed-analog {
type hw
card 0
}

# Alias for (converted) digital (HDMI) output on the card
pcm.digital {
type plug
slave.pcm "digital-hw"
hint {
show on
description "Digital Output - Use digital outputs, converting samples, format, and rate as necessary."
}
}

# Control device (mixer, etc.) for the card
ctl.digital {
type hw
card 0
}

# Alias for mixed (converted) digital (HDMI) output on the card

pcm.mixed-digital {
type plug
slave.pcm "dmix-digital"
hint {
show on
description "Mixed Digital Output - Use digital outputs, converting samples, format, and rate as necessary. Allows mixing with system sounds."
}
}

# Control device (mixer, etc.) for the card
ctl.mixed-digital {
type hw
card 0
}

# The following devices are not useful by themselves. They require specific
# rates, channels, and formats. Therefore, you probably do not want to use
# them directly. Instead use of of the devices defined above.

# Alias for analog output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.analog-hw {
type hw
card 0
device 0
}

# Control device (mixer, etc.) for the card
ctl.analog-hw {
type hw
card 0
}

# Alias for digital (HDMI) output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.digital-hw {
type hw
card 0
device 3
}

# Control device (mixer, etc.) for the card
ctl.digital-hw {
type hw
card 0
}

# Direct software mixing plugin for analog output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.dmix-analog {
type dmix
ipc_key 1234
slave {
pcm "analog-hw"
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
}

# Control device (mixer, etc.) for the card
ctl.dmix-analog {
type hw
card 0
}

# Direct software mixing plugin for digital (S/PDIF) output on the card
# Do not use this directly--it requires specific rate, channels, and format
pcm.dmix-digital {
type dmix
ipc_key 1235
slave {
pcm "digital-hw"
period_time 0
period_size 1024
buffer_size 4096
rate 48000
}
}

# Control device (mixer, etc.) for the card
ctl.dmix-digital {
type hw
card 0
}

# Make joint analog/HDMI the default
pcm.!default {
type plug
slave {
pcm multi
rate 48000
}
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
}

# Control device (mixer, etc.) for the card
ctl.!default {
type hw
card 0
}

pcm.xbmc {
type plug
slave {
pcm multi
rate 48000
channels 4
}
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
}


ctl.xbmc {
type hw
card 0
}

pcm.multi {
type multi
slaves.a.pcm "analog-hw"
slaves.a.channels 2
slaves.b.pcm "digital-hw"
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}

ctl.multi {
type hw
card 0
}
Hmm. None of those will do. Create an empty asound.conf under
Code:
/storage/.config
(if still using OpenELEC) and add these lines:


Code:
pcm.!hdmi-remap {
  type route
  slave.pcm "hw:0,3"
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.5= 1
    4.2= 1
    5.3= 1
    6.6= 1
    7.7= 1
  }
}

Then set xbmc to audio output to 'hdmi-remap'. Let me know what happens.
Tried it and got a 'Failed to initialize audio device' error - I might have made an error somewhere though so will try again later when the kids are out the way!!

If it sheds more light on it - I get the same issue with my BluRay rips from MakeMKV - ripped a BluRay yesterday (which contains a TrueHD soundtrack) and the dialogue once again is moved to the rear right?
TrueHD (I believe) is sent as LPCM in Linux, and is therefore subject to the channel-mapping wierdness that can happen.

Try this change to your asound.conf

Code:
pcm.!hdmi-remap {
  type asym
  playback.pcm {
    type plug
    slave.pcm "remap-surround71"
  }
}

pcm.!remap-surround71 {
  type route
  slave.pcm "hw:0,3"
  ttable {
    0.0= 1
    1.1= 1
    2.4= 1
    3.5= 1
    4.2= 1
    5.3= 1
    6.6= 1
    7.7= 1
  }
}

You will need to restart alsa for this to take effect (may be what happened with the first try).

Code:
sudo alsa-utils restart
Pages: 1 2