数時間分の音声ファイルを数分単位で分割する方法

何とは敢えて言わないが、データ変換ソフトとかで、「お試しで5分間の音声ファイルだけ変換できます」みたいなものがあるとして、元のデータは1時間長だった場合、それを5分長x12個のファイルに分割して1ファイルずつ変換すればお試し版で1時間分変換できるじゃん! みたいなセコいことを考えた人が居るとか居ないとか…

 

まあそこは良いとして、簡単に音声ファイルを短く分割したいと思って色々調べたところ、ffmpegを使うとコマンド1発で出来るということが分かったのでそれを備忘としてここに残しておくことにする。

 

ffmpeg

https://github.com/BtbN/FFmpeg-Builds/releases

↑こちらのサイトからffmpeg-master-latest-win64-gpl.zip というのをダウンロードしてインストール。(Windows機へのインストールなので。)

 

インストールが終了したらコマンドラインから直接実行すればOK。

(自身の環境ではcygwinをインストールしてtcshを使っているのでそこから実行したが、WindowsPowerShellとかDOS窓からでも良い。)

 

prompt% cd /(ここにffmpegをインストールしたディレクトリのパスを指定)/bin

prompt% ./ffmpeg -i ./target.mp3 -c copy -f segment -reset_timestamps 1 -segment_time 300 ./part%02d.mp3

 

上記のコマンドを実行すれば、カレントディレクトリにある target.mp3 という音声ファイルを300秒(=5分)毎に分割して part00.mp3 ~ part??.mp3 という名前でファイルが作られる。

※コマンド引数の詳細はここでは割愛。

ひとまず今回は手っ取り早く備忘としてここにこれを残しておく。