大量のwavファイル(50000以上)があり、すべてのwavファイルを10秒の長さの部分に分割する必要があります。
1つずつ実行することはほとんど不可能なので、私の質問は、ffmpeg(またはsox)でどうすればよいですか?
これは、例として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 \;