Многоканальный звук в Linux
Многоканальный звук в Linux
Многоканальный звук в Linux
ВНИМАНИЕ!
На смену Пульсаудио пришел PipeWire.
Читаем об этом ниже.
В Linux возникает проблема с включением
многоканального звука на некоторых звуковых кодеках (например ALC662).
Проблема именно с выводом звука через линейный выход (система видит только HDMI).
Решается следующим образом (перед настройкой отключите внешние устройства: камера, наушники и т. д. Так же, обязательно удалите конфиги Пульсы ~/.config/pulse/ и перезагрузите ПК).
Команда aplay -l покажет все звуковые устройства в системе.
(Если aplay -l пишет ...no soundcards found... - значит в системе нет драйвера под этот звуковой кодек, случается и так, что его вообще не существует под Линукс, выход - дискретная звуковая карта).
Нас интересует аналоговый вход/выход:
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog] (ПРИМЕР! И далее, на примере для звуковой системы 5.1)
Выполним в терминале: alsamixer,
нажав F6, вызовем меню выбора звуковой карты и
выбираем действующую - HDA Intel PCH
Смотрим колонку " Master", чтобы громкость была 100% и колонка "PCM" была включена. Так же включаем каналы Front , Surround , Center , LFE (активные отображены 00, не активные мм, переключаются латинской м). Двигаясь по настройкам вправо, в пункте "Channel" ставим 6 каналов.
(ВАЖНО! задать многоканальность именно в альсамиксере - иначе басов вы не услышите, сабвуфер будет работать как обычная колонка).
Если alsamixer не сохраняет настройки,
выполнить в терминале:
sudo alsactl store
После сохранения выйти из альсамиксера (Esc).
Перезагружаем систему. Можно воспользоваться командами чтобы перезапустить Пульсу ( pulseaudio -k и pulseaudio --start ), но часто демон отваливается, поэтому будем перезагружаться).
Необходимо установить Audacious (много плееров поющих, удобных, а нам нужен лучший по звуку).
Настроим Audacious, переходим и активируем - файл > настройка > звук > PulseAudio
разрядность - выше чем реальная разрядность аудио-карты поднимать не стоит - искажение, щелчки (cмотрим какие значения поддерживает оборудование:
aplay --device hw /dev/urandom —dump-hw-params).
переходим > модули > эффекты:
Вкл. > Кристаллизатор
Вкл. > Расширенное стерео
Для улучшения звука ставим в систему ladspa и pulseaudio-equalizer. Pulseaudio-equalizer глючная штука и чтобы настройки не сбрасывались, делаем следующее:
запускаем pulseaudio-equalizer, активируем EQ Enabled и в терминале выполняем:
kwrite /tmp/eqcommands.sh
копируем строку:
load-module module-ladspa-sink sink_name=ladspa_output.mbeq_1197.mbeq master=alsa_output.pci-0000_00_1b.0.analog-stereo plugin=mbeq_1197 label=mbeq control=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 (Пример)
(на аргумент "master" система ругается, поэтому ставим "sink_master" и обратите внимание! каналов звука 2 - analog-stereo) выполняем в терминале от рута:
kwrite /etc/pulse/default.pa
и в открывшийся документ добавляем ранее скопированную (исправленную) запись, сохраняем. Перезагружаемся.
Далее, в системных настройках звука переключаем профиль «Line Out» на «LadSpa».
Возможно,
ваша аудио-карта поддерживает воспроизведение сигнала с более высокой опорной частотой (чаще всего defaults - 48000Hz). Тогда, просто необходимо настроить alsa на работу в высокочастотном режиме.
Чтобы узнать частоту дискретизации пишем в терминале:
grep rate /proc/asound/card0/codec#
и жмем Tab
codec#0 codec#3
теперь, меняя номер кодека (codec#0/codec#3) находим нашу карту:
grep Codec /proc/asound/card0/codec#0
Codec: Realtek ALC662 rev1
grep Codec /proc/asound/card0/codec#3
Codec: Intel PantherPoint HDMI
Наш вариант - codec#0, выполняем:
grep rate /proc/asound/card0/codec#0
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
крайний столбец, это и есть максимальная частота дискретизации действующей карты.
От рута открываем alsa.conf:
kwrite /usr/share/alsa/alsa.conf
изменим строку:
defaults.pcm.dmix.rate 48000
на частоту нашей аудио-карты
defaults.pcm.dmix.rate 96000
ставим 6 каналов:
defaults.pcm.dmix.channels 6
По умолчанию и в pulse установлено минимальное качество звука, меняем на лучшее - от рута открываем daemon.conf:
kwrite /etc/pulse/daemon.conf
находим строки:
resample-method = speex-float-1
default-sample-format = s16le
заменим на:
resample-method = soxr-vhq
default-sample-format = float32le
здесь же, в демоне, пропишем частоту нашей аудио-карты:
default-sample-rate = 96000
alternate-sample-rate = 96000
раскомментируем (убрать точку с запятой), сохраняем и перезапустим pulse (перезагрузить систему).
С сабвуфером на кодеке ALC662 полная засада.
Чтобы он начал звучать в системных настройках
ставим два канала вывода звука (на 5.1 переключаем только когда многоканальный звук имеем в источнике).
В настройках Пульсы (daemon.conf) изменение каналов на 6, enable-remixing = yes и lfe-crossover-freq = 42 ни на что не влияют. 5.1 Пульса берет из заданных нами 6 каналов в альсмиксере.
Все возможные значения параметра resample-method можно узнать командой:
pulseaudio --dump-resample-methods
а узнать какие значения параметров сейчас установлены у PulseAudio:
pulseaudio --dump-conf
На смену Пульсаудио пришел PipeWire.
Системд-юнит сам запустит, настроит и сделает так, чтобы программы, которым требуется Пульса, взаимодействовали с PipeWire.
Да, Пульса выпилится (только настройки Альсы будут работать).
Что получаем от перехода на PipeWire?
Меньшую нагрузку на процессор.
Памяти жрет тоже меньше.
Латентность PipeWire значительно ниже чем у Пульсы.
Для установки нужны следующие пакеты:
pipewire
pipewire-alsa
pipewire-pulse
ну и Джек, если пользуетесь:
pipewire-jack
* Из улучшательств, можно повысить частоту дискретизации (/etc/pipewire/pipewire.conf):
default.clock.rate = 96000
"sample-format" по дефолту имеет значение "float32le".
И настроить Audacious:
Модуль вывода>Pulsefudio
Эффекты> Кристаллизатор
> Расширенное стерео
>Sox Ресемплер (выставить частоту
дискретизации вашей карты).
В системных настройках звука ставим два канала вывода звука (Analog Stereo).
Текущие настройки смотрим командой:
pactl info
Пробуем, сравниваем.
* конфигурационный файл Pipewire сменил адрес:
/usr/share/pipewire/pipewire.conf
ВНИМАНИЕ!
На смену Пульсаудио пришел PipeWire.
Читаем об этом ниже.
В Linux возникает проблема с включением
многоканального звука на некоторых звуковых кодеках (например ALC662).
Проблема именно с выводом звука через линейный выход (система видит только HDMI).
Решается следующим образом (перед настройкой отключите внешние устройства: камера, наушники и т. д. Так же, обязательно удалите конфиги Пульсы ~/.config/pulse/ и перезагрузите ПК).
Команда aplay -l покажет все звуковые устройства в системе.
(Если aplay -l пишет ...no soundcards found... - значит в системе нет драйвера под этот звуковой кодек, случается и так, что его вообще не существует под Линукс, выход - дискретная звуковая карта).
Нас интересует аналоговый вход/выход:
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog] (ПРИМЕР! И далее, на примере для звуковой системы 5.1)
Выполним в терминале: alsamixer,
нажав F6, вызовем меню выбора звуковой карты и
выбираем действующую - HDA Intel PCH
Смотрим колонку " Master", чтобы громкость была 100% и колонка "PCM" была включена. Так же включаем каналы Front , Surround , Center , LFE (активные отображены 00, не активные мм, переключаются латинской м). Двигаясь по настройкам вправо, в пункте "Channel" ставим 6 каналов.
(ВАЖНО! задать многоканальность именно в альсамиксере - иначе басов вы не услышите, сабвуфер будет работать как обычная колонка).
Если alsamixer не сохраняет настройки,
выполнить в терминале:
sudo alsactl store
После сохранения выйти из альсамиксера (Esc).
Перезагружаем систему. Можно воспользоваться командами чтобы перезапустить Пульсу ( pulseaudio -k и pulseaudio --start ), но часто демон отваливается, поэтому будем перезагружаться).
Необходимо установить Audacious (много плееров поющих, удобных, а нам нужен лучший по звуку).
Настроим Audacious, переходим и активируем - файл > настройка > звук > PulseAudio
разрядность - выше чем реальная разрядность аудио-карты поднимать не стоит - искажение, щелчки (cмотрим какие значения поддерживает оборудование:
aplay --device hw /dev/urandom —dump-hw-params).
переходим > модули > эффекты:
Вкл. > Кристаллизатор
Вкл. > Расширенное стерео
Для улучшения звука ставим в систему ladspa и pulseaudio-equalizer. Pulseaudio-equalizer глючная штука и чтобы настройки не сбрасывались, делаем следующее:
запускаем pulseaudio-equalizer, активируем EQ Enabled и в терминале выполняем:
kwrite /tmp/eqcommands.sh
копируем строку:
load-module module-ladspa-sink sink_name=ladspa_output.mbeq_1197.mbeq master=alsa_output.pci-0000_00_1b.0.analog-stereo plugin=mbeq_1197 label=mbeq control=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 (Пример)
(на аргумент "master" система ругается, поэтому ставим "sink_master" и обратите внимание! каналов звука 2 - analog-stereo) выполняем в терминале от рута:
kwrite /etc/pulse/default.pa
и в открывшийся документ добавляем ранее скопированную (исправленную) запись, сохраняем. Перезагружаемся.
Далее, в системных настройках звука переключаем профиль «Line Out» на «LadSpa».
Возможно,
ваша аудио-карта поддерживает воспроизведение сигнала с более высокой опорной частотой (чаще всего defaults - 48000Hz). Тогда, просто необходимо настроить alsa на работу в высокочастотном режиме.
Чтобы узнать частоту дискретизации пишем в терминале:
grep rate /proc/asound/card0/codec#
и жмем Tab
codec#0 codec#3
теперь, меняя номер кодека (codec#0/codec#3) находим нашу карту:
grep Codec /proc/asound/card0/codec#0
Codec: Realtek ALC662 rev1
grep Codec /proc/asound/card0/codec#3
Codec: Intel PantherPoint HDMI
Наш вариант - codec#0, выполняем:
grep rate /proc/asound/card0/codec#0
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
rates [0x160]: 44100 48000 96000
крайний столбец, это и есть максимальная частота дискретизации действующей карты.
От рута открываем alsa.conf:
kwrite /usr/share/alsa/alsa.conf
изменим строку:
defaults.pcm.dmix.rate 48000
на частоту нашей аудио-карты
defaults.pcm.dmix.rate 96000
ставим 6 каналов:
defaults.pcm.dmix.channels 6
По умолчанию и в pulse установлено минимальное качество звука, меняем на лучшее - от рута открываем daemon.conf:
kwrite /etc/pulse/daemon.conf
находим строки:
resample-method = speex-float-1
default-sample-format = s16le
заменим на:
resample-method = soxr-vhq
default-sample-format = float32le
здесь же, в демоне, пропишем частоту нашей аудио-карты:
default-sample-rate = 96000
alternate-sample-rate = 96000
раскомментируем (убрать точку с запятой), сохраняем и перезапустим pulse (перезагрузить систему).
С сабвуфером на кодеке ALC662 полная засада.
Чтобы он начал звучать в системных настройках
ставим два канала вывода звука (на 5.1 переключаем только когда многоканальный звук имеем в источнике).
В настройках Пульсы (daemon.conf) изменение каналов на 6, enable-remixing = yes и lfe-crossover-freq = 42 ни на что не влияют. 5.1 Пульса берет из заданных нами 6 каналов в альсмиксере.
Все возможные значения параметра resample-method можно узнать командой:
pulseaudio --dump-resample-methods
а узнать какие значения параметров сейчас установлены у PulseAudio:
pulseaudio --dump-conf
На смену Пульсаудио пришел PipeWire.
Системд-юнит сам запустит, настроит и сделает так, чтобы программы, которым требуется Пульса, взаимодействовали с PipeWire.
Да, Пульса выпилится (только настройки Альсы будут работать).
Что получаем от перехода на PipeWire?
Меньшую нагрузку на процессор.
Памяти жрет тоже меньше.
Латентность PipeWire значительно ниже чем у Пульсы.
Для установки нужны следующие пакеты:
pipewire
pipewire-alsa
pipewire-pulse
ну и Джек, если пользуетесь:
pipewire-jack
* Из улучшательств, можно повысить частоту дискретизации (/etc/pipewire/pipewire.conf):
default.clock.rate = 96000
"sample-format" по дефолту имеет значение "float32le".
И настроить Audacious:
Модуль вывода>Pulsefudio
Эффекты> Кристаллизатор
> Расширенное стерео
>Sox Ресемплер (выставить частоту
дискретизации вашей карты).
В системных настройках звука ставим два канала вывода звука (Analog Stereo).
Текущие настройки смотрим командой:
pactl info
Пробуем, сравниваем.
* конфигурационный файл Pipewire сменил адрес:
/usr/share/pipewire/pipewire.conf
Последний раз редактировалось JaamMaiKa 18 янв 2022, 11:54, всего редактировалось 72 раза.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Re: Многоканальный звук в Rosa Linux
Спасибо.
Только неудобно приложены картинки.
При создании сообщения, внизу есть кнопка "Стандартный ответ".
Если её нажать, то можно прикладывать картинки к сообщению здесь, на форуме.
Только неудобно приложены картинки.
При создании сообщения, внизу есть кнопка "Стандартный ответ".
Если её нажать, то можно прикладывать картинки к сообщению здесь, на форуме.
Re: Многоканальный звук в Rosa Linux
Исправил.
Re: Многоканальный звук в Rosa Linux
Дополнил.
23.11.2015
23.11.2015
Re: Многоканальный звук в Rosa Linux
А зачем ставить high-priority = yes? По умолчанию ведь приоритет высокий? Куда ещё выше?
default-sample-rate = ????? alternate-sample-rate = ????? на мой взгляд от них никакого толку. Разве что лишняя нагрузка.
А настройка alsoftrc.conf разве бесполезна?
default-sample-rate = ????? alternate-sample-rate = ????? на мой взгляд от них никакого толку. Разве что лишняя нагрузка.
А настройка alsoftrc.conf разве бесполезна?
Re: Многоканальный звук в Rosa Linux
На всякий случай. Пользовался UBUNTU, под нагрузкой были хрипы.А зачем ставить high-priority = yes?
Чтобы PULSEAUDIO не резала герцы - разница в звуке, даже на встроенной звуковой ощутимая.default-sample-rate = ????? alternate-sample-rate = ?????
Дополни, может кому и будет интересно.А настройка alsoftrc.conf разве бесполезна?
Re: Многоканальный звук в Rosa Linux
Нечего тут дополнять. В конфиге все расписано. Почему-то редактирование данного конфига считается необходимым только для игрушек, но я так не считаю.JaamMaiKa писал(а):Дополни, может кому и будет интересно.
Код: Выделить всё
# cp -p /etc/openal/alsoft.conf /etc/openal/alsoft.conf.sample
# cd /etc/openal/
# chmod a+r-w-x alsoft.conf.sample
Re: Многоканальный звук в Rosa Linux
А где можно еще задействовать OA?Почему-то редактирование данного конфига считается необходимым только для игрушек, но я так не считаю.
Что конкретно править советуете?Нечего тут дополнять. В конфиге все расписано.
Re: Многоканальный звук в Rosa Linux
mplayer?Vochatrak писал(а):А где можно еще задействовать OA?
hrtf (44100kHz only);Vochatrak писал(а):Что конкретно править советуете?
wide-stereo;
drivers;
emulate-eax (false)
Есть ещё fmod. Мне попадались плееры, использующие либы fmod.
Re: Многоканальный звук в Rosa Linux
Но зачем? Тем более, звук через OA хуже.mplayer?А где можно еще задействовать OA?
Обрезать себе диапазон? Ради чего?hrtf (44100kHz only);Что конкретно править советуете?
Да (не всегда) нужно.wide-stereo;
Чем EAX не угодил?emulate-eax (false)
-
- Сообщения: 1
- Зарегистрирован: 06 июн 2021, 00:48
Многоканальный звук в Linux
Всем здравствуйте!
Помогите пожалуйста разобраться с pipewire. Не могу настроить сабвуфер на системе с 5.1. Пробовал настроить в Fedora 34. Стереозвук идет с пяти колонок, а вот звук на сабвуфер не идет.
Согласно рекомендации настройки звука из шапки для pulseaudio работает очень хорошо. Приятно слушать музыку не выкручивая звук на большую громкость, так как качество очень хорошее и слышно все детали. Но хотелось бы перейти в перспективе на Fedora, т.к. мне очень понравился 40 гном. Очень удобное переключение между виртуальными рабочими столами. Но проблема именно со звуком 5.1, а там pipewire. Настройки в Alsamixer указал, что система 5.1,т.е. 6 - chanel. Звуковая карта Creative X-FI Titanium.
Огромное спасибо за помощь. В Linux системах, еще не очень глубоко разбираюсь, если какие данные нужны будут, то возможно спрошу, но в случае, если не найду через поисковые системы.
Помогите пожалуйста разобраться с pipewire. Не могу настроить сабвуфер на системе с 5.1. Пробовал настроить в Fedora 34. Стереозвук идет с пяти колонок, а вот звук на сабвуфер не идет.
Согласно рекомендации настройки звука из шапки для pulseaudio работает очень хорошо. Приятно слушать музыку не выкручивая звук на большую громкость, так как качество очень хорошее и слышно все детали. Но хотелось бы перейти в перспективе на Fedora, т.к. мне очень понравился 40 гном. Очень удобное переключение между виртуальными рабочими столами. Но проблема именно со звуком 5.1, а там pipewire. Настройки в Alsamixer указал, что система 5.1,т.е. 6 - chanel. Звуковая карта Creative X-FI Titanium.
Огромное спасибо за помощь. В Linux системах, еще не очень глубоко разбираюсь, если какие данные нужны будут, то возможно спрошу, но в случае, если не найду через поисковые системы.
Многоканальный звук в Linux
При такой конфигурации почему-то на некоторых ПК после перезагрузки «LadSpa» в системе исчезает.JaamMaiKa писал(а): ↑04 апр 2015, 17:24Для улучшения звука ставим в систему ladspa и pulseaudio-equalizer. Pulseaudio-equalizer глючная штука и чтобы настройки не сбрасывались, делаем следующее:
запускаем pulseaudio-equalizer, активируем EQ Enabled и в терминале выполняем:
kwrite /tmp/eqcommands.sh
копируем строку:
load-module module-ladspa-sink sink_name=ladspa_output.mbeq_1197.mbeq master=alsa_output.pci-0000_00_1b.0.analog-stereo plugin=mbeq_1197 label=mbeq control=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
(на аргумент "master" система ругается, поэтому ставим "sink_master" и обратите внимание! каналов звука 2 - analog-stereo) выполняем в терминале от рута:
kwrite /etc/pulse/default.pa
и в открывшийся документ добавляем ранее скопированную (исправленную) запись, сохраняем. Перезагружаемся.
Далее, в системных настройках звука переключаем профиль «Line Out» на «LadSpa».
Пришлось а автозагрузку подключить скрипт с командой pulseaudio-equalizer enable
Многоканальный звук в Linux
Wikisupperyura писал(а): ↑06 июн 2021, 01:02Всем здравствуйте!
Помогите пожалуйста разобраться с pipewire.
Многоканальный звук в Linux
Настройка
Пакет PipeWire предоставляет начальный набор конфигурационных файлов в /usr/share/pipewire. Не редактируйте эти файлы напрямую, так как обновления пакета перезапишут ваши изменения. Для настройки PipeWire можно скопировать файлы из /usr/share/pipewire в другой общесистемный каталог /etc/pipewire или в пользовательский каталог ~/.config/pipewire.