2013-05-16, 18:55
Yes, I'm running openelec.
(2013-05-16, 12:38)puntloos Wrote: The problem is that the stereo channel currently is the 'sum of all channels' - meaning that indeed sound that is 100% rear also comes through my front speakers.
Perhaps this is what someone might want who wants to watch a movie on a stereo system, but in MY case I have different needs. My intended setup (or one of them, at least) will only send front left, center and front-right to the stereo channel. The trouble though is that with mixing multiple channels (especially 5.1 or 7.1) into two means you could go over the channel's limit. You need to pre-amplify (or rather attenuate) the channels before mixing, else you might run into clipping IF the mix is already pretty loud, which is common for TV shows and uncommon for movies.
This is why Matthias T for example used this mixing matrix:
Code:# Different routing setting taken from http://wiki.ubuntuusers.de/.asoundrc
ttable.0.0 1
ttable.1.1 1
ttable.2.0 0.707
ttable.3.1 0.707
ttable.4.0 0.5
ttable.4.1 0.5
ttable.5.0 0.5
ttable.5.1 0.5
Suggest you try something like this and report back =)
(2013-05-16, 15:24)puntloos Wrote: On another note, has anyone figured out how XBMC decides on the names for the audio output device in Settings -> System -> Audio ?
I'd love it to actually be more descriptive than "Default". (Dual-Audio sounds good...)
(2013-05-16, 23:46)omobeanz Wrote:(2013-05-16, 12:38)puntloos Wrote: The problem is that the stereo channel currently is the 'sum of all channels' - meaning that indeed sound that is 100% rear also comes through my front speakers.
Perhaps this is what someone might want who wants to watch a movie on a stereo system, but in MY case I have different needs. My intended setup (or one of them, at least) will only send front left, center and front-right to the stereo channel. The trouble though is that with mixing multiple channels (especially 5.1 or 7.1) into two means you could go over the channel's limit. You need to pre-amplify (or rather attenuate) the channels before mixing, else you might run into clipping IF the mix is already pretty loud, which is common for TV shows and uncommon for movies.
This is why Matthias T for example used this mixing matrix:
Code:# Different routing setting taken from http://wiki.ubuntuusers.de/.asoundrc
ttable.0.0 1
ttable.1.1 1
ttable.2.0 0.707
ttable.3.1 0.707
ttable.4.0 0.5
ttable.4.1 0.5
ttable.5.0 0.5
ttable.5.1 0.5
Suggest you try something like this and report back =)
Hmmm, this is different to my understanding of how that table works. I thought my setup was sending only channel 0 and 1 to stereo, meaning front right and left only, then sending 7.1 (channels 0, 1, 2, 3, 4, 5, 6, 7, 8) over HDMI. At least that's how it seems to be when I tested it but I could be completely wrong.
(2013-05-16, 23:49)puntloos Wrote: Well no this is a different step. What my quote does is downmixing to stereo. I'm not sure if that is exactly what you want mind you, (or if it does what Matthias wants) but the point is that what you describe sounds like the "sum of the data" you are sending to read exceeds the maximum, so to fix your problem I think you need to 'send less' somehow.
At least that's my theory on what you're hearing. I could be completely wrong too, but just to experiment I would suggest just dropping all inputs to the channels you find distorted to half.
(2013-05-17, 00:39)omobeanz Wrote:(2013-05-16, 23:49)puntloos Wrote: Well no this is a different step. What my quote does is downmixing to stereo. I'm not sure if that is exactly what you want mind you, (or if it does what Matthias wants) but the point is that what you describe sounds like the "sum of the data" you are sending to read exceeds the maximum, so to fix your problem I think you need to 'send less' somehow.
At least that's my theory on what you're hearing. I could be completely wrong too, but just to experiment I would suggest just dropping all inputs to the channels you find distorted to half.
Yeah, looking at the description of ttables on the Alsa page I think I'm doing exactly what I want to do for my set up. I really only want analog stereo output (front right and left) for my amplifier's zone 2 as that has no DAC. The speakers for that are outside on the patio and I only use them for playing music. In this scenario I think my config works great and I don't need/want down-mixing. The issue I hear with the strained audio is just when watching a movie or show inside (5.1 digital only, no zone 2 active). I will test and see if the system is maybe under high load when this happens although it is a fairly powerful HTPC.
(2013-05-27, 13:27)dragonfly28 Wrote: Guess I missed a step somewhere,
But one when I put the .asoundrc file in my homedir. I don't see the audio output device mixed; actually there is no change at all.
Any hints on what trivial step I must have forgotten ?
(did have it working under Eden on XBMCbuntu; upgraded last night from that to Frodo)
Aplay only shows the "old" devices:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
pcm.digital-hw {
type hw
card 0
device 1
}
(2013-05-29, 17:36)Bjur Wrote: Can someone post a working asound.conf on OpenElec 3.03. I have tried all I could find and adjust my HW but no luck:
aplay -1 shows:
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
(2013-06-01, 08:31)Bjur Wrote: Anyone that can give a hint?
# asound.conf for Dual Audio - HDMI (2.0) + Stereo out
# by puntloos
# This should allow you to send audio to two devices, one HDMI (for surround) and one other device, which can be digital or even analog outputs
# 1- Location of asound.conf in OpenELEC is ./storage/.config/asound.conf - create or modify that file.
# 2- Modify the bottom part of the file to match your hardware
pcm.!default {
type plug
slave {
pcm "both_digital"
}
}
# First we create a 'both' route, that has 4 channels
pcm.both_digital {
type route
slave {
pcm multi
channels 4
}
# And we route the channels 1:1
# 2 inputs (0-1) get mapped into 4 outputs (0-3)
# (this is how we copy channels)
ttable.0.0 1.0
ttable.1.1 1.0
ttable.0.2 1.0
ttable.1.3 1.0
}
# Then define a multi device that splits the 4-channel input
# Into 2x 2 output
pcm.multi {
type multi
slaves.a {
pcm "hdmi_hw"
channels 2
}
slaves.b {
pcm "dac_hw"
channels 2
}
# Bind stuff to the HDMI outputs
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
# And to the DAC outputs
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
# And here is my actual hardware
# Note that this is linked to the output of 'aplay -l'
# HDMI output
pcm.hdmi_hw {
type hw
card 0
device 3
channels 2
}
# Stereo output
pcm.dac_hw {
type hw
card 1
device 1
channels 2
}