Si puedo enviar audio a los dispositivos de salida, entonces puedo grabar el mismo audio que una onda. Con los sistemas de archivos, puede configurar un sistema de archivos de bucle invertido y escribir datos binarios en un archivo en lugar de un dispositivo.
Mi pregunta es: ¿puedo enviar la señal de audio a (por ejemplo) un archivo WAV en lugar de mis dispositivos de audio? ¿Cómo?

Respuestas:
Si.
En realidad hay muchas formas. Puede configurar un dispositivo de tarjeta de sonido ficticio que simplemente puede extraer los datos del dispositivo ... sin embargo, este no es un formato muy útil.
Más útil para usted es algo como la
arecordutilidad que le permite espiar la secuencia de salida de alsa y guardarla en varios formatos conocidos. Básicamente, todo lo que puede reproducir en el sistema de sonido alsa puede copiarse en un archivo de sonido de formato estándar.Existen herramientas similares para el audio de pulso .
fuente
Si su sistema, o solo la aplicación que desea grabar, dirige su salida a un servidor de sonido , busque posibilidades de grabación para ese servidor de sonido. Por ejemplo, en Ubuntu, el servidor de sonido oficial es PulseAudio , que viene con el
pareccomando (delpulseaudio-utilspaquete Instalar pulseaudio-utils http://bit.ly/software-small ). Puede que necesite convertir la salida deparecalgo usable con SoX (Ubuntu: Install sox http://bit.ly/software-small ).soxfuente
Se supone que es posible grabar directamente en Audacity, pero no pude hacer que eso funcione en mi sistema (Ubuntu 10.10). Entonces, siguiendo las instrucciones aquí de la wiki de Audacity, uso el
ALSAdispositivo de reproducción para desviar el audio a un archivo.Esto utiliza un
.asoundrcarchivo (en su directorio de inicio):Para grabar desde flash (en firefox), uso
El archivo resultante,
/tmp/out.rawestá en formato sin formato, por lo que la conversión necesita saber cuáles son los parámetros correctos. Curiosamente,lameparece capaz de resolver esto por sí mismo, perosoxnecesita saberlo explícitamente. Entonces, lo siguiente parece funcionar:fuente
Hay un controlador de bucle invertido en el árbol ALSA, aloop-kernel.c (a través de aquí ); que tendrías que construir tú mismo (y descubrir su utilización como dispositivo a través de aplicaciones de audio como
aplay/arecord) ...fuente