[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: speaker-test: no correct sound output on LFE and others speakers



On 02/05/24 at 09:10, Alexandre Rossi wrote:
What's bothering me is that you get sound from multiple speakers while
instructing out on only one.

The usual issues of these setups with surround analog out are:
- channel mapping issues (driver/hardware mismatch)
- software downmixing to stereo

There are other usual issues with surrount digital out but this is not
your setup.

You can have a look at [1] for software fixes on this.

[1]https://alsa.opensrc.org/SurroundSound
The link you posted it shows rather outdated fixes, it talked about Jackd
daemon and surround, but I have pulseaudio daemon, maybe I've pulseaudio
daemon misconfiguration
My understanding is that pulseaudio uses alsa for kernel interface and
that speaker-test uses alsa directly. So if one cannot get speaker-test
to sound right, it cannot work with pulseaudio. That why I suggest workarounds
in alsa conf (asoundrc).

I tried several configurations of ~/.asoundrc in these days but nothing works with "speaker-test". Well some configurations let "aplay" to use rear-left, rear-right, front-center speakers but "speaker-test" never sends sound to front-center, rear-left, rear-right and LFE with this command:

~$ LC_ALL=C speaker-test -c 6 -D surround51 -t wav

speaker-test 1.2.8

Playback device is surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 349504
Period size range from 32 to 174752
Using max buffer size 349504
Periods = 4
was set period_size = 174752
was set buffer_size = 349504
 0 - Front Left
 4 - Front Center
 1 - Front Right
 3 - Rear Right
 2 - Rear Left
 5 - LFE
Time per period = 21.908826
 0 - Front Left
^C 4 - Front Center
Transfer failed: Bad address

In place of "surround51" I've set the pcm.XXXXX specified in ~/.asoundrc trying so several configurations. Just now, checking the ALSA configuration in /etc/alsa/conf.d/ I found the 99-pulse.conf file:

~# cat /etc/alsa/conf.d/99-pulse.conf
# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.
hook_func.pulse_load_if_running {
        lib "libasound_module_conf_pulse.so"
        func "conf_pulse_hook_load_if_running"
}

@hooks [
        {
                func pulse_load_if_running
                files [
                        "/usr/share/alsa/pulse-alsa.conf"
                ]
                errors false
        }
]

Does Debian use Pulseaudio daemon as default output for ALSA applications? Could it be a Pulseaudio misconfiguration? Should I try to uninstall it or how can I stop Pulseaudio? If I do "killall pulseaudio" it re-spawns immediately and "systemctl" doesn't work:

~# systemctl stop pulseaudio
Failed to stop pulseaudio.service: Unit pulseaudio.service not loaded.

Any help it's very appreciated, thanks in advance.
--
Franco Martelli


Reply to: