
Con pulseaudio, fue fácil cargar un módulo para reducción de ruido del micrófono. Este enlace lo explica claramente: https://askubuntu.com/questions/18958/realtime-noise-removal-with-pulseaudio
Quiero agregar rnnoise como complemento de pipewire para cancelar el ruido del micrófono para todos los usuarios.
Estoy buscando una solución minimalista y me gustaría evitar aplicaciones. Como éste: https://github.com/noisetorch/NoiseTorch?tab=readme-ov-file
Respuesta1
Instalarsupresion-de-ruido-por-voz. A partir de abril de 2024, no hay ningún paquete de Ubuntu, consulteeste tema abiertopara obtener instrucciones de instalación. Sin embargo, está empaquetado para Arch, Alpine, Gentoo y openSUSE. Consulte su archivo README para conocer las configuraciones que puede modificar.
Respuesta2
Encontré una manera de cargarlo rnnoise
como pipewire
complemento para todos los usuarios.
Paso 1:
En esta páginaPuede descargar los rnnoise
controladores compilados para Linux X86. Esta no es la última versión de rnnoise
. Si desea la última versión, creo que debe realizar la compilación usted mismo desde elrepositorio oficial de github.
Paso 2:
En el archivo descargado, encontrará las bibliotecas de Linux necesarias. Tome siempre mono libs. ¡Probablemente solo tengas un micrófono! Te propongo almacenarlos en /usr/lib/audio/
Así que tendrás que crear la carpeta audio. Cuando cambié el nombre de los archivos, ahora tengo en esta carpeta:
- ladspa.so
- lv2.so
- vst3.so
- vst.so
Paso 3
Crea las 2 pipewire
carpetas para obtener esta ruta:
/etc/pipewire/pipewire.conf.d/
Etapa 4
En esta carpeta cree el archivo 99-mic-denoising.conf
. En este archivo pegue este contenido:
context.modules = [
{name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = /usr/lib/audio/ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 90.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]
Paso 5
Reinicie el demonio pipewire:
systemctl restart --user pipewire.service
Ahora en la configuración de gnome puedes elegir el micrófono con cancelación de ruido.
Comentarios
- Así que utilizamos el módulo de cadena de filtro Pipewire.. Consulta la documentación, es muy útil.
- Cada aplicación (que usa audio) ha sido diseñada para usar un estándar (llamado API de complemento de audio):
- ladspa: estándar abierto... pero no es el más nuevo
- lv2: estándar abierto... el más nuevo
- vst3: estándar propietario (no deberías verlo con programas de código abierto)
- vst: estándar propietario (no deberías...)
Entonces, la solución que proporcioné no cubre aplicaciones que usan el complemento de audio lv2 (no me importan los estándares propietarios). Cualquier ayuda para lv2 es bienvenida.