Blog Linux Avante

Como ativar o cancelamento de eco / ruído da entrada de microfone em seu desktop Linux (PulseAudio)

14 de maio de 2021

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.

Preferências do sistema mostrando entrada de áudio com cancelamento de ruído

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.

Como habilitar o cancelamento de eco do módulo PulseAudio na inicialização

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.

  1. Edite /etc/pulse/default.pa como root com um editor de texto, como o Nano (editor de texto de linha de comando), por exemplo:

Comandos para usar no terminal

sudo nano /etc/pulse/default.pa

Role para baixo até o final deste arquivo e cole o seguinte:

Comandos para usar no terminal

.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.

  1. Depois de salvar o arquivo, recarregue o PulseAudio usando este comando:

Comandos para usar no terminal

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.

Como habilitar o cancelamento de eco do módulo PulseAudio 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.

  1. Crie um novo arquivo em sua pasta de início chamado echocancelcom o seguinte conteúdo:

Comandos para usar no terminal

#!/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 .

  1. Depois de salvar o arquivo, torne-o executável e copie-o em algum lugar do seu caminho. Você pode torná-lo executável e colocá-lo em /usr/local/bin usando este comando:

Comandos para usar no terminal

sudo install echocancel /usr/local/bin

  1. Crie um arquivo chamado echocancel.desktop em sua pasta de início com o seguinte conteúdo:

Comandos para usar no terminal

[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;

  1. Salve o arquivo e copie-o ~/.local/share/applications/, por exemplo, faça isso a partir da linha de comando usando:

Comandos para usar no terminal

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:

Comandos para usar no terminal

pactl unload-module module-echo-cancel

Para saber mais sobre isso, consulte a documentação do PulseAudio sobre o module-echo-cancel.

Confira a versão original desse post em inglês
Propaganda
Blog Comments powered by Disqus.
Propaganda