Cannot get center and rear channels to work properly Pulseaudio

Discussion in 'Linux Audio / Video' started by ryanvade, Jul 20, 2014.

  1. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
    This has been driving me crazy all week. :mad: I can't hear what is being said when watching movies. Especially surround sound movies. I am using Pulse with PlexHT on my HTPC. Audio/video is going out of an Nvidia GT 520 to my Tv. I have a 5.1 surround system and for some reason I cannot get the center and rear audio channels to work. No sound from them. I have read the wiki pages soo many times now. No idea what to do. Here are my config files:
    daemon.conf:
    Code:
    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software
    # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    # USA.
    
    ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
    ## more information. Default values are commented out.  Use either ; or # for
    ## commenting.
    
    ; daemonize = no
    ; fail = yes
    ; allow-module-loading = yes
    ; allow-exit = yes
    ; use-pid-file = yes
    ; system-instance = no
    ; local-server-type = user
    ; enable-shm = yes
    ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
    ; lock-memory = no
    ; cpu-limit = no
    
    ; high-priority = yes
    ; nice-level = -11
    
    ; realtime-scheduling = yes
    ; realtime-priority = 5
    
    exit-idle-time=0
    ; exit-idle-time = 20
    ; scache-idle-time = 20
    
    ; dl-search-path = (depends on architecture)
    
    ; load-default-script-file = yes
    ; default-script-file = /etc/pulse/default.pa
    
    ; log-target = auto
    ; log-level = notice
    ; log-meta = no
    ; log-time = no
    ; log-backtrace = 0
    
    ; resample-method = speex-float-1
    ; enable-remixing = yes
    ; enable-lfe-remixing = no
    
    ; flat-volumes = yes
    
    ; rlimit-fsize = -1
    ; rlimit-data = -1
    ; rlimit-stack = -1
    ; rlimit-core = -1
    ; rlimit-as = -1
    ; rlimit-rss = -1
    ; rlimit-nproc = -1
    ; rlimit-nofile = 256
    ; rlimit-memlock = -1
    ; rlimit-locks = -1
    ; rlimit-sigpending = -1
    ; rlimit-msgqueue = -1
    ; rlimit-nice = 31
    ; rlimit-rtprio = 9
    ; rlimit-rttime = 1000000
    
    ; default-sample-format = s16le
    ; default-sample-rate = 44100
    ; alternate-sample-rate = 48000
     default-sample-channels = 6
     default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
    
    ; default-fragments = 4
    ; default-fragment-size-msec = 25
    
    ; enable-deferred-volume = yes
    ; deferred-volume-safety-margin-usec = 8000
    ; deferred-volume-extra-delay-usec = 0
    default.pa:
    Code:
    #!/usr/bin/pulseaudio -nF
    #
    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    
    # This startup script is used only if PulseAudio is started per-user
    # (i.e. not in system mode)
    
    .nofail
    
    ### Load something into the sample cache
    #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
    #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
    
    .fail
    
    ### Automatically restore the volume of streams and devices
    load-module module-device-restore
    load-module module-stream-restore
    load-module module-card-restore
    
    ### Automatically augment property information from .desktop files
    ### stored in /usr/share/application
    load-module module-augment-properties
    
    ### Should be after module-*-restore but before module-*-detect
    load-module module-switch-on-port-available
    
    ### Load audio drivers statically
    ### (it's probably better to not load these drivers manually, but instead
    ### use module-udev-detect -- see below -- for doing this automatically)
    #load-module module-alsa-sink
    #load-module module-alsa-source device=hw:0,7
    #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
    #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
    #load-module module-null-sink
    #load-module module-pipe-sink
    
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ### Use the static hardware detection module (for systems that lack udev support)
    load-module module-detect
    .endif
    
    ### Automatically connect sink and source if JACK server is present
    .ifexists module-jackdbus-detect.so
    .nofail
    load-module module-jackdbus-detect channels=2
    .fail
    .endif
    
    ### Automatically load driver modules for Bluetooth hardware
    .ifexists module-bluetooth-policy.so
    load-module module-bluetooth-policy
    .endif
    
    .ifexists module-bluetooth-discover.so
    load-module module-bluetooth-discover
    .endif
    
    ### Load several protocols
    .ifexists module-esound-protocol-unix.so
    load-module module-esound-protocol-unix
    .endif
    load-module module-native-protocol-unix
    
    ### Network access (may be configured with paprefs, so leave this commented
    ### here if you plan to use paprefs)
    #load-module module-esound-protocol-tcp
    #load-module module-native-protocol-tcp
    #load-module module-zeroconf-publish
    
    ### Load the RTP receiver module (also configured via paprefs, see above)
    #load-module module-rtp-recv
    
    ### Load the RTP sender module (also configured via paprefs, see above)
    #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
    #load-module module-rtp-send source=rtp.monitor
    
    ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
    ### Please keep in mind that the modules configured by paprefs might conflict with manually
    ### loaded modules.
    .ifexists module-gconf.so
    .nofail
    load-module module-gconf
    .fail
    .endif
    
    ### Automatically restore the default sink/source when changed by the user
    ### during runtime
    ### NOTE: This should be loaded as early as possible so that subsequent modules
    ### that look up the default sink/source get the right value
    load-module module-default-device-restore
    
    ### Automatically move streams to the default sink if the sink they are
    ### connected to dies, similar for sources
    load-module module-rescue-streams
    
    ### Make sure we always have a sink around, even if it is a null sink.
    load-module module-always-sink
    
    ### Honour intended role device property
    load-module module-intended-roles
    
    ### Automatically suspend sinks/sources that become idle for too long
    load-module module-suspend-on-idle
    
    ### If autoexit on idle is enabled we want to make sure we only quit
    ### when no local session needs us anymore.
    .ifexists module-console-kit.so
    load-module module-console-kit
    .endif
    .ifexists module-systemd-login.so
    load-module module-systemd-login
    .endif
    
    ### Enable positioned event sounds
    load-module module-position-event-sounds
    
    ### Cork music/video streams when a phone stream is active
    load-module module-role-cork
    
    ### Modules to allow autoloading of filters (such as echo cancellation)
    ### on demand. module-filter-heuristics tries to determine what filters
    ### make sense, and module-filter-apply does the heavy-lifting of
    ### loading modules and rerouting streams.
    load-module module-filter-heuristics
    load-module module-filter-apply
    
    # X11 modules should not be started from default.pa so that one daemon
    # can be shared by multiple sessions.
    
    ### Load X11 bell module
    #load-module module-x11-bell sample=bell-windowing-system
    
    ### Register ourselves in the X11 session manager
    #load-module module-x11-xsmp
    
    ### Publish connection data in the X11 root window
    #.ifexists module-x11-publish.so
    #.nofail
    #load-module module-x11-publish
    #.fail
    #.endif
    
    ### Make some devices default
    #set-default-sink output
    #set-default-source input
    
    load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
    system.pa:
    Code:
    #!/usr/bin/pulseaudio -nF
    #
    # This file is part of PulseAudio.
    #
    # PulseAudio is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    #
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    
    # This startup script is used only if PulseAudio is started in system
    # mode.
    
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ### Use the static hardware detection module (for systems that lack udev/hal support)
    load-module module-detect
    .endif
    
    ### Load several protocols
    .ifexists module-esound-protocol-unix.so
    load-module module-esound-protocol-unix
    .endif
    load-module module-native-protocol-unix
    
    ### Automatically restore the volume of streams and devices
    load-module module-stream-restore
    load-module module-device-restore
    
    ### Automatically restore the default sink/source when changed by the user
    ### during runtime
    ### NOTE: This should be loaded as early as possible so that subsequent modules
    ### that look up the default sink/source get the right value
    load-module module-default-device-restore
    
    ### Automatically move streams to the default sink if the sink they are
    ### connected to dies, similar for sources
    load-module module-rescue-streams
    
    ### Make sure we always have a sink around, even if it is a null sink.
    load-module module-always-sink
    
    ### Automatically suspend sinks/sources that become idle for too long
    load-module module-suspend-on-idle
    
    ### Enable positioned event sounds
    load-module module-position-event-sounds
    aplay -l:
    Code:
    **** List of PLAYBACK Hardware Devices ****
    card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
      Subdevices: 0/1
      Subdevice #0: subdevice #0
    card 1: VT82xx [HDA VIA VT82xx], device 0: ALC883 Analog [ALC883 Analog]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: VT82xx [HDA VIA VT82xx], device 1: ALC883 Digital [ALC883 Digital]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    Looking at pactl I noticed some weird channel mapping:
    Code:
    Server String: /run/user/1000/pulse/native
    Library Protocol Version: 29
    Server Protocol Version: 29
    Is Local: yes
    Client Index: 3
    Tile Size: 65472
    User Name: ryanvade
    Host Name: ryanvade-plex
    Server Name: pulseaudio
    Server Version: 5.0
    Default Sample Specification: s16le 6ch 44100Hz
    Default Channel Map: front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
    Default Sink: alsa_output.pci-0000_02_00.1.hdmi-surround-extra1
    Default Source: alsa_output.pci-0000_02_00.1.hdmi-surround-extra1.monitor
    Cookie: 25e5:3d12
    
    I have no idea where these extra channels are coming from. The extra-hdmi.conf file with the hdmi-surround-extra1 profile does not mention any of these other channels.

    What shoul I do to get center/rear channels working?

  2. arochester

    arochester Well-Known Member

    Messages:
    824
    Likes Received:
    267
    Trophy Points:
    63
    Which wiki? A URL might be useful.

    (I only know the theory and don't have practical experience.)

    Have you killed and restarted Pulseaudio, or restarted your HTPC? (Maybe as a Server it isn't often restarted?)

    Have you checked Alsamixer to check that all channels are muted?

    Have you tried in a Terminal: speaker-test -c 6
    Last edited: Jul 20, 2014
  3. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
    ah sorry. More info. :)
    https://wiki.archlinux.org/index.php/Pulseaudio

    Pulse was killed and resurrected numerous times. The server was restarted numerous times. I did use the speaker-test command. Only front-left/right worked.
  4. Yesyesloud

    Yesyesloud Active Member

    Messages:
    257
    Likes Received:
    126
    Trophy Points:
    43
    Be brave, forum pal. I often experience problems with Pulse scattering audio for longer than acceptable while volume is raised/lowered.

    Does anyone know of an audio sink more functional for my humble stereo audio? Pure alsa also won't make it (Hijacking, I know)
    ryanvade likes this.
  5. arochester

    arochester Well-Known Member

    Messages:
    824
    Likes Received:
    267
    Trophy Points:
    63
    How about:
    https://wiki.archlinux.org/index.php/PulseAudio/Examples#HDMI_output_configuration

    There is a heading:
    HDMI output configuration
    which suggests a particular problem with Nvidia cards
    and a sub-heading
    Manually configuring PulseAudio to detect the Nvidia HDMI
    which gives an example
    whereas you have two lines:
    ???
    ryanvade likes this.
  6. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
    A suggestion from the Arch forums:
    Code:
    load-module module-alsa-sink sink_name=HDMI_OUT device=hw:0,7  channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
  7. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
  8. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
    After re-reading the wiki pages, hours of tinkering, I decided to check if a hardware problem could be happening. I am using pc surround sound with a tv, which means I have to convert from digital-analog. It turns out the converter broke.

    I connected the analog connectors to the built-in connectors and I get full surround sound. Unfortunately internet TV/Bluray disks cannot play 5.1 surround but I rarely use them.
  9. ryanvade

    ryanvade Administrator Staff Member Staff Writer

    Messages:
    1,239
    Likes Received:
    418
    Trophy Points:
    83
    OSS ?
    https://wiki.archlinux.org/index.php/Open_Sound_System

Share This Page