Micrófono sin ruido estático en GNU/Linux con Pulseaudio
Te debe haber pasado que tu micrófono captura además del sonido un ruido de fondo como de fritura, se le llama ruido estático o hiss. Este ruido se puede eliminar con filtros como los que trae pulseeffects, o en la edición pero hay una forma mas simple con un módulo de PulseAudio.
Micrófono con ruido de fondo
Cuando grabas un podcast, una locución para la radio, realizas una videoconferencia o un videotutorial resulta muy molesto ese ruido de fondo que se escucha en todo momento y que se hace más evidente en los silencios.
Y a pesar que esto se puede minimizar luego en la edición o interponiendo filtros durante la grabación (cosa que es preferible) siempre es mejor tener una toma limpia que luego facilite considerablemente la edición de los audios.
Por suerte para quienes usan el servidor de sonido PulseAudio existe una manera muy sencilla de reducir este ruido estático mediante un módulo que activaremos en unos sencillos pasos.
PulseAudio el módulo module-echo-cancel
Mediante la activación de este módulo en la configuración de PulseAudio añadiremos una reducción de ruido considerable de forma sencilla, esta reducción la notarás fundamentalmente en micrófonos de baja calidad como los integrados de las notebooks o los de mesa de electret, en micros de mayor calidad con interfaces de audio se notará pero normalmente estos dispositivos tienen una captura mas limpia.
Los pasos son muy sencillos, debes editar el archivo default.pa y añadir unas líneas para activar los cambios con nano o el editor de texto plano de tu distro.
Con nano como administrador:
nano /etc/pulse/default.pa
Con un editor de texto, por ejemplo Pluma en EterTICs o Mousepad:
pluma /etc/pulse/default.pa
En la siguiente imagen puedes ver el archivo original abierto con Mousepad previo a hacer los cambios…
La primera línea la vas a pegar debajo de load-module-filter-apply, el contenido de la misma es:
load-module module-echo-cancel aec_args="analog_gain_control=0 digital_gain_control=0" source_name=noiseless
Esa línea carga el módulo module-echo-cancel y adicionalmente inhibirá el molesto comportamiento que viene por defecto en la captura de micrófono de PulseAudio que hace que los niveles de grabación varíen según el volumen de la voz, esto es especialmente importante porque ese comportamiento dificulta enormemente ajustar volúmenes fijos para grabar.
La segunda línea va debajo de la línea comentada set-default-source input y es:
set-default-source noiseless
El resultado se ve en la siguiente imagen:
Para terminar guardas los cambios en el archivo y recargas PulseAudio o reinicias la sesión, para recargar PulseAudio ejecuta como usuario normal:
pulseaudio -k
Abre el Control de Volúmen de PulseAudio y en Dispositivos de entrada marca como te mostramos la opción de captura que contiene el dispositivo marcado con (echo cacelled…) para intentar que sea tomado por defecto para capturar.
De todas maneras cuando abras una aplicación que capture audio con el micrófono como Audacity puedes seleccionar (echo cancelled…) como fuente para la captura como se ve aquí debajo….
Luego de estos ajustes notarás un cambio significativo en tus grabaciones que sin duda te ayudarán en la edición o en los vivos que hagas de ahora en adelante. Si por cualquier motivo está configuración te da algún problema solo debes revertir lo hecho editando nuevamente el archivo default.pa y dejándolo como estaba antes de los cambios, reinicias nuevamente PulseAudio o cierras y abres sesión y como si nada.
Como en cada post intentamos demostrar en la práctica que las cosas funcionan así que te dejo dos audios grabados con Audacity, uno sin suprimir el ruido y otro con echo-cancel activado.
A pesar que se nota la diferencia, el hecho de que esté grabado con un buen micro hace que no sea tan evidente el cambio, si tu no tienes uno de estos micros con su interfaz de audio o uno USB de calidad, sin duda notarás mucho más la mejora en la calidad del audio.
Gracias. Yo lo prebé y mejora. Sin embargo sigo teniendo el problema de la “fritura” al hablar. Estoy en conferencia por zoom y la gente me escucha con ruido de fondo solo cuando hablo. Es como si hubiera una interferencia. El mic es nuevo y los cables también. ¿Cómo se puede solucionar?…
Saludos.