以前、 さあ、タイナカサチよ、これであなたもハイビジョンの世界にいらっしゃいで書いたとおり、今までWave分割を WaveZというソフトを使っていた。
しかし、このソフトは分割単位が分:秒:ミリ秒(mi:ss.ff)だったので、時間を分に計算したりする必要があり、また2GB超えると動かないので、2時間ぐらいを目処に分割する必要があった。
追記: 2021-04-09
数年後、SoundEngineで分割できないWaveをいくつか確認した。より確実な
Audacityを使うことをオススメする。
Audacityでラベル毎にファイル分割・変換する
追記ここまで
前のブログでSoundEngineが駄目と書いたが、今回改めて使ってみると2GB以上のファイルであっても問題ない。しかも スクリプトを使って一括分割ができる。
BDInfoで出力した再生時間が以下である場合
Number Time In Length Avg Video Rate Max 1-Sec Rate Max 1-Sec Time Max 5-Sec Rate Max 5-Sec Time Max 10Sec Rate Max 10Sec Time Avg Frame Size Max Frame Size Max Frame Time
------ ------- ------ -------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- -------------- --------------
1 0:00:00.000 0:02:28.081 7,831 kbps 31,943 kbps 00:00:55.488 30,322 kbps 00:00:38.605 29,075 kbps 00:00:36.903 85,570 bytes 640,646 bytes 00:00:00.000
2 0:02:28.081 0:04:08.114 0 kbps 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 bytes 0 bytes 00:00:00.000
3 0:06:36.195 0:03:34.080 0 kbps 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 bytes 0 bytes 00:00:00.000
4 0:10:10.276 0:03:10.523 0 kbps 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 kbps 00:00:00.000 0 bytes 0 bytes 00:00:00.000
・・・以下、省略・・・
Time Inの列を矩形選択して、Vim(エディター)に貼り付ける。
0:00:00.000
0:02:28.081
0:06:36.195
0:10:10.276
・・・以下、省略・・・
%s/^/\[Mark\]\rPos=0/g
を入力し、正規表現を使っての置換を行う。
[Mark]
Pos=00:02:28.081
[Mark]
Pos=00:06:36.195
[Mark]
Pos=00:10:10.276
・・・以下、省略・・・
SoundEngine Freeで分割したいWaveファイルを開いて、スクリプトタブに上記の内容を貼り付ける。そして、 実行をクリックする。
そうすると、分割したい時間にマークされるので、今度はそのマークを右クリックしてコンテキストメニューを開いて、 マークで分割保存をクリックする。
保存するファイル名、フォルダを選択するダイアログが表示されるので、保存するフォルダを開き、分割ファイルは連番で名前(NewFile_01.wav, NewFile_02.wav)が振られる。
いやー、知らんかったー。7年前かー、前にWave分割について調べたのは、今思えば自分のやり方が間違っていただけのような気もする。 WaveZは時間を分に変換するのが地味に面倒だったし、ミリ秒は2桁だったし、2GB以上のファイルは、途中で分割する必要があったし…
今回、ディスクでは連続しているが、実際の音声ファイルは分割してあった(0:00:00.000から1:55:51.945までと、そこからと別ファイル)。その場合は、エクセルを開いて、ミリ秒(3桁)まで計算可能となるように表示形式を[hh]:mm:ss.000
とユーザー定義したセルに Lengthの列をコピペする(ここではB列)。
数式で上の列の Lengthを足した結果を表示するようにセルA2
に=A1+B1
と記述して、1:55:51.945からのファイルの Time Inを求める。その後は、同様にスクリプトを作成して分割保存する。まあ、二つのファイルを結合して、それから分割した方が楽かもしれないけど。
ともあれ、そんなこんなでBlu-rayから音源を抜き出して、トラック毎に分割することも楽になったわけだ。