Микрофон - шумоподавление внешней звуковой карты
У меня та же проблема, что описана здесь, поэтому я попытался решить ее с помощью процедуры в ответ. Когда все было установлено, я изменил файлы в соответствии с ответом и перезагрузил компьютер. Когда компьютер перезагрузился, я открыл pavucontrol и посмотрел на устройства ввода. Я обнаружил, что упомянутое исправление для фонового шума работает только для внутренней звуковой карты, а не для внешней.
Есть ли возможность включить шум / эхоподавление для внешней звуковой карты - на изображении указан аудиоадаптер Analog Mono?
1 ответ
В моем случае наушники появляются в списке портов для самого "Встроенного аналогового стерео", и я могу выбрать их в pavucontrol, чтобы позволить echo-cancel использовать их.
В вашем случае, я думаю, вам может понадобиться явно указать эхоподавление на внешний источник. Вы можете указать аргумент "source_master" для модуля согласно документации здесь.
Так что узнайте название внешнего источника pactl list sources | less
, затем выполните поиск необходимого внешнего устройства, например, "Audio Adapter Analog Mono", как указано выше (могут быть записи для устройств монитора для этого, как будет показано в описании, поэтому пропустите их; реальное устройство будет иметь префикс "alsa_input." в имени). Получить имя необходимого внешнего устройства и добавить в строку в /etc/pulse/default.pa
:
load-module module-echo-cancel source_name=echosource aec_method=webrtc source_master=alsa_input.pci-0000_00_1b.0.analog-stereo
(измените имя в source_master как было найдено ранее). Я не мог найти способ изменить это на внутренний микрофон или динамически обратно на внешний микрофон, кроме как снова выгрузить и загрузить модуль с помощью pactl / pacmd.
Кстати, в моем случае шумоподавление занимает несколько секунд, и первые несколько секунд в Skype имеют шум, который быстро сглаживается.