0

私はSoXにこの2つのコマンドを持っています:

  rec -V3 output.wav trim 0 50 
  sox output.wav out.wav trim 0 10 : newfile : restart

この作業を行う必要がありますが、コマンドラインは1つだけです。

録音したファイル「output.wav」を10秒のファイルにトリミングする必要があります。

4

1 に答える 1

1

次のように、パイプを介してそれらを組み合わせることができます。

rec -p trim 0 50 | sox -p out.wav trim 0 10 : newfile : restart

この-pオプションは-t sox -、の省略形です。つまり、SoXの内部形式を使用してstdoutに書き込む/stdinから読み取る。

この特定のケースでは、次のように、restartループを展開して1回の呼び出しで実行することもできます。

rec out.wav trim 0 10 : newfile : trim 0 10 : newfile : trim 0 10 : newfile : trim 0 10 : newfile : trim 0 10

もちろん、それが常に可能であるとは限りません。

于 2013-05-01T15:05:11.017 に答える