GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo habilitar la cancelación de eco/ruido de la entrada del micrófono en tu escritorio Linux (PulseAudio)

PulsAudio viene con un módulo que se puede usar para realizar la cancelación del eco acústico de la entrada del micrófono y alguna reducción del ruido de fondo. Este módulo no está habilitado de forma predeterminada en la mayoría (si no en todas) las distribuciones de Linux, por lo que este artículo le mostrará cómo habilitarlo.

Le mostraré dos formas de habilitar el módulo PulseAudio Echo Cancel:una que lo hace permanente para que se inicie automáticamente cuando inicia sesión en su escritorio y otra que le permite habilitar la cancelación de eco si lo necesita, cuando lo necesite.

Esto no es solo para ofrecer 2 alternativas, sino también para eludir un insecto PulseAudio, esto sucede, por ejemplo, cuando se conecta un auricular después de que se ha cargado el módulo Echo Cancel, lo que significa que no cambia automáticamente al nuevo sink_master . Además, en mi caso, la carga de Module Echo Cancel no funciona en absoluto al inicio (no estoy seguro de por qué), pero se puede cargar sin problemas después de iniciar sesión con el segundo método a continuación.

[[Editar]]Para aquellos que tienen varios micrófonos conectados a su computadora, he agregado una nueva sección a este artículo que explica cómo elegir a qué micrófono aplicar la cancelación de eco/ruido (la nueva sección se llama Cómo para seleccionar el micrófono en configuraciones con múltiples micrófonos para usar con el módulo PulseAudio-echo-cancel ).

Cómo habilitar la cancelación de eco del módulo PulseAudio al inicio

Para tener siempre supresión de eco/ruido en su escritorio Linux con PulseAudio y tener el módulo de supresión de eco cargado al inicio, siga los siguientes pasos.

1. Editar /etc/pulse/default.pa como root con un editor de texto como Nano (editor de texto de línea de comandos), por ejemplo:

sudo nano /etc/pulse/default.pa

Desplácese hasta la parte inferior de este archivo y pegue lo siguiente:

.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

Esto hace esto:si su sistema PulseAudio está compilado con el módulo de cancelación de eco / ruido, cargue este módulo, use webrtc como método de cancelación de eco (debería ser mejor que el speex estándar), proporcione un nombre de fuente y receptor, luego inserte Usted establece esta fuente y sumidero como predeterminados.

2. Una vez que haya guardado el archivo, vuelva a cargar PulseAudio con este comando:

pulseaudio -k

O reinicie su computadora.

Luego busque en la configuración de sonido de su sistema y los dispositivos de entrada y salida deben tener el nombre predeterminado, pero con "Echo cancelado con..." entre paréntesis, p. Audio analógico estéreo) "como en la captura de pantalla anterior en el artículo.

Esto debería persistir incluso después de reiniciar.

Si esto no funciona para usted, consulte el segundo método a continuación para cargar la cancelación de eco del módulo si es necesario.

Cómo activar la cancelación de eco del módulo PulseAudio si es necesario

Para tener la cancelación de eco/ruido de la entrada del micrófono solo cuando sea necesario (al tener un elemento del menú Aplicaciones para habilitarlo), siga los pasos a continuación.

1. Cree un nuevo archivo en su carpeta de inicio llamado echocancel con el siguiente contenido:

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

Esto descarga module-echo-cancel si ya estaba cargado, luego carga este módulo con webrtc como método de cancelación de eco (debería ser mejor que el speex estándar), proporciona un nombre de fuente y sumidero, luego configura esa fuente y sumidero fijo como estándar.

2. Una vez que haya guardado el archivo, hágalo ejecutable y cópielo en algún lugar de su ruta. Puedes hacerlo ejecutable y en /usr/local/bin con este comando:

sudo install echocancel /usr/local/bin

3. Crea un archivo llamado echocancel.desktop en su carpeta de inicio con el siguiente contenido:

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

4. Guarde el archivo y cópielo en ~/.local/share/applications/ , p.ej. haz esto desde la línea de comando con:

cp echocancel.desktop ~/.local/share/applications/

Ahora debería tener una nueva entrada llamada. ver Echo Cancel PulseAudio Module en el menú de tu aplicación. Al hacer clic en él, debería cargarse el volumen de PulseAudio para la cancelación de eco/ruido.

Después de hacer esto, verifique la configuración de sonido de su sistema y los dispositivos de entrada y salida deben tener el nombre predeterminado pero con "eco cancelado con..." entre paréntesis, como en la captura de pantalla anterior en el artículo.

Si desea descargar el módulo PulseAudio para la cancelación de eco, puede hacer lo siguiente:

pactl unload-module module-echo-cancel

Cómo seleccionar el micrófono en configuraciones con múltiples micrófonos para usar con el módulo PulseAudio-echo-cancel

Si su sistema tiene varios micrófonos, aplique la cancelación de eco/ruido al micrófono que desea usar. Comience a enumerar los nombres de las fuentes de audio con:
LANG=C pacmd list-sources | grep name:
Esto debería generar algo como esto:


LANG=C pacmd list-sources | grep name:

name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1.monitor> name: <alsa_input.pci-0000_00_1b.0.analog-stereo> name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor> name: <alsa_input.usb-046d_0819_FEB73FA0-02.mono-fallback>

Tenga en cuenta que en mi ejemplo 2 de las fuentes tienen "entrada" en sus nombres. Debe averiguar a qué micrófono desea aplicar la cancelación de eco.

Si tiene el nombre del micrófono que desea usar, ahora necesita el load-module module-echo-cancel Incluya una línea en uno de los dos métodos usados ​​anteriormente (ya sea usando el método para habilitar la cancelación de eco del módulo PulseAudio al inicio o el método para activar la cancelación de eco del módulo PulseAudio si es necesario) source_master=<SOURCE_NAME> , sustituye SOURCE_NAME con el nombre de la fuente encontrada como se describe arriba (por ejemplo:alsa_input.pci-0000_00_1b.0.analog-stereo de mi ejemplo anterior).

Teniendo en cuenta las instrucciones anteriores para habilitar la cancelación de eco del módulo PulseAudio al inicio y habilitar la cancelación de eco del módulo PulseAudio si es necesario desde arriba, deberá cambiar esos load-module module-echo-cancel Gestión:

de:

  • para activar la cancelación de eco del módulo PulseAudio al inicio:

load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • para activar la cancelación de eco del módulo PulseAudio si es necesario:

pactl load-module module-echo-cancel aec_method=webrtc source_name=echocancel sink_name=echocancel1

Además:

  • para activar la cancelación de eco del módulo PulseAudio al inicio:
load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

  • para activar la cancelación de eco del módulo PulseAudio si es necesario:
pactl load-module module-echo-cancel source_master=<SOURCE_NAME> aec_method=webrtc source_name=echocancel sink_name=echocancel1

Por ejemplo:

pactl load-module module-echo-cancel source_master=alsa_input.usb-046d_0819_FEB73FA0-02.mono-fallback aec_method=webrtc source_name=echocancel sink_name=echocancel1

Puede encontrar más información sobre esto en la documentación de cancelación de eco del módulo PulseAudio.


Linux
  1. Cómo cambiar el color de tu terminal Linux

  2. Cómo ampliar la funcionalidad de su escritorio Linux con PlexyDesk

  3. ¿Cómo comparar o comprobar la velocidad de su servidor DNS en Linux?

  4. Linux:¿cómo determinar qué módulo contamina el kernel?

  5. Cómo habilitar la entrada predictiva en su escritorio Linux con ibus-typing-booster

Cómo agregar un usuario a su escritorio Linux

Cómo ha crecido el escritorio de Linux

Cómo navegar por su escritorio GNOME Linux con solo un teclado

Cómo cambiar el color de salida de 'Echo' en Linux

¿Cómo cambiar el esquema de partición en su servidor Linux?

Cómo instalar Steam en el escritorio de Linux | Juega tus juegos favoritos