web-dev-qa-db-fra.com

Comment puis-je rediriger les messages SOX sur NULL ou un fichier journal

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é

1
Ahmad

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 &
1
Ahmad