ReLoad

Thierry Jaouen ~ WikiBlog
"Rien à foutre d'être lu, tant que je peux me relire."

Outils pour utilisateurs

Outils du site


blog:2012:10:21:capturer_le_son_sortant_du_pc

Capturer le son sortant du PC

Le but: enregistrer dans un fichier les sons produits par mon PC.

Ma conf: Debian Squeeze + Alsa

Les méthodes essayés et que je n'ai pas réussi a utiliser:

Solution

Au final, j'ai trouvé ce lien: http://www.swview.org/node/213

~~READMORE~~

Et ça fonctionne. Mais il y a encore plus simple dans les commentaires:

Dans sa “home”, créer un fichier nommé: .asoundrec et faire en sorte qu'il contienne:

pcm.!default {
  type empty
  slave {
      pcm "tee:'plughw:0,0','~/audiocap.wav',wav"
  }
}

Voila. Tout ce qui sort du PC , via le moteur Alsa , sera dupliqué dans le fichier audiocap.wav

Pour créer directement un mp3 plutôt qu'un wav:

pcm "tee:'plughw:0,0','|lame -S -r -s %r --bitwidth %b -m j - ~/audiocap.mp3',raw"

Plusieurs fichiers

Mais il y a un problème: a chaque fois que nécessaire, le même fichier est recréé !

Donc, voila ma méthode pour que le nom change a chaque fois :
Pour les wav:

pcm "tee:'plughw:0,0','|/bin/bash -c \\'dd bs=128k of=~/audiocap-`date +%%F-%%X`.wav\\'',wav"

Pour les mp3:

pcm "tee:'plughw:0,0','|/bin/bash -c \\'lame -S -r -s %r --bitwidth %b -m j - ~/audiocap-`date +%%F-%%X`.mp3\\'',raw"

Chaque fichier créé commence par “audiocap-” , et est complété avec la date et l'heure de la création.

Pour désactiver la capture, il suffit de changer le nom du fichier .asoundrec , et de relancer l'application générant le son.

En pratique

En pratique, j'ai créé un autre utilisateur sur ma “Debian Squeeze” pour que je n'ai pas a toucher au fichier “.asoundrec” a chaque fois.

Donc, j'ai créé un nouvel utilisateur:

$ su
# adduser recman

A minima, il doit être dans le groupe “audio”

# adduser recman audio

Retour sur mon bureau “kde”.
Afin que ce compte puisse lancer des applications dans mon environnement Kde , je créé un petit fichier de démarrage :
~/.kde/Autostart/xhost4recman , contenant:

#!/bin/sh
xhost +local:recman
exit 0

Rendre executable:

$ chmod a+x ~/.kde/Autostart/xhost4recman

Pour eviter de redemarrer ma session, l'executer tout de suite:

~/.kde/Autostart/xhost4recman

Maintenant, je peus entrer sur ce compte, créer le fichier ~/.asoundrec qui me convient, et puis démarrer firefox , chrome , ou n'importe quelle application pouvant générer des sons a enregistrer. Exemple:

$ su - recman
recman@monpc:~$ firefox &

Etc…

PS: on ne peut pas lancer plusieurs applications utilisant le son avec cette technique. A moins de bypasser Alsa .

En passant

Pour convertir un wav en mp3 :

$ lame fichier.wav fichier.mp3

Mais je préfère:

$ lame --preset extreme fichier.wav fichier.mp3

Voila.

blog/2012/10/21/capturer_le_son_sortant_du_pc.txt · Dernière modification: 2012/10/22 00:02 par thierry