- Настройка звука в Ubuntu
- Кратко
- Обзор
- Мысль первая: удаляем PulseAudio — ставим JACK
- Мысль вторая: ALSA и PulseAudio надо настраивать
- PulseAudio
- Диагностика ALSA
- Настройка ALSA
- alsamixer
- hdajacksensetest
- hdajackretask
- HDAAnalyzer
- Правка конфигов
- PulseAudio
- Выводы
- Linux Mint Forums
- Input USB device sound
- Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
- Re: Input USB device sound
Настройка звука в Ubuntu
У меня есть хобби — написание музыки. Поэтому после установки свежей версии Ubuntu на свой ноутбук мне понадобилось настроить звук чуть более тонко, чем обычным пользователям. К моему сожалению, сделать это у меня не вышло. Тем не менее, я хочу рассказать о шагах, которые немного приблизили меня к результату. Я надеюсь, что кому-то это сэкономит время. А может, с помощью читателей я смогу пройти дальше. Если вы пользуетесь Linux и можете произнести слова sidechain и компрессия в одном осмысленном предложении — Добро пожаловать!
Кратко
Для начала более подробно о сути задачи: есть ноутбук Asus N55 с Kubuntu 17.10 на борту. Нужно добиться той же конфигурации, которую можно получить на Windows:
- Без подключения сабвуфера драйвер работает в режиме 2.0
- При подключении сабвуфера драйвер переключается в режим 2.1. При этом переключении к каналам применяются частотные фильтры — НЧ для сабвуфера и ВЧ для колонок
- При подключении наушников, вывод звука переключается на них, вывод на колонки/сабвуфер приостанавливается
- При необходимости низких задержек можно с помощью выбора другого драйвера перейти в режим, обеспечивающий монопольный захват звуковой карты
Сразу после установки получаем нерабочий сабвуфер и нерабочие наушники.
В результате моих опытов мне удалось добиться следующего состояния системы:
- Драйвер работает в режиме 2.1
- При подключении сабвуфера ничего не изменяется
- При подключении наушников, вывод звука переключается на них, вывод на колонки/сабвуфер приостанавливается, но фильтры продолжают работать и в наушники идут только ВЧ
- При необходимости низких задержек можно адресоваться к карте через ALSA, но в этом режиме не работает сабвуфер, фильтры. Но работает переключение на наушники
Для знакомства с LMMS(с которой как оказалось нормально работать нельзя, но это отдельная тема) этого в общем-то хватает.
Если вы тоже добрались до этого состояния, то ничего нового этой статьей я вам не расскажу.
Обзор
Вы когда-нибудь задумывались о том, как устроена звуковая система Linux? Вот и я нет — обычно звук либо был не нужен, либо как-то работал, колонки играли — ни о каких фокусах подключения сабвуфера или наушников речи не было.
Похоже, теперь самое время узнать об этом немного больше. Гугление показало следующую картину:
Мысль первая: удаляем PulseAudio — ставим JACK
Мало кто говорит, что PulseAudio де-факто является стандартом для интеграции звука, по крайней мере в Ubuntu. Практически любой софт, который издает звуки, будет с большой долей вероятности пользоваться PulseAudio API. FF, например, для поддержки JACK надо отдельно собирать.
Поэтому удалять PulseAudio не стоит, если вы не уверены, что все чем вы будете пользоваться, умеет работать с JACK. Видимо, поэтому существует еще вариант интеграции Jack-PulseAudio. Но от этого варианта я отказался, т.к. для работы в том софте, где требуются низкие задержки, меня устраивает монопольный доступ через ALSA(под Windows это работает так же — там, где нужна низкая задержка, запрашивается монопольный доступ). Возможно, когда дело дойдет до установки какого-нибудь Ardour, мне придется вернуться к этому варианту.
Мысль вторая: ALSA и PulseAudio надо настраивать
Так, ну хорошо, JACK не нужен. Выходит, чтобы все заработало, мне надо настроить ALSA-компонент для своей карточки и интеграцию его с PulseAudio
PulseAudio
Тут нам из коробки предлагают вот такую UI консоль
Мне кажется, к такому инструменту пояснения излишни. После применения настроек вы сразу сможете слышать изменения, так что пробуйте.
Еще amarao советует обратить внимание на pactl /pacmd. Если я доберусь — напишу, что там к чему с этими утилитами
Диагностика ALSA
Первым делом понадобятся хоть какие-то инструменты для диагностики — это пакет alsa-utils
sudo apt install alsa-utils
Теперь посмотрим, как видит наше оборудование система
aplay -l
Кроме того, настройки надо проверять. Для этих целей обнаружилась утилита speaker-test
вызов speaker-test —help покажет, что умеет утилита, но мне особенно интересна конфигурация
speaker-test -Dplughw:1,0 -c4
- -D — id устройства. 1,0 — это индексы устройства и подустройства, их мы видели выше в выводе aplay
а вот структура текстовой части описана тут - -c — количество каналов на которые будет выведен тест
В моем случае первые 2 канала работают хорошо, а вот дальше интересно — 3й канал LFO не звучит, но зато звучит 4й канал. Такое ощущение, что LFO настроен как… стерео. Мне кажется, это часть моей проблемы.
Настройка ALSA
Тут и тут советуют поизучать dmix — это модуль микшера каналов в ALSA — буду смотреть
alsamixer
alsamixer — псевдографический интерфейс микшера. Половина советов по настройке ограничивается этой утилитой. И действительно, именно эта утилита часто покажет, когда канал неожиданно замьютился или у него сбросился уровень громкости.
Но настройка в микшере результата не дала.
hdajacksensetest
Следующая полезная утилита — hdajacksensetest. Показывает какие разъемы детектируют подключение внешних устройств.
Ок, я вижу, что мой внешний сабвуфер подключен на порт 0x1a.
Давайте попробуем найти как можно объяснить карте, куда выводить LFO.
hdajackretask
Большинство советов по настройке маппинга указывают на утилиту hdajackretask:
Тут вроде бы все понятно — есть порты, есть маппинг. К сожалению, никакие манипуляции с портом 0x1a к успеху не привели.
Может, после настройки надо явно перезагружать сервисы?
sudo alsa force-reload
Нет, смотрим дальше.
HDAAnalyzer
Для настройки маппинга есть еще одна утилита:
скачать ее можно в виде python-скрипта(. ) вот тут.
Выглядит эта штука как прокачанный вариант hdajackretask — она даже умеет строить схему маршрутизации портов графически. Но эксперименты с этой штукой тоже не привели ни к чему, кроме полной потери звука.
Никакого гайда по настройке я не нашел, поэтому пробовал методом проб и ошибок.
Правка конфигов
Других утилит, способных помочь в настройке звука я не обнаружил. Остается попробовать только одно — искать и править конфиги. С помощью гугла и find, мне удалось обнаружить несколько локаций.
PulseAudio
/usr/share/pulseaudio
в папке alsa-mixer тут лежат конфиги. Т.к. Pulseaudio более-менее работает тут я ничего трогать не стал.
/etc/pulse/daemon.conf
Как я понял, это настройки службы pulseaudio — один из немногих конфигов, изменения в котором на что-то влияют. именно тут настройками:
enable-lfe-remixing = yes
lfe-crossover-freq = 200
я заставил звучать свой сабвуфер из Pulseaudio так, как он должен. Для lfe-crossover-freq 200 — это очевидно частота среза в герцах.
Но тут же становится очевидно, что настроить нечто более сложное(при подключении наушников прекращать отправлять бас на сабвуфер) в этом конфиге возможности нет.
/usr/share/alsa/*
Тут лежит несколько shell-скриптов, в т.ч. alsa-info.sh, который может быть полезен при подготовке дефекта в трекере и т.д.
а в папке pcm какие-то конфиги, разобраться в которых мне не удалось:
Трогать их я пока не решился.
/etc/modprobe.d/alsa-base.conf — второй доказанно полезный конфиг. Вот эта строчка, дописанная в низ конфига, реально заставила работать наушники под ALSA:
options snd-hda-intel model=auto,auto probe_mask=1
Про настройку этого конфига написано довольно много. Одна из его целей, как я понял — сопоставить устройствам кодеки(model). Кодеки это… какой-то пресет маппингов… Есть табличка (копия есть тут). Думаю, в большинстве случаев для стандартных конфигураций этого действительно достаточно.
Там описаны модели для разных контроллеров. Но если для вас они не срабатывают, то вам рекомендуют добавить свою конфигурацию.
Звучит классно, но тут я должен сделать 2 ремарки:
- гайда как сделать свою конфигурацию — что конфигурить, куда сохранять, коммитить и т.д. я не нашел.
- После изменения настроек в alsa-base.conf нужно перезагружать ОС. Без перезагрузки никакие sudo alsa force-reload и даже хардкорный echo 1 | sudo tee /sys/class/sound/hwC1D0/reconfig не заставляют ALSA перечитать кодек устройства.
Кстати, в /sys/class/sound/hwC1D0/ — лежат файлы уже непосредственно устройства, т.е. как я понял hdajackretask работает именно с этими файлами. Тут тоже, наверное, можно сделать что-то полезное, если знать куда что писать.
Выводы
На этом у меня все. После правок в daemon.conf и alsa-base.conf , я получил результат, описанный в начале. Это все, чем я мог помочь вам в деле настройки звука под Ubuntu.
Большинство приведенной тут информации я получил здесь и документации ALSA на Arch Linux.
Как я и говорил, после проделанной работы появляется больше вопросов, чем ответов:
- как так pulseaudio нормально работает с сабвуфером, а ALSA нет.
- какие все-таки конфиги надо править для правки маппинга портов??
- как оформить вот свою модель HD-Audio.
- насколько ALSA эффективна по сравнению с аналогами в других ОС? подходит ли она вообще для работы со звуком?
Общий вывод, который я могу сделать по результатам проделанной работы: в целом видно, что если GUI, например, сообщество более-менее занимается, то звуковая подсистема явно остается за бортом.
На сегодняшний день возможности использования этой подсистемы не выдерживают никакой конкуренции с аналогами в других популярных ОС.
Такие досадные проблемы, как неработающий сабвуфер или наушники, или отсутствие НЧ-фильтра для сабвуфера, заставляют еще раз подумать, прежде чем отказываться от предустановленного софта. Ведь никому не хочется получать от своей железки меньше отдачи из-за кривостей ОС.
Источник
Linux Mint Forums
Welcome to the Linux Mint forums!
Input USB device sound
Input USB device sound
Post by RogerA » Mon Feb 18, 2019 4:34 pm
Sound settings properties presents this input device as Analog and digital PCM2902 Audio codec with the volume to 100%.
Problem is the input level the sound is captured, is extremely low (-48 db top). Same hardware works fine in Windows, so looks a linux problem?
I’m using Linux Mint 19.1 Tessa with kernel 4.18.0-15 (also have tried with 4.15)
Any help would be appreciated! I don’t want to work in Windows if Linux is an alternative. problem is that I cannot make this USB interface working.
Thanks in advance,
Roger
Re: Input USB device sound
Post by MrEen » Mon Feb 18, 2019 4:47 pm
Hi RogerA, and welcome to the forum.
Install PulseAudio Volume Control (pavucontrol.)
Check it’s config on the Configuration tab, and the input levels on the Input Devices tab.
Hope that helps.
Re: Input USB device sound
Post by Hoser Rob » Tue Feb 19, 2019 9:35 am
Re: Input USB device sound
Post by RogerA » Tue Feb 19, 2019 4:15 pm
Unfortunately that do not works for me. To mention that the AlsaMixer is quite difficult to manage, not sure how to filter «input» devices.
Using the Volume Control I have the same problem as with the sound settings interface, PCM2902 Audio codec seems to be the correct USB interface, (also the unique with the build in Audio), volume to 150% but again almost do not detect signal.
To get a fairly decent minimum level I have to use all the gain in the amplifier so the sound is completely distorted and saturated.
Re: Input USB device sound
Post by MrEen » Tue Feb 19, 2019 6:05 pm
So that we can see what options are available, paste back the output of running pacmd list-cards in the terminal.
Regarding alsamixer: once it opens, press F6 and choose something similar to Texas Instruments PCM2902 Audio Codec
The page that open will have some options, with more available by pressing F4. Use the left and right arrow keys to select columns, the up and down arrows to increase and decrease volume levels, and the m key to toggle mute. Muted columns will have MM at the bottom.
Re: Input USB device sound
Post by RogerA » Tue Feb 19, 2019 6:34 pm
Re: Input USB device sound
Post by MrEen » Tue Feb 19, 2019 6:48 pm
I actually have the same device but haven’t hooked it up yet.
Try this. On the Configuration tab of pavucontrol, right now you have Digital Stereo (IEC958) Input selected. Try changing it to Analog Stereo Input then test. If that doesn’t help, try Analog Mono Input then test.
Sorry I haven’t familiarized myself with it yet. Not sure what the correct settings should be.
Re: Input USB device sound
Post by RogerA » Wed Feb 20, 2019 2:13 pm
No joy , changing this setting to Analog Input stereo/Mono same result.
I have prepared with Kazam a video file where you can see the sound resulting when the mic is just in front the speaker, (playing a background song), but not sure if you can upload video in this forum.
Re: Input USB device sound
Post by MrEen » Wed Feb 20, 2019 7:01 pm
See if this helps. On the Input Devices tab of pavucontrol, if you only see one volume slider, click on the lock icon. Now lower the left volume all the way then test the sound.
EDIT: Also see if deleting the files in
/.config/pulse then running pulseaudio -k in the terminal helps any. That will reset the pulseaudio config files to default, which may be the problem.
Re: Input USB device sound
Post by RogerA » Thu Feb 21, 2019 1:53 pm
/.config/pulse re-established using command pulseaudio -k. Control Channels right and left lowered . No joy
Still same issue, almost no signal detect, I need to totally saturate the gain of the amplifier to get a slightly decent input level, but then the captured is completely saturated and distorted.
It is quite frustrating. looks like I’ll have to work in windows.
Re: Input USB device sound
Post by MrEen » Thu Feb 21, 2019 2:00 pm
Re: Input USB device sound
Post by RogerA » Thu Feb 21, 2019 6:32 pm
Re: Input USB device sound
Post by MrEen » Thu Feb 21, 2019 10:14 pm
Re: Input USB device sound
Post by RogerA » Fri Feb 22, 2019 3:18 am
Re: Input USB device sound
Post by MrEen » Fri Feb 22, 2019 8:34 am
Well, I’m stumped at the moment.
Your kernel is good, you’ve tried other ports, you’ve played with the knobs, you’ve tried different input methods.
The only thing left I can think of is alsamixer. I’d suggest setting the device in pavucontrol as Analog Stereo Input, then run alsamixer in the terminal, press F6 to choose the UM2, then slowly go through each setting. Some will have volume levels, some will have enabled/disabled, some probably won’t be changeable.
Be aware that there are probably more options off the right of the screen that you can’t see. Keep hitting the right arrow key until you run out of columns to look at.
There might be something disabled that should be enabled. Or something muted that shouldn’t be. Or something with near zero volume.
Maybe if you took screenshots of the options and upload them to a site like imgur you could paste the links here and maybe we’ll spot something?
I’ll set up my UM2 this weekend, but I only have a guitar to plug into it. Maybe I’ll spot something that will help your situation.
Источник