Filtro de microfono para Windows sin RTX con Equalizer APO y Real-time Noise Suppression Plugin

Dada la necesidad imperiosa de solucionar de una vez por todas que alguien en Discord esté constantemente con el cuadrado en verde, es que hago este tutorial para instalar un sencillo filtro de sonido, que no depende de ninguna GPU o hardware en particular.

Como contexto, a diferencia de soluciones más pro como NVIDIA RTX Voice , este se basa completamente en CPU, siendo compatible con cualquier PC (tanto en Windows como Linux; para MacOS está pero no hay mucha documentación). Ambos proyectos en los que se basan esta solución son código libre, en constante mantención, los que los hace gratis y con parches al día.

Y como experiencia personal, he usado este filtro tanto en dispositivos internos (la típica entrada de micrófono por Realtek) como por micrófonos USB, en varios dispositivos al mismo tiempo. No he tenido experiencia con otros dispositivos como tarjetas de sonido externas, pero de igual manera me ha funcionado con dispositivos virtuales como el Micrófono de Oculus, así que supongo que la gama de compatibilidad es amplia.

Por cierto... habrán partes del tutorial tanto es español como en inglés; priorizaré las que estén disponibles en español, pero las que no tengan traducción disponible estarán en ingles.

Paso 1: Preparación

Antes de empezar, habrá que revisar si los dispositivos de entrada de audio son compatibles con esta solución. Para ello hay que ir a la configuración; un atajo es hacer click derecho/secundario sobre el ícono de volumen, seleccionar Sonidos, y luego ir a la pestaña Grabación. Una vez allí tendremos que seleccionar el dispositivo a usar haciendo doble click en él (o seleccionar una vez sobre el dispositivo y luego presionar Propiedades).

Una vez allí, en la pestaña Opciones Avanzadas, tendremos que revisar dos cosas importantes:

  1. En Formato predeterminado, seleccionar una opción que esté a 48.000 Hz (o calidad DVD). Puede ser en 1 o 2 canales.
  2. En Mejoras de señal, debe estar disponible la opción Habilitar mejoras de audio. Este debe quedar como habilitado.

De no estar disponibles ambas configuraciones, el filtro podría no funcionar como se espera, o no funcionar en absoluto. Esta configuración se debe aplicar a cada dispositivo que queramos aplicar el filtro.

Paso 2: Descarga

Tenemos que descargar dos programas. El primero es Equalizer APO, que descargaremos desde sourceforge.net.

https://sourceforge.net/projects/equalizerapo/
(EqualizerAPO64-1.3.2.exe)

(A menos que haya cambiado la interfaz) Presionamos directamente el botón verde que dice Download para bajar la última versión disponible; no existe limitación en usar una versión en especial, así que aquí too pa delate. Esto bajará el instalador .exe.

Este servirá para gestionar los diferentes filtros de sonido, incluyendo el filtro.

Lo segundo a descargar es el filtro en sí. Para ello vamos al repo de @werman en Github:

https://github.com/werman/noise-suppression-for-voice/releases (win-rnnoise.zip)

De la versión más reciente (la primera en la lista), descargamos el archivo .zip que haga referencia a Windows. Este lo dejamos en un rincón por ahora.

Paso 3: instalación

Primero instalamos Equalizer APO. Simplemente abrir el instalador, y le damos siguiente con todas las opciones por defecto.

Una vez que se hayan copiado los archivos se abrirá una ventana con un configurador. Allí vamos a la segunda pestaña Capture devices.

Allí hacemos check en los dispositivos que queramos usar el filtro. No es necesario seleccionar todos los dispositivos, luego se puede cambiar posteriormente.

¡Importante! En caso de tener AMD, recomiendo aplicar esta opción para maximizar compatibilidad: Activar la opicón Troubleshooting options, y en cada dispositivo a activar, hacemos click en el item de la lista, y luego en la opciones en la esquina inferior derecha, cambiar la opción a Install as SFX/MFX.

En este punto podemos copiar los archivos del filtro. Para ello descomprimimos los archivos del archivo win-rnnoise.zip, navegamos a la carpeta
hasta ver la carpeta vst, y la copiamos a la carpeta de instalación (por defecto en C:\Program Files\EqualizerAPO\VSTPlugins). De no tener derechos de administrador, puede quedar en una carpeta a gusto, donde nos aseguremos que no se modifique ni elimine.

Paso 4: Configuración

Ya instalado, hay que abrir la configuración de Equalizer APO. Este se encuentra en Inicio > Equalizer APO x.x.x (la versión instalada) > Configurator. Si al abrir nos aparece el mensaje APO not installed to device, le damos al botón No.

Ya dentro, podemos tener varias configuraciones, pero trabajaremos con la configuración predeterminada.
En caso que queramos manejar diferentes paneles añadiremos un primer panel antes. Desde el botón +, seleccionamos el panel Control > Device (Select device). En este panel le damos al botón Change... y seleccionamos los dispositivos de entrada a usar.
Si solo queremos manejar solo uno, desde la esquina superior derecha, de la lista Device, seleccionamos el dispositivo de entrada a usar.

Luego añadimos el panel de filtros: Desde el botón +, seleccionamos el panel Plugins > VST plugin. En ese panel, en el ícono de carpeta, seleccionamos el archivo DLL con el plugin (el que copiaste a C:\Program Files\EqualizerAPO\VSTPlugins\vst). Podemos seleccionar el archivo rnnoise_mono.dll o rnnoise_stereo.dll según si el dispositivo tiene 1 o 2 canales respectivamente.

Ya cargado el plugin, le damos a las configuraciones específicas. Según la documentación cada barra

  1. VAD Threshold (%): Umbral de volumen para aplicar el filtro; si la voz está bajo este umbral será silenciado. Valores más alto generan un filtro más agresivo.
  2. VAD Grace Period (ms): Ventana de tiempo en que el filtro de aplica. Valores más altos deja más tiempo el filtro abierto durante se habla (para evitar que se corte la voz prematuramente).
  3. Retroactive VAD Grace Period (ms): Lo mismo que VAD, pero para abrir el filtro al iniciar la voz. Esto añade latencia.

Y listo! 👍

Con todo aplicado, se puede pasar por algún software de manejo de sonidos como VoiceMeeter, o directamente a algún programa para llamada como Discord o Zoom. De ser necesario, se puede añadir nuevos dispositivos entrada y aplicar la configuración global o por dispositivo.