web-dev-qa-db-ja.com

大量のwavファイルを小さな部分に分割する

大量のwavファイル(50000以上)があり、すべてのwavファイルを10秒の長さの部分に分割する必要があります。

1つずつ実行することはほとんど不可能なので、私の質問は、ffmpeg(またはsox)でどうすればよいですか?

2
Taron

これは、例として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 \;
4
meuh