Puis-je configurer un périphérique audio de bouclage?

16

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?

D4RIO
la source
La vidéo présente quatre modes de bouclage de la carte son. youtu.be/pqV3P9zRyYc

Réponses:

11

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' arecordutilitaire 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é .

Caleb
la source
8

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 pareccommande (du pulseaudio-utilspackage Install pulseaudio-utils http://bit.ly/software-small ). Vous devrez peut-être convertir la sortie de parecen quelque chose utilisable avec SoX (Ubuntu: installez sox http://bit.ly/software-small ).sox

parec -r --rate=44100 | sox --type raw --rate 44100 - --type ogg recording.ogg
Gilles 'SO- arrête d'être méchant'
la source
cela n'a pas fonctionné pour moi, mais cette variation sur le thème a: askubuntu.com/questions/60837/…
ixtmixilix
4

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' ALSAappareil de lecture pour détourner l'audio vers un fichier.

Cela utilise un .asoundrcfichier (dans votre répertoire personnel):

pcm.teeraw {
   type empty
   slave.pcm "tee:default,'/tmp/out.raw',raw"
   # 48000 S16_LE 2ch (aplay -t raw -f dat)
}

Pour l'enregistrement depuis flash (sur firefox), j'utilise

FLASH_ALSA_DEVICE=teeraw firefox

Le fichier résultant /tmp/out.rawest au format brut, il faut donc le convertir pour savoir quels sont les bons paramètres. Bizarrement, lamesemble capable de résoudre cela par lui-même mais soxdoit le savoir explicitement. Les éléments suivants semblent donc tous fonctionner:

aplay -t raw -f dat -r 44100 /tmp/out.raw # to play
sox -r 44100 -b 16 -e signed -c 2 /tmp/out.raw /tmp/out.wav # to convert to wav
lame /tmp/out.raw # to convert to mp3
Espace de boucle
la source
Le lien du wiki Audacity est mort.
Suzana
0

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) ...

sdaau
la source