次のように、SoX を使用して 2 つのオーディオ ファイルを結合してクロスフェードすることができます。
sox file1.wav file2.wav outfile.wav splice -q `soxi -D file1.wav`,0.5
ここで、soxi 置換は file1 の継続時間を取得し、0.5 はクロスフェードの長さです。これを任意の数のファイルに拡張して、間に短いクロスフェードを入れてそれらをつなぎ合わせようとしています。パイプとスクリプトの 2 つのアプローチがあるようです。Sox には -p オプションがあり、(ファイルを書き込む代わりに) 出力をパイプとして処理するように指示します。しかし、コマンドごとに多くの入力と引数があるため、その出力 (および入力? ) が後続のコマンドでどのように割り当てられるかは明確ではありません。これまでのところ、3 つのファイルに拡張しようとしている以下の行がありますが、これは機能しません。
sox -p file1.wav file2.wav splice -q `soxi -D file1.wav`,0.5 | sox -p file3.wav outfile.wav splice -q `soxi -D file3.wav`,0.5
sox のパイピングとスクリプトに関するヒントをいただければ幸いです。