Mi tarjeta de sonido es Realtek ALC 892. En Windows 7 uso controladores oficiales de Realtek, en Linux uso PulseAudio (en Ubuntu 13.10). Tanto en Windows como en Linux, cuando habilito el refuerzo de micrófono + 30db (requerido porque mi micrófono está silencioso), obtengo un ruido de fondo muy molesto y fuerte (también confirmó el ruido de fondo con Audacity en ambos sistemas).
Sin embargo, los controladores de Windows Realtek tienen la opción de supresión de ruido que funciona (después de habilitarla, Audacity no muestra ruido de fondo y mis oídos también confirman que no hay ruido de fondo).
Mi pregunta es ¿cómo puedo habilitar la supresión de ruido de fondo en ALSA / PulseAudio? ¿Hay algún módulo que pueda instalar o tal vez haya una configuración que se pueda habilitar en el archivo de configuración?
No puedo encontrar una solución para esto y esto es lo único que me impide cambiar completamente a Linux: cuando hablo mucho con el micrófono y en Windows, el software Realtek elimina el ruido de fondo por completo y PulseAudio no lo elimina, lo que significa que la voz grabada en Linux es muy mala.
Sé que podría comprar una mejor tarjeta de sonido y micrófono, pero como dije, los controladores de Windows Realtek eliminan el ruido a nivel de software en tiempo real (es decir, no hay ruido cuando se habla en TeamSpeak3 / Steam / cualquier programa de VoIP), así que espero que exista esa opción en Linux también.
Esto también se ha cruzado en Ask Ubuntu, que a su vez ya se respondió aquí .
Respuestas:
De acuerdo con la especificación Realtek , el
aparece en la lista de Características del software . También busqué en la hoja de datos del conjunto de chips ALC892 y en realidad no es una característica del conjunto de chips. Por lo tanto, se confirma que esta funcionalidad es únicamente una función de software, manejada por su controlador Windows ALC892.
Por lo tanto, pondría el esfuerzo en una solución más general de la supresión de ruido en Linux, no vinculada a este controlador en particular:
/programming//q/4875818/684229
fuente
Si esta es una característica del dispositivo y no solo el software con el que vino (probablemente sea el primero), entonces debe implementarse en el controlador del kernel. 1 Me parece que, normalmente, las tarjetas de sonido Realtek PCI realmente utilizan el controlador Intel HDA con un parche para admitir los códecs ALC (para cualquier persona interesada:)
[src]/sound/pci/hda/patch_realtek.c
.Al buscar en la documentación de origen del núcleo, no se menciona "supresión de ruido" o "cancelación de eco" en relación con estos dispositivos. Al buscar la fuente del controlador, tampoco se menciona explícitamente. Creo que si se aplicara, esto es casi seguro que se documentó con una interfaz en
/proc
o/sys
que podría utilizar el software de espacio de usuario, o con opciones para el módulo del controlador.El problema, por supuesto, es que Realtek, como la mayoría de los fabricantes de hardware, considera que el código fuente de su controlador es secreto, lo que dificulta o imposibilita que terceros creen controladores para, por ejemplo, sistemas que Realtek no admite por completo, como Linux. . Realtek tiene una página que enumera un controlador de Linux , sin embargo, los enlaces parecen estar muertos. Si tienes mejor suerte, alguien tiene instrucciones para instalarlo aquí (es un sitio orientado a Mint, pero el proceso será el mismo para cualquier distribución). 2
Sin embargo , incluso si puede encontrar una copia en algún lugar, dudo mucho que el controlador implemente las funciones que desea, ya que no puedo mencionar esto. Lo más probable es que sea más o menos lo mismo que ya tienes; puede ser un poco mejor (esa página de Mint menciona que el controlador del kernel intercambia los altavoces laterales y traseros), pero también puede terminar siendo peor, o completamente no funcional, ya que los controladores fuera del árbol no son examinados por los desarrolladores del kernel y puede contener problemas en relación con el núcleo del que los autores desconocen (tenga en cuenta que los autores del parche hda en el árbol tienen
@realtek.com.tw
direcciones de correo electrónico).Entonces, a menos que escuche algo diferente, probablemente no tenga suerte. Puede buscar soluciones de software para esto, tales funciones aparentemente son implementadas por Skype en Linux, por lo que evidentemente pueden funcionar en tiempo real usando solo software. Alguien también ha escrito un artículo sobre eso, jajaja. Desafortunadamente, no tuve más suerte buscando por ahí.
Aquí se discute el uso de las funciones de
alsamixer
para lograr una reducción de ruido. Yo creo que tendrá que desactivar PulseAudio para hacer eso.1. Pulseaudio es en realidad una herramienta de espacio de usuario que está construida sobre ALSA, el subsistema de sonido del kernel (es decir: pulseaudio no implementa el acceso al hardware, solo funciona con transmisiones que provienen / van al controlador del kernel).
2. Si lo encuentra, quiere la versión 3.0, no la versión 2.6. Esos números se refieren a la versión del núcleo de Linux con el que son compatibles y está utilizando un núcleo 3.x. Sin embargo, una vez más, si su sonido es por lo demás bien, yo fuertemente recomiendo no molestar con esto, ya que es poco probable que hacer algo por ti.
fuente
Habilitar el
webrtc
complemento para pulseaudio ayudó para mi caso. Publiqué los pasos para habilitar en mi respuesta en askubuntu.fuente