Plutôt que d'enregistrer la sortie d'un logiciel il peut être utile de récupérer tout ce qui sort par les haut-parleurs.
Cette page présente différentes méthodes selon le serveur son utilisé.
Table des matières
PulseAudio
Si vous n'avez pas lancé Jack, c'est PulseAudio qui fait l'interface entre les applications et les pilotes de cartes son (au moins sur certaines distributions).C'est avec GStreamer que l'on va récupérer la sortie du pilote de la carton son.
La commande pactl permet d'envoyer des commandes au serveur PulseAudio.
Ici on lui demande les entrées et sorties de la carte son :
pactl list | grep -A2 "^Source"
La commande grep affiche les deux lignes suivant celle qui contient le mot Source trouvé au tout début (en plus de cette dernière).
J'obtiens sur mon ordinateur :
Source #0 State: IDLE Name: alsa_output.pci-0000_00_08.0.analog-stereo.monitor -- Source #1 State: SUSPENDED Name: alsa_input.pci-0000_00_08.0.analog-stereo
Ce qui nous intéresse ici c'est la sortie (appelée output), on va la donner en paramètre à l'outil gst-launch qui commande GStreamer :
gst-launch-1.0 pulsesrc device=alsa_output.pci-0000_00_08.0.analog-stereo.monitor mute=false volume=1 ! audio/x-raw,channels=2 ! wavenc ! filesink location=capture.wav
info
Tous les paramètres doivent être sur la même ligne.
Selon le système, la commande disponible est soit gst-launch-0.10 soit gst-launch-1.0.
Selon le système, la commande disponible est soit gst-launch-0.10 soit gst-launch-1.0.
Les paramètres sont :
- pulsesrc = source PulseAudio
- device=alsa_output... = sortie de la carte son trouvée plus haut
- mute=false : on s'assure que le son n'est pas coupé
- volume=1 : le volume sonore par défaut, sans ce paramètre le son enregistré dépendra du volume général
- channels=2 : stéréo (par défaut c'est du mono)
- wavenc = conversion en fichier WAV
- filesink = renvoi vers un fichier
- location = emplacement du fichier WAV
Pour arrêter l'enregistrement, il suffit de stopper le programme avec la combinaison de touches Ctrl+C.
Jack
Avec Jack il suffit de lancer l'outil jack_capture, il connecte et enregistre automatiquement tous les sons en ligne de commande même ceux qui sont ouvert après son lancement :jack_capture
Une fois l'enregistrement terminé, tapez sur la touche Entrée dans la fenêtre où jack_capture a démarré.
Options
Par défaut la sortie est enregistrée au format WAV, il est possible de spécifier flac, ogg ou mp3, ainsi que le nom du fichier :jack_capture -f flac mon_flac.flac
RecordMyJackOutput
Il peut être pratique d'avoir ça à portée de souris pour faire une capture à la volée.
En super utilisateur, on se crée une entrée de menu dans
/usr/share/applications/
:nano /usr/share/applications/JACK\ Capture.desktop
Lui coller ceci :
[Desktop Entry] Name=JACK Capture Comment=Record Playback Jack output Exec=/usr/bin/jack_capture_gui Terminal=true Icon=/usr/share/icons/Tango/scalable/actions/media-record.svg Type=Application Categories=AudioVideo;Audio;
Vous pourrez l'atteindre depuis votre menu habituel et l'intégrer sur un de vos panel...
Vérifié que le pack d’icônes soit bien présent sinon il faut en choisir un autre...
- Autre nom de la page :
Enregistrer tout ce qui sort de la carte son