先日物の整理をしていたら、某ドラマCDのシリーズが見つかって、
この際だからいつものMatroskaでまとめられないかなって思ったのが
今回の事の次第。
んでもって適当にEACとflacとmkvtoolnixでやってみようとしたら・・・
foobarで再生できなかったり、途中で音がなくなったりでなんじゃこりゃと
いろいろ調べて複数CDを1つにまとめる際には問題点が2つほどあることが
わかりました。
- CUEシートの合成とトラック制限
統合する必要があるのですが、CUEシート(CDDA)の規格上99トラックまでという
制限があります。また、CUEシートの結合は再生時間の計算なども必要で、
手動でやるには骨が折れます。
- WAVE(RIFF)のサイズ制限
ついており、これにWAVEのサイズデータが記録されているのですが、これが
符号
これらの問題を解決するために試行錯誤していたのですが、
結局いつもプレイヤーとして使っているfoobar2000と
検索で見つけたxrecodeIIを使うことにしました。
具体的な手順としては次のとおり
- EACでCUE+WAVでリッピング
- fb2kでWave64(RF64)にCDごとにCUE+WAV64に変換
- xrecodeIIでCUEシート結合・形式をRAWにする
- RAW→MP3/OGG/WAVPACKなどに変換(好みで)
- CUEシートを変換後の形式に整える
- mkvtoolnixでmkaコンテナに変換する
- fb2kで読み込ませ、CDタイトルなどを編集する
xrecodeIIはCUEシートの結合とWAVの統合をさせています。
RF64(WAV64)は4GBを超えるWAV(PCM)を扱うために作られた規格のようです。
ただし、対応しているフロントエンドはあまり多くないようです。
後方互換性を持つため、RF64非対応のソフトは4GBまでの通常のwavとして
動作します。
RAWはリニアPCMのデータそのものです。ここから再生や変換を行うには
フロントエンドに本来WAVファイルのチャンクにある情報を与える必要があります。
なんでこんな回りくどい方法をしているのかというと、
●fb2kは1ファイルにまとめる動作でなぜかCUEシートを出力しない
●xrecodeIIはRF64は読めても書き出せない(設定項目が見つからない)
●たいていのエンコーダがRF64チャンクを読めない
●よってfb2kもxrecodeIIもエンコーダに渡すときはWAVで渡してしまう
という
100トラック以上あるCUEシートの場合はMatroskaに変換すると
再生できるようになります。なんでんなもん出力するんだ
とりあえずRAW入力がありそうなエンコーダで試してみました、
・OGG Vorbis
rawファイルやリダイレクト、パイプによるPCM入力をサポートし、標準的な
WAVファイルの設定をデフォルト値で持ってくれるため、RAW→OGGの変換が
一番楽。
・LAME(MP3)
OGG同様、rawファイルをサポートし、標準的なデフォルト値を持つ。
ただし、なぜかフレームが一定値を超えると進捗率が100%になり、
勝手にエンコードを終わらせてしまうので、リダイレクトをしないと最後まで
エンコードしてくれない。なんでだ。
・FLAC
RAWファイル入力をサポートしているが、チャンクのパラメータを省略できない。
なぜか2GBで終わる。原因はまだ不明。どうも仕様くさい。
・TTA
RAWをサポートしてないのでダメ。
・WAVPACK
RAWファイルをサポートし、デフォルト値も持ってくれるのでロスレスでは使いやすい。
Matroskaコンテナにも入れられるのでロスレスで100トラック以上ひとまとめしたい場合におすすめ。
みたいな結果に。
不可逆でいいならOGGかMP3で。可逆は…バラでやってプレイリストにするのと
大差ないかも。やるならWAVPACKで。
不可逆はほかにも使えそうなコーデックがあるかも。
これで一応複数CDを1ファイルにするためのルーチンはできあがり。
試行錯誤が多くて疲れた・・・
あ、それと無圧縮ファイルを3種類使うので外付けHDDがあるといいですよ。
システムドライブでやっていて容量の警告がでてびびった。
0 件のコメント:
コメントを投稿