生録音したWAVEファイルを分割して複数ファイルにしてしまうと、再生中にファイルとファイルの間に一瞬無音が入ってしまったりして残念だけど、1ファイルのままだと聞きたい場所に一瞬で移動できないという不便。そしてiPhoneに入れて持ち歩くためには圧縮したい。そんなときに。
使ったソフト
- audacity http://www.audacityteam.org 波形エディタ。音声の編集に使う。
- X Lossless Decoder http://tmkk.undo.jp/xld/ 1ファイルのWAVから複数ファイルのAACに変換する。
- macVim-kaoriya https://github.com/splhack/macvim-kaoriya cueシートの作成に使う。テキストエディタならなんでもよい。
- Numbers MAC純正表計算。トラックを分けたい場所の計算に使った。暗算得意なら不要。
手順
1. audacityで不要な部分を削除したり冗長なところをうまくつないだりして聞きやすくする。音が大きいところ同士を無理やりくっつけると違和感が出やすいからできるだけ音が小さいところをつなぐほうが良いかも。音量は正規化しておく。CDだと4dBな気がするけど、なんとなく0dBにする。突然無音になるとデジタルノイズになるので、少なくとも1msecぐらいでフェードアウト、フェードインして急に無音になるのを防ぐ。完成したらオーディオの書き出しで WAV (Microsoft) 形式の Signed 16-bit PCM に書き出す。
2. トラックを分けたい場所を書き出す。audacityの現在地情報は hh:mm:ss:msec になっているけど、CUEシートでは1秒未満をmsecではなくフレームという単位で扱うらしいので、1sec=1000msec, 1sec=75frame の関係から1秒未満のフレーム位置を計算する。msec/1000*75
3. CUEシートを作る。macVimでこんなファイルを作って a.cue とかで保存。トラック番号はトラックごとに増えて行くけど、INDEXの番号はつねに01になる。トラック位置はmm:ss:ffなので、60分を超えるとaudacityの表示からの変換がちょっとめんどう。msecをframeに変換するのを忘れないこと。Numbersでmsecをframeに変換する表を作って変換した。トラックごとにもTITLEをつけれるはずなんだけど、XLDは認識しなかった。と思ったけど違った。TRACKとINDEXの間にTITLEを書けば認識する。
PERFORMER WhoPlayedThis TITLE TitleOfWholeFile FILE a.wav WAVE TRACK 01 AUDIO TITLE "Title of track 01" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Title of track 02" INDEX 01 03:57:58
4. AACに変換する。X Lossless Decoderで、ファイル - 開く から a.cue を開く、すると何も起こらなかったかのように開くダイアログが出たままになってるので、今度は a.wav を開く。CUEシートで作成した数のトラックが見えれば成功。デフォルトはAIFFになっていたのでMPEG-4 AACに変更、オプションボタンでiTunes用のギャップレス再生情報を付加 にチェック。モードはVBR、標準、自動、目標品質は105にしてみた。けど、音質が悪い気がしてエンコーダの精度は最高に、目標品質は112にした。正確なビットレートを書き込む は意味がわからないけどチェックあり。Cueシートをチャプタとして埋め込むは意味がわからないけどチェックなし、たぶんAACだと関係ない。可能であれば変換後にファイルをiTunesに追加はプレイリストを指定。プリギャップの設定はよくわからない。変換していい感じに連続再生されるやつを選ぶ。同じ設定で2回やり直しただけで改善したような気もする。
以上で、iTunesにプレイリスト付きで取り込まれるはず。XLDはいろんな設定があるけど、何が正しいのかわかっていない。