LINUX.ORG.RU

Как заставить пульсу понимать 5.1 альсы

 , ,


0

2

Есть настроеная альса, у которой есть корректное распределение по каналам 5.1. Есль пульса, через которую идут большинство прог естесственно. Не удается заставить пульсу понять что default девайс альсы - нормальный 5.1

пробовал default.pa

load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

пробовал там-же load-module module-alsa-sink device=default

в daemon.conf делал default-sample-channels = 6 с default-channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe и без такового.

Попробовал уже в разных комбинациях все эти строки. пульса просто тупо сваливает это всё в «моно» и отдает во все каналы, судя по всему.

Что я упускаю?

Linux chenger-home 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux (18.04)

★★

Есль пульса, через которую идут большинство прог естесственно.

По моему опыту, кроме Firefox (в Ubuntu, в Debian нормально собирают) и приложений из snap через ALSA умеют все. Правда в Debian-based для этого нужно, чтобы пульсы изначально не стояло — я ставлю систему с netinstall, блокирую установку пакета pulseaudio, а потом создаю десктоп.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

ну переставлять систему ради этого не хочется совсем. Как-бы заставить работать именно так?

chenger ★★
() автор топика

Как именно настроен default device в ALSA?

Какая получается ошибка, если сделать load-module module-alsa-sink device=default ?

AEP ★★★★★
()
Ответ на: комментарий от AEP

Прошу продублировать настройки ALSA, чтобы то же самое устройство стало доступно под именем, отличным от default. И потом скормить это в load-module module-alsa-sink.

AEP ★★★★★
()
Ответ на: комментарий от AEP

в asound.conf только

pcm.!default {
    type route
    slave.pcm surround51
    slave.channels 6
    ttable {
      0.5= 0.5
      1.1= 1
      2.4= 1
      3.3= 1
      4.2= 1
      5.0= 1
    }
}
для распределения по колонкам

модуль загружается, смотрел с -vvvvv, ни каких ошибок нет, но все 6 каналов собирает судя по всему в один

Сделал такой-же девайс fiveone в аlsa, добавил этот девайс для альса-синка. то-же самое.

вот на что обратил внимание в логах:

D: [pulseaudio] resampler.c: Resampler:
D: [pulseaudio] resampler.c:   rate 48000 -> 48000 (method copy)
D: [pulseaudio] resampler.c:   format float32le -> s16le (intermediate s16le)
D: [pulseaudio] resampler.c:   channels 2 -> 6 (resampling 2)
D: [pulseaudio] resampler.c: Channel matrix:
D: [pulseaudio] resampler.c:        I00   I01 
D: [pulseaudio] resampler.c:     +------------
D: [pulseaudio] resampler.c: O00 | 1,000 0,000
D: [pulseaudio] resampler.c: O01 | 1,000 0,000
D: [pulseaudio] resampler.c: O02 | 0,500 0,500
D: [pulseaudio] resampler.c: O03 | 0,000 1,000
D: [pulseaudio] resampler.c: O04 | 0,000 1,000
D: [pulseaudio] resampler.c: O05 | 0,500 0,500
понять не могу, это пришло только 2 канала?

chenger ★★
() автор топика
Ответ на: комментарий от AEP

таки после скармливания отдельного девайса вроде получилось чтобы 6 в 6 пошло, только правый-левый перепутаны вроде, это мапингом разберусь и саб молчит...

Спасибо, интересно почему в default он всегда выплевывал моно?...

chenger ★★
() автор топика
Ответ на: комментарий от AEP

теперь интереснее, почти все идет в правые передний и сурраунд каналы. есть подозрение что он в пустые порты что-то отдает. есть какая-то возможность в пульсе делать маппинг например

front-left,front-right,null,null,rear-left,rear-right,null,null,front-center,lfe

в интернете не нашел такого.

В итоге, левые каналы проигрываются через front-right а правые через rare-right, центр откуда-то играет, но не понятно откуда точно, может и везде. саб молчит.

chenger ★★
() автор топика
Последнее исправление: chenger (всего исправлений: 1)
Ответ на: комментарий от chenger

Вообще если PulseAudio установлен, то default по хорошему должен указывать на PulseAudio. Поэтому я и предложил переименовать устройство.

Насколько я понимаю, конфиг ALSA добивается переименовывания каналов и ослабления сабвуфера на 6 dB. Т.е. исправляет неправильное подключение колонок. Того же самого можно добиться без конфигов ALSA, просто через module-remap-sink.

В пустые порты действительно идет сигнал, надо в daemon.conf поставить remixing-use-all-sink-channels = no если мешает.

Кстати, что получается, если PulseAudio запустить вообще без кастомного конфига ALSA?

И еще - недавно в PulseAudio исправили очень серьезный баг именно про звук 5.1, но исправление не зарелизили. Баг в том, что плееры отдают surround-каналы как side-left, side-right, тогда как PulseAudio думает, что таких каналов нет, зато есть rear-left и rear-right, что вообще не то же самое, и пытается перемикшировать. См. патч: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/73156649e76ac4000931990edcdcb3be31aade7b

AEP ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.