Wie kann ich mit SoX 10 Sekunden Audio aufnehmen?

7474
shrx

Ich möchte mit SoX 10 Sekunden Ton von meinem Mikrofoneingang aufnehmen . Ich habe kein Beispiel in der Dokumentation oder anderswo gefunden, das zeigen würde, wie es gemacht wird. Hier ist mein aktueller Befehl timeout, um die Aufnahme zu stoppen. Gibt es einen besseren Weg, dies zu tun?

timeout 10 sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav 
4

1 Antwort auf die Frage

11
toes

Etwas spät, aber wenn jemand die gleiche Frage hatte, müssen Sie den Trimm- "Effekt" verwenden, um eine festgelegte Länge von Audio aufzunehmen.

Um 10 Sekunden Audio aufzunehmen, fügen Sie am Ende Ihres Befehls Trim 0 10 an, z.

$ sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav trim 0 10 

Vom SoX- Mann :

Trimmen

Schneidet Teile aus dem Audio aus. Es können beliebig viele Positionen vergeben werden. Es wird kein Audio an den Ausgang gesendet, bis die erste Position erreicht ist. Der Effekt wechselt dann an jeder Position zwischen Kopieren und Löschen von Audio. Die Verwendung des Werts 0 für den ersten Positionsparameter ermöglicht das Kopieren vom Anfang des Audios.

besser spät als nie :) shrx vor 8 Jahren 1