Rediriger le son Mozilla avec sox et pulseaudio, est-ce possible?

tropsimple Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

connecter en ligne de commande le son provenant de Mozilla avec sox via pulseaudio pour l'enregistrer avec sox en MP3 de préférence (pour pouvoir l'utiliser dans d'autres applications, par ex. "granule", la boîte virtuelle de fichier pour apprendre les langues étrangères, est-ce possible?
ceci pour rendre possible la liaison directe d'une source de sons bien définie avec uniquement un enregistreur de son aussi bien défini (et si possible permettre de gérer sans interférence aucune d'autres sons tels que, par ex., écouter un CD musical ou autre sur la sortie son usuelle)
Configuration: Linux / Firefox 35.0
A voir également:

1 réponse

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 224
 
'lut,
oui, c'est possible, et pas bien complexe.

1. Créer une sortie audio bidon

pacmd load-module module-null-sink sink_name=sox sink_properties="'device.description=\"Sortie pour Sox\"'"

2. Rediriger l'audio de Firefox

Exemple avec
pavucontrol
:

3. Utiliser sox pour enregistrer

En utilisant le moniteur de la sortie qu'on vient de créer comme source de l'audio:
sox -t pulseaudio sox.monitor -t mp3 test.mp3

À laisser tourner tout le temps où tu veux enregistrer.

4. Nettoyer

Une fois fini on peut enlever la sortie audio bidon:
pactl unload-module $(pactl list short modules | grep sink_name=sox | cut -f1)

PulseAudio remettra automatiquement Firefox sur la 1ère sortie audio dispo dans sa liste.
2
tropsimple Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
excellent! merci! Peut-on éviter (en ligne de commande) le pas dans Pavucontrol? crdlmt
0
ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 224 > tropsimple Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Oui on peut; ma ligne est un peu longue parce qu'il faut rediriger toutes les sorties de Firefox une à une...
for s in $(pactl list short sink-inputs | awk -F'\t' "{ if (\$3 == $(pactl list short clients | grep firefox | cut -f1)) print \$1 }"); do pactl move-sink-input $s sox; done
0