Микрофон - подавление статического фонового шума [дубликат]

На этот вопрос уже есть ответ здесь:

Моя звуковая карта Realtek ALC 892. В Windows 7 я использую официальные драйверы Realtek, в Linux я использую PulseAudio (в Ubuntu 13.10). И в Windows, и в Linux, когда я включаю усиление микрофона + 30 дБ (требуется, потому что мой микрофон тихий), меня очень раздражает и громкий фоновый шум (я также подтвердил фоновый шум с Audacity в обеих системах).

Однако драйверы Windows Realtek имеют опцию подавления шума, которая работает (после ее включения Audacity не показывает фонового шума, и мои уши также подтверждают наличие без фонового шума).

Image showing noise suppression option

Мой вопрос: как включить подавление фонового шума в ALSA / PulseAudio? Есть ли какой-нибудь модуль, который я могу установить, или, может быть, есть настройки для него, которые можно включить в файле конфигурации?

I не могу найти для этого решения, и это единственное, что мешает мне rom полностью переключается на Linux - поскольку я много говорю с микрофоном, а в Windows программное обеспечение Realtek полностью удаляет фоновый шум, а PulseAudio не удаляет его, что означает, что записанный голос в Linux очень плохой.

Я знаю, что могу купить звуковую карту и микрофон получше, но, как я уже сказал, драйверы Windows Realtek устраняют шум на программном уровне в реальном времени (т.е. без шума при разговоре в TeamSpeak3 / Steam / любой другой программе voip), поэтому я надеюсь, что такой вариант есть и в Linux.

Это также перекрестно на Unix StackExchange

16
задан 13 April 2017 в 15:37

2 ответа

Я использую lubuntu и уже установил pulseaudio и pavucontrol. Мне удалось устранить проблему с шумом микрофона, запустив Skype из терминала: PULSE_PROP="filter.want=echo-cancel" skype

0
ответ дан 13 April 2017 в 15:37

Немного поздно, но недавно у меня возникла похожая проблема статического фонового шума с внутренним микрофоном моего ноутбука (тот же чипсет Realtek, я считаю, но решение должно работать для всех звуковых карт). После осмотра, действительно есть способ уменьшить шум в реальном времени в pulseaudio с помощью плагина webrtc echo-cancel (по умолчанию speex echo-cancel в Ubuntu / Mint у меня не работает). Я видел упоминание об этом в PulseAudio Gentoo wiki , но потребовалось время, чтобы выяснить, как включить его в Ubuntu. Для меня это немного изменило ситуацию, и фоновый шум в Skype теперь почти полностью исчез.

К счастью, Ubuntu уже упаковывает библиотеку webrtc, необходимую для этого. Мы можем скомпилировать из официального источника, применяя минимальные изменения, чтобы включить плагин, а затем установить обновленный пакет:

Включить репозитории исходного кода в программных источниках, затем:

sudo apt install build-essential

# do this if like me you have libjack-jackd2-0 installed and not libjack0
sudo apt install libjack-jackd2-dev

# for jack dependency problem accept the second solution of not installing libjack-dev, libjack0 since we already have installed required dev package above
sudo apt build-dep pulseaudio

# also install webrtc
sudo apt install libwebrtc-audio-processing-dev

# get the pulse source package
apt source pulseaudio
cd pulseaudio-4.0

После этого отредактируйте Файл debian / rules, перейдите к ~ строке 57 и добавьте «--enable-webrtc-aec» к DEB_CONFIGURE_EXTRA_FLAGS (скажем, после опции --disable-hal-compat)

Затем отредактируйте файл debian / pulseaudio.install и добавьте: usr / lib /pulse-*/modules/libwebrtc-util.so

Если вам также нужен импульсный PulseaAudio всесистемный эквалайзер , то отредактируйте debian/pulseaudio-utils.install и добавьте: /usr/bin/qpaeq.

Затем соберите пакет для получения новых дэбов: dpkg-buildpackage -d -us -uc -nc

Вы должны установить пакеты pulseaudio, pulseaudio-utils и libpulse среди сгенерированных дэбов (например, для выпуска Trusty 64bit или Mint 17 64bit: sudo dpkg -i pulseaudio_4.0-0ubuntu11_amd64.deb pulseaudio-utils_4.0-0ubuntu11_amd64.deb libpulse0_4.0-0ubuntu11_amd64.deb libpulsedsp_4.0-0ubuntu11_amd64.deb libpulse-mainloop-glib0_4.0-0ubuntu11_amd64.deb)

Наконец, включите плагин webrtc в /etc/pulse/default.pa: sudo gedit /etc/pulse/default.pa

Добавьте следующее в конец файла:

### Load echo cancellation module
load-module module-echo-cancel source_name=echosource aec_method=webrtc
set-default-source echosource

Вы также можете включить эквалайзер, если хотите, как указано в ссылке на webupd8 выше.

После этого перезапуска pulseaudio (pulseaudio -k && pulseaudio --start), или logoff + relogin, или перезагрузка должны включить плагин шум / эхоподавление в pulseaudio. Каким-то образом я обнаружил, что он работает хорошо после полной перезагрузки, но не так сильно после простого повторного запуска.

0
ответ дан 13 April 2017 в 15:37
  • 1
    Это не предоставляет ответ на вопрос. Чтобы критиковать или запросить разъяснение от автора, оставьте комментарий ниже их сообщения. – Mark Kirby 5 August 2015 в 11:48

Другие вопросы по тегам:

Похожие вопросы: