VBRは通常の方法でパック化してもWinampの標準のMP3デコーダ(in_mp3.dll)では正常に頭出し再生できません。
しかし、Xingヘッダーを付加して、更にWinampの標準のMP3デコーダの代わりに in_mpg123.dll を使用することで、
VBRでも頭出し再生可能なパック化MP3ファイルを作成できるようになります。
原因等については 『VBR』 を参照してください。
( サンプルCD: Dire Straits / Communique )
※ 2〜9 は実験なので、結果だけ知りたい場合は まとめ を参照してください
1.CDからMP3へ変換
MP3ファイルをVBRで作成します。
用意したサンプルMP3はすべてID3v1v2タグとXingヘッダーが付いています。
以降でいろいろなパターンのパック化MP3を作成して動作検証します。
2.そのままパック化した場合
各MP3ファイルのID3タグとXingヘッダーはそのまま付加された状態でパック化してみます。
必ずキューシート埋め込みのPack形式でパック化してください。(必須)
■Xing ■ID3v1 ■ID3v2
作成したパック化MP3ファイルを Winamp+in_mpg123.dll で開きます。
(※in_mpg123.dllのオプションで [フルバッファリング] をチェックしてください、以降同様)
先頭1曲分の長さ(5:16)しか認識されていないのが確認できます。(NG)
3.ID3タグを除去した場合
各MP3ファイルのID3タグを除去してパック化してみます。
■Xing ■ID3v1 ■ID3v2
作成したパック化MP3ファイルを Winamp+in_mpg123.dll で開きます。
いずれの場合も先頭1曲分の長さ(5:16)しか認識されていないのが確認できます。(NG)
4.Xingヘッダーを除去した場合
各MP3ファイルのXingヘッダーを除去してパック化してみます。
■Xing ■ID3v1 ■ID3v2
作成したパック化MP3ファイルを Winamp+in_mpg123.dll で開きます。
今度は1曲分だけという事象は回避されましたが、
合計時間(262:30)が実際の時間(42:00)よりかなり長く算出されてしまったようです。
とりあえず頭出し再生させてみます。
聴いてみたところ、頭出し再生のずれはありませんでした。
しかし頭出し再生直後にWinampの再生時間がゼロクリアされてしまう場合があるようです。
上記例では3曲目を頭出し再生させた直後ですが、再生時間は 00:00 から始まっています。
この状態でも実際に再生されているのは 3:45 の3曲目なのですが、
1曲目の 5:16 として処理されてしまう為、リピート/シャッフル再生で正常な曲の切り替え制御ができなくなります。(NG)
5.XingヘッダーとID3タグを除去した場合
各MP3ファイルのXingヘッダーとID3タグを除去してパック化してみます。
まずはXingヘッダーとID3v1タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
前記4のXingヘッダーを除去した場合と同じ結果でした(NG)
次にXingヘッダーとID3v2タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
合計時間(262:27)の算出結果に多少差がありますが、
その他は前記4のXingヘッダーを除去した場合と同じ結果でした(NG)
最後にXingヘッダーとすべてのID3タグ(v1v2)を除去した場合。
■Xing ■ID3v1 ■ID3v2
これでもやはり合計時間(262:26)の算出結果は実際とは大きく異なっています。
しかし頭出し再生でもずれはなく、再生時間がゼロクリアされてしまう事象も発生しませんでした。
合計時間の誤りさえ気にしなければ使えなくもありませんが、不完全なことには変わりないので薦められません。(NG?)
6.全体のXingヘッダーを付加した場合
パック化MP3ファイル全体に対するXingヘッダーを付加してパック化してみます。
(※Pack形式でのみ作成可)
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
作成したパック化MP3ファイルを Winamp+in_mpg123.dll で開きます。
ファイル全体のXingヘッダーを付ければ再生時間が正しく算出されるかと思ったのですが、
これでも先頭1曲分の長さ(5:16)しか認識されないという事象が発生してしまいました。(NG)
7.全体のXingヘッダーを付加して、ID3タグを除去した場合
パック化MP3ファイル全体に対するXingヘッダーを付加して、更に各MP3ファイルのID3タグを除去してパック化してみます。
まずはID3v1タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
前記6の場合と同じ結果でした(NG)
次にID3v2タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
合計時間は実際の時間(42:00)とは多少異なりますが、誤差の範囲で実質問題ないでしょう。
頭出し再生は正常でした。
しかしデータによっては曲の頭出しで先頭部分が欠けてしまう場合もあるようです。
もし巧くいかない場合はすべてのID3タグを除去する方法を試してください。(OK?)
すべてのID3タグ(v1v2)を除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
合計時間(多少の誤差あり)も頭出し再生もすべて正常でした。(OK)
8.全体のXingヘッダーを付加して、各Xingヘッダーを除去した場合
パック化MP3ファイル全体に対するXingヘッダーを付加して、更に各MP3ファイルのXingヘッダーを除去してパック化してみます。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
作成したパック化MP3ファイルを Winamp+in_mpg123.dll で開きます。
前記4のXingヘッダーを除去した場合と同じ結果でした。(NG)
9.全体のXingヘッダーを付加して、各XingヘッダーとID3タグを除去した場合
パック化MP3ファイル全体に対するXingヘッダーを付加して、更に各MP3ファイルのXingヘッダーとID3タグを除去してパック化してみます。
まずはID3v1タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
前記8の場合と同じ結果でした(NG)
次にID3v2タグを除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
合計時間も頭出し再生もすべて正常でした。
しかしデータによっては曲の頭出しで先頭部分が欠けてしまう場合もあるようです。
もし巧くいかない場合はすべてのID3タグを除去する方法を試してください。(OK?)
最後にすべてのID3タグ(v1v2)を除去した場合。
■Xing ■ID3v1 ■ID3v2
■Xing(パック化MP3全体)
合計時間も頭出し再生もすべて正常でした。(OK)
まとめ
・in_mp3.dll の代わりに in_mpg123.dll を使用
・キューシート埋め込みのPack形式で作成
・パック化MP3全体に対するXingヘッダーは必須
・ID3v2タグは必ず除去
・頭出しでずれる場合はID3v1タグも除去
|
|
|
|
|
|
| | |
■ | | |
| ■ | |
■ | ■ | |
| | ■ |
■ | | ■ |
| ■ | ■ |
■ | ■ | ■ |
| | |
■ | | |
| ■ | |
■ | ■ | |
| | ■ |
■ | | ■ |
| ■ | ■ |
■ | ■ | ■ |
|
|
× | - | - | NG |
× | - | - | NG |
× | - | - | NG |
× | - | - | NG |
△ | ○ | × | NG |
△ | ○ | × | NG |
△ | ○ | × | NG |
△ | ○ | ○ | NG? |
× | - | - | NG |
× | - | - | NG |
○ | ○ | ○ | OK? |
○ | ○ | ○ | OK |
△ | ○ | × | NG |
△ | ○ | × | NG |
○ | ○ | ○ | OK? |
○ | ○ | ○ | OK |
|
|
|
時 間 … パック化MP3ファイル全体の再生時間が正しく認識されること
頭出し … 頭出し再生をした場合に再生開始位置にずれがないこと
シーク … 頭出し再生をした場合に再生時間がゼロクリアされないこと
□ … パック化MP3ファイル全体に対するXingヘッダーを追加
■ … 各MP3ファイルのID3タグまたはXingヘッダーを除去
× … 不可
△ … 不完全
○ … 可