大きなwavファイルを小さな部分に分割

大きなwavファイルを小さな部分に分割

私は多数のwavファイル(50,000以上)を持っており、各wavファイルを10秒の長さの部分に分割する必要があります。

これを一つずつ行うことはほとんど不可能です。だから私の質問は:ffmpeg(またはsox)でこれをどのように実行できますか?

答え1

これは以下で言及されていますman sox

入力ファイルを長さ30秒の複数のファイルに分割します。各出力ファイル名には、出力ファイルのセクションで説明されているように、名前に一意の番号があります。

sox infile.wav output.wav trim 0 30 : newfile : restart

したがって、wavファイルがディレクトリの下にあり、~/myfiles分割バージョンを作成したいとします~/split

mkdir ~/split
cd ~/myfiles
find . -name '*.wav' \
 -exec sh -c 'mkdir -p ~/split/$(dirname "{}")' \; \
 -exec sox {} ~/split/{}  trim 0 10 : newfile : restart \;

関連情報