Microfono: soppressione del rumore di fondo statico

La mia scheda audio è Realtek ALC 892. Su Windows 7 uso i driver ufficiali Realtek, su Linux uso PulseAudio (su Ubuntu 13.10). Sia su Windows che Linux, quando abilito il microfono boost + 30db (richiesto perché il mio microfono è silenzioso), ottengo molto fastidioso e rumoroso rumore di fondo (ho anche confermato il rumore di fondo con Audacity su entrambi i sistemi).

Tuttavia, i driver di Windows Realtek hanno l’opzione di soppressione del rumore che funziona (dopo averlo abilitato, Audacity non mostra alcun rumore di fondo e le mie orecchie confermano anche che non c’è rumore di fondo).

Image showing noise suppression option

La mia domanda è: come posso abilitare la soppressione del rumore di fondo in ALSA / PulseAudio? C’è qualche modulo che posso installare o forse c’è un’impostazione che può essere abilitata nel file di configurazione?

Non riesco a trovare una soluzione e questa è l’unica cosa che mi impedisce di passare a Linux completamente – mentre parlo usando molto il microfono e su Windows il software Realtek rimuove completamente il rumore di fondo e PulseAudio non lo rimuove, che significa che la voce registrata su Linux è pessima.

So che potrei acquistare una scheda audio e un microfono migliori, ma come ho detto, i driver di Windows Realtek rimuovono il rumore a livello di software in tempo reale (ovvero nessun rumore quando si parla di TeamSpeak3 / Steam / qualsiasi altro programma voip) quindi spero che ci sia questa opzione anche su Linux.

Questo è anche crosspost su Unix StackExchange

Io uso lubuntu e ho già installato pulseaudio e pavucontrol. Sono riuscito a risolvere il problema con il mio rumore del microfono lanciando skype dal terminale: PULSE_PROP="filter.want=echo-cancel" skype

Un po ‘tardi, ma di recente ho riscontrato un problema di rumore di fondo statico simile con il microfono interno del mio portatile (lo stesso chipset Realtek credo, ma la soluzione dovrebbe funzionare per tutte le tabs audio). Dopo aver guardato in giro, c’è effettivamente un modo per ridurre il rumore in tempo reale in pulseaudio usando il plugin webrtc echo-cancel (lo speex echo-cancel di default in Ubuntu / Mint non ha funzionato bene per me). Ne ho visto parlare sul wiki di Gentoo PulseAudio , ma ho impiegato un po ‘di tempo per capire come abilitare in Ubuntu. Ha fatto davvero un po ‘di differenza per me e il rumore di sottofondo in Skype è quasi scomparso.

Fortunatamente Ubuntu già confeziona la libreria webrtc necessaria per questo. Possiamo compilare dalla fonte ufficiale applicando modifiche minime per abilitare il plugin e quindi installare il pacchetto aggiornato:

Abilitare i repository di codice sorgente in sorgenti software, quindi:

 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 

Dopo aver modificato il file debian / rules, vai a ~ line 57 e aggiungi ” --enable-webrtc-aec ” a DEB_CONFIGURE_EXTRA_FLAGS (per esempio dopo l’opzione --disable-hal-compat )

Poi modifica il file debian / pulseaudio.install e aggiungi: usr / lib / pulse – * / modules / libwebrtc-util.so

Se si desidera anche l’impulso PulseaAudio System-Wide Equalizer , quindi modificare debian/pulseaudio-utils.install e aggiungere: /usr/bin/qpaeq .

Quindi crea il pacchetto per ottenere i nuovi deb: dpkg-buildpackage -d -us -uc -nc

Dovresti installare i pacchetti pulseaudio, pulseaudio-utils e libpulse tra i debs generati (ad esempio per Trusty 64bit release o 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 )

Abilita infine il plugin webrtc in /etc/pulse/default.pa: sudo gedit /etc/pulse/default.pa

Aggiungi il seguente alla fine del file:

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

Puoi anche abilitare l’equalizzatore se lo desideri come menzionato nel link webupd8 sopra.

Dopo questo riavvio pulseaudio ( pulseaudio -k && pulseaudio --start ), o logoff + relogin, o reboot dovrebbe abilitare il plug-in cancellazione rumore / eco in pulseaudio. In qualche modo ho trovato che funziona bene dopo un riavvio completo, ma non così tanto dopo solo un relogin.