SoX で 10 秒のオーディオを録音するにはどうすればいいですか?

SoX で 10 秒のオーディオを録音するにはどうすればいいですか?

マイク入力から10秒間の音声を録音したいのですがソックスドキュメントにも他の場所にも、その方法を示す例が見つかりませんでした。timeout録音を停止するために現在使用しているコマンドは次のとおりです。もっと良い方法はありますか?

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

答え1

少し遅くなりましたが、もし同じ質問がある方がいたら、設定された長さのオーディオを録音するには、トリム「効果」を使用する必要があります。

10秒間の音声を録音するには、コマンドの最後にtrim 0 10を追加します。例:

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

SoXより:

トリム {位置(+)}

オーディオの一部を切り取ります。任意の数の位置を指定できます。最初の位置に到達するまでオーディオは出力されません。エフェクトは各位置でオーディオのコピーと破棄を交互に行います。最初の位置パラメータに 0 の値を使用すると、オーディオの先頭からコピーできます。

関連情報