J'exécute la commande suivante pour capturer la sortie de l'audio dans un fichier:
$ sox -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 test.mp3 silence 1 0.1 3% 1 3.0 3% > /dev/null
Input File : 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor' (pulseaudio)
Channels : 2
Sample Rate : 48000
Precision : 16-bit
Sample Encoding: 16-bit Signed Integer PCM
In:0.00% 00:00:18.09 [00:00:00.00] Out:0 [ | ] Clip:0 ^C[C
Comme vous le voyez, alors que j'ai essayé d'envoyer la sortie à NULL, il reste des messages sur les progrès et le statut d'enregistrement!
Je veux qu'il enregistre en arrière-plan sans montrer ces messages afin que je puisse avoir les invites du terminal ....
J'ai vérifié sox
pour un fichier journal mais n'a pas trouvé
sox
a -q
Option si vous ne voulez pas voir les messages.
Vous avez également oublié de spécifier ce que vous voulez envoyer à /dev/null
. Ce doit être 1
(STDOUT
), 2
(STDError
) ou &
ou alors 1&2
signification à la fois. chèque qu'est-ce que 2>/dev/null signifie?
Si vous souhaitez exécuter la commande en arrière-plan, ajoutez &
à la fin de la commande.
Donc, ce doit être l'un des suivants:
sox -q -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 test.mp3 silence 1 0.1 3% 1 3.0 3% &
OU ALORS:
sox -t pulseaudio alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -t mp3 test.mp3 silence 1 0.1 3% 1 3.0 3% &>/dev/null &