O PulseAudio vem com um módulo que pode ser usado para conseguir o cancelamento do eco acústico da entrada do microfone e alguma redução de ruído de fundo. Este módulo não é habilitado por padrão na maioria (se não em todas) as distribuições Linux, então este artigo mostrará como habilitá-lo.
Vou lhe mostrar 2 maneiras de habilitar o módulo PulseAudio Echo Cancel: uma que o torna permanente para que seja iniciado automaticamente quando você faz o login em sua área de trabalho, e outra que permite habilitar o cancelamento de eco sob demanda, quando você precisar.
Isso não é apenas para oferecer 2 alternativas, mas também para contornar um bug do PulseAudio que aparece, por exemplo, ao conectar um fone de ouvido após carregar o módulo Echo Cancel, que faz com que isso não mude automaticamente para o novo sink_master
. Além disso, no meu caso, ter o carregamento de cancelamento de eco de módulo na inicialização não funciona (não tenho certeza do porquê), mas pode ser carregado após o login sem problemas, usando o segundo método abaixo.
Para sempre ter cancelamento de eco / ruído em sua área de trabalho Linux usando PulseAudio, tendo o module-echo-cancel
carregado na inicialização, siga as etapas abaixo.
/etc/pulse/default.pa
como root com um editor de texto, como o Nano (editor de texto de linha de comando), por exemplo:sudo nano /etc/pulse/default.pa
Role para baixo até o final deste arquivo e cole o seguinte:
.ifexists module-echo-cancel.so
load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
set-default-source echocancel
set-default-sink echocancel1
.endif
Isto é o que o código faz: se o seu sistema PulseAudio for compilado com o módulo de cancelamento de eco / ruído, carregue este módulo, use webrtc como o método de cancelamento de eco (deve ser melhor do que o padrão speex), especifique os nomes de fonte e coletor, então defina essa fonte e coletor como padrão.
pulseaudio -k
Ou reinicie o seu computador.
Depois disso, verifique as configurações de som do seu sistema e os dispositivos de entrada e saída devem ter o nome padrão, mas com "echo cancelled with..." entre parênteses, por exemplo, "Built-in Audio Analog Stereo (echo cancelled with Built-in Audio Analog Stereo)" como na captura de tela no topo do artigo.
Isso deve persistir durante as reinicializações.
Se isso não funcionar para você, consulte o segundo método abaixo, para saber como carregar o módulo de cancelamento de eco sob demanda.
Para cancelar o eco / ruído da entrada do microfone apenas quando for necessário (por ter uma entrada do menu do aplicativo para ativá-lo), siga as etapas abaixo.
#!/usr/bin/env bash
pactl unload-module module-echo-cancel
pactl load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1
pacmd set-default-source echocancel
pacmd set-default-sink echocancel1
Isso descarrega o module-echo-cancel
se ele já foi carregado, em seguida, carrega este módulo com webrtc como o método de cancelamento de eco (deve ser melhor do que o padrão speex), especifica os nomes de origem e coletor e defina essa origem e coletor como padrão .
/usr/local/bin
usando este comando:sudo install echocancel /usr/local/bin
echocancel.desktop
em sua pasta de início com o seguinte conteúdo:[Desktop Entry]
Version=1.0
Name=Echo Cancel PulseAudio Module
Comment=Load the PulseAudio module-echo-cancel
Exec=echocancel
Icon=multimedia-volume-control
Type=Application
Categories=AudioVideo;Audio;
~/.local/share/applications/
, por exemplo, faça isso a partir da linha de comando usando:cp echocancel.desktop ~/.local/share/applications/
Agora você deve ver uma nova entrada chamada Echo Cancel PulseAudio Module
no menu de aplicativos. Ao clicar nele, ele deve carregar o volume do PulseAudio de cancelamento de eco / ruído.
Depois de executar isso, verifique as configurações de som do sistema e os dispositivos de entrada e saída devem ter o nome padrão, mas com "echo cancelled with..." entre parênteses, como na captura de tela no topo do artigo.
Caso você queira descarregar o módulo PulseAudio de cancelamento de eco, você pode executar:
pactl unload-module module-echo-cancel
Para saber mais sobre isso, consulte a documentação do PulseAudio sobre o module-echo-cancel
.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How To Enable Echo / Noise Cancellation Of Microphone Input On Your Linux Desktop (PulseAudio)