Si je peux envoyer de l'audio aux périphériques de sortie, je peux enregistrer le même audio qu'une onde. Avec les systèmes de fichiers, vous pouvez simplement configurer un système de fichiers en boucle et écrire des données binaires sur un fichier au lieu d'un périphérique.
Ma question est: Puis-je envoyer le signal audio vers un fichier (par exemple) WAV au lieu de mes appareils audio? Comment?
Réponses:
Oui.
En fait, il existe de nombreuses façons. Vous pouvez configurer un périphérique de carte son factice sonore que vous pouvez simplement extraire les données de l'appareil ... mais ce n'est pas un format très utile.
Plus utile pour vous est quelque chose comme l'
arecord
utilitaire qui vous permet de jeter un œil sur le flux de sortie alsa et de l'enregistrer dans plusieurs formats connus. Fondamentalement, tout ce que vous pouvez jouer sur le système audio alsa peut être copié dans un fichier son au format standard.Des outils similaires existent pour l'audio pulsé .
la source
Si votre système, ou simplement l'application que vous souhaitez enregistrer, dirige sa sortie vers un serveur audio , examinez les possibilités d'enregistrement pour ce serveur audio. Par exemple, sur Ubuntu, le serveur de son officiel est PulseAudio , qui vient avec la
parec
commande (dupulseaudio-utils
package Install pulseaudio-utils http://bit.ly/software-small ). Vous devrez peut-être convertir la sortie deparec
en quelque chose utilisable avec SoX (Ubuntu: installez sox http://bit.ly/software-small ).sox
la source
Il est censé être possible d'enregistrer directement dans Audacity, mais je n'ai pas pu faire fonctionner cela sur mon système (Ubuntu 10.10). Donc, en suivant les instructions ici du wiki Audacity, j'utilise l'
ALSA
appareil de lecture pour détourner l'audio vers un fichier.Cela utilise un
.asoundrc
fichier (dans votre répertoire personnel):Pour l'enregistrement depuis flash (sur firefox), j'utilise
Le fichier résultant
/tmp/out.raw
est au format brut, il faut donc le convertir pour savoir quels sont les bons paramètres. Bizarrement,lame
semble capable de résoudre cela par lui-même maissox
doit le savoir explicitement. Les éléments suivants semblent donc tous fonctionner:la source
Il y a un pilote de bouclage dans l'arborescence ALSA, aloop-kernel.c (via ici ); que vous devez construire vous-même (et comprendre son utilisation en tant qu'appareil via des applications audio comme
aplay
/arecord
) ...la source