Summary: | Option to minimally upmix or remap "mono" channel only (for speaker configurations greater than 2.x) | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | freedesktop |
Component: | daemon | Assignee: | pulseaudio-bugs |
Status: | RESOLVED FIXED | QA Contact: | pulseaudio-bugs |
Severity: | normal | ||
Priority: | medium | CC: | lennart |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
freedesktop
2016-03-16 02:58:21 UTC
https://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=a9059be749b6043d6cbc5b79652e8a4adda8994e IF LFE mixing is enabled by default, this mean the mono signal has already pass through the high pass filter can you post the pulseaudio channel matrix in the pulseaudio verbose server log if you are using hda-intel, this may be bug of the driver when playing stereo to 5.1 since it is driver copy front to surround channels https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/hda_codec.c?id=4b3acaf5b56f53ef259a6ddf8e17dcb529631d9b (In reply to freedesktop from comment #0) > * Stereo is upmixed to all channels, instead of being mapped to front-left > and front-right (this happens even with a sink input with "channel map: > front-left,front-right) > * 5.1 goes to the correct channels. Not 100% sure about 7.1 etc. > you may need to mute surround , center/lfe playback switchrwhen playing stereo since snd-hda-intel provide upmix when you play stereo the alternative is to create a control which allow you to enable/disable this upmix by the driver (In reply to Raymond from comment #3) > you may need to mute surround , center/lfe playback switchrwhen playing > stereo since snd-hda-intel provide upmix when you play stereo In which case I should expect upmixing to happen when enable-remixing in PA is disabled, but that is not the case. Am I missing something? (In reply to freedesktop from comment #0) > If remixing is disabled with a 5.1 speaker configuration: > * Stereo goes to front-left and front-right (In reply to Raymond from comment #1) > https://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/ > ?id=a9059be749b6043d6cbc5b79652e8a4adda8994e > > IF LFE mixing is enabled by default, this mean the mono signal has already > pass through the high pass filter I don't have it enabled, but would that be relevant to this issue in any case? It is the hda-intel driver which upmix stereo to 5.1 or 7.1 if card 1 is your hda intel with analog codec speaker-test -c2 -t wav -D hw:1,0 You have to ask the author who wrote the patch "feed front to surround" If you can hear signal from those surround speakers http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/HDA-Intel.conf;hb=HEAD Need to add hook to front device which mute the suuround playback switch so that only front speakers are unmuted (In reply to Raymond from comment #7) > It is the hda-intel driver which upmix stereo to 5.1 or 7.1 > > > if card 1 is your hda intel with analog codec > > > speaker-test -c2 -t wav -D hw:1,0 > > You have to ask the author who wrote the patch > "feed front to surround" With analogue 5.1 I am getting front->rear copying, but not on HDMI 5.1 (which is what I use ordinarily). On HDMI though, with PA remixing enabled, there is still mono and stereo upmix to all 6 channels, so that suggests that PA is doing the upmixing in that case. For hdmi, you have to provide output of xrandr --verbose This contain EDID of your HDMI monitor/receiver https://cgit.freedesktop.org/xorg/app/edid-decode/tree/edid-decode.c (In reply to freedesktop from comment #9) > (In reply to Raymond from comment #7) > > It is the hda-intel driver which upmix stereo to 5.1 or 7.1 > > > > > > if card 1 is your hda intel with analog codec > > > > > > speaker-test -c2 -t wav -D hw:1,0 > > > > You have to ask the author who wrote the patch > > "feed front to surround" > > With analogue 5.1 I am getting front->rear copying, The problem is left and right channel copy to center and LFE (In reply to Raymond from comment #10) > For hdmi, you have to provide output of > > xrandr --verbose > > This contain EDID of your HDMI monitor/receiver > > https://cgit.freedesktop.org/xorg/app/edid-decode/tree/edid-decode.c Shouldn't have any relevance to this bug, or am I missing something? (In reply to Raymond from comment #11) > (In reply to freedesktop from comment #9) > > (In reply to Raymond from comment #7) > > > It is the hda-intel driver which upmix stereo to 5.1 or 7.1 > > > > > > > > > if card 1 is your hda intel with analog codec > > > > > > > > > speaker-test -c2 -t wav -D hw:1,0 > > > > > > You have to ask the author who wrote the patch > > > "feed front to surround" > > > > With analogue 5.1 I am getting front->rear copying, > > The problem is left and right channel copy to center and LFE OK, so you're saying that with analogue PA is only remixing stereo to FL+C+FR+LFE, and only hda-intel is doing front->rear copying? https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/core?id=2d3391ec0ecca37efb6bc995906292f47522b471 There are std and alt channel map, some sound card/hda codec may support center/lfe swap http://voices.canonical.com/david.henningsson/2011/11/29/turn-your-mic-jack-into-a-headphone-jack/ If your stereo speaker is connected to grey jack, you just need pulseaudio to mute side playback switch when playing stereo or surround51 http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=src/conf/cards/HDA-Intel.conf;hb=HEAD Just add hooks to mute side playback switch to front and surround51 and unmute side playback switch to surround71 You've lost me. * Channel maps don't relate to upmixing/remixing do they? * With analogue the speakers are connected to the standard jacks. This issue is also seen with HDMI audio so nothing related to only analogue jack connections will fix it. * You're also describing 7.x (or greater) setups that would include side channels, which I don't have and so can't test, but I'm not sure what the connection is to the initially described issue in any case? Please let me know if this bug is waiting on information from me. you have to provide info of your HDMI https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/patch_hdmi.c?id=5a61358433b1f89b500f2c365746c73cb7a27e2f output of alsa-info.sh xrandr --verbose your HDMI receiver EDID This is now fixed in the "next" branch. There's a new daemon.conf option, "remixing-use-all-sink-channels". By default it's set to "yes", which keeps the old remixing behaviour. Setting the option to "no" changes the remixing logic so that we don't try to fill all output channels if there are no corresponding input channels, but all input channels are still mixed to some output. Thanks to David Mandelberg for implementing the change, and to Alexander Patrakov for coming up with the idea! Fantastic, thanks! So this new option will, for example, route a mono signal to the centre channel (or to FL+FR?) when outputting to a 5.1, 7.1 etc. setup? Mono audio will go to the center channel when that's available. Otherwise it will go to left+right. If those are not available either, it will go to all channels. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.