○ はじめに

CDを聴く場合、以前はCDプレイヤーで普通に再生していたのですが、 MP3という規格を知ってからは CDをMP3に変換してパソコン(Winamp)で聴く というスタイルが私の音楽鑑賞の定番となりました。 元々音質にはあまりこだわっていませんし、何よりその手軽さが魅力でしたので。 CDをMP3に変換してHDD上に置いておけば、 いちいち CDを交換しなくても複数の曲を簡単に切り替えて再生できる ので非常に便利でした。


CD

MP3に変換

HDDに保存

選曲

再生

しかし便利な一方1つだけ以前から不満がありまして、 それは CD(アルバム)を1つのMP3ファイルにまとめてアルバムとして手軽に扱えないだろうか? ということでした。 CDからトラック毎に変換した各MP3をフォルダにまとめてアルバムとして管理するという方法もありますが、 これら複数のMP3を1つのファイルにまとめた方がファイル数も少なくなり管理も楽になるのではないかと常々感じていました。 また、ライブ盤などトラック間が繋がって再生されるCDの場合、曲の変わり目で音が途切れて再生されるのも不満でした。 これはギャップレス再生で解決できるようですが、どうせ繋げてしか再生しないのなら各曲をバラバラで置いておく意味はないのでは? と考えていました。 理想としては、アルバムとして聴きたいMP3は1つのファイルにまとめて、シングル曲として聴きたい曲はバラのままでHDDに保存 という感じでしょうか。

A-1.mp3
A-6.mp3
C-2.mp3
A-2.mp3
A-7.mp3
C-3.mp3
A-3.mp3
B-5.mp3
C-4.mp3
A-4.mp3
B-9.mp3
C-5.mp3
A-5.mp3
C-1.mp3
D-3.mp3



A-1.mp3
A-2.mp3
A-3.mp3
A-4.mp3
A-5.mp3
A-6.mp3
A-7.mp3
C-1.mp3
C-2.mp3
C-3.mp3
C-4.mp3
C-5.mp3
 &

B-5.mp3
B-9.mp3

D-3.mp3
HDDに曲単位で保存 アルバム単位で管理 曲単位で管理

何か良い方法はないものかと探した結果、見つけたのが mp3cue というWinamp用のプラグインでした。 これはCDを丸ごと1つのMP3ファイルに変換して(Entire)、 各トラックの先頭時間指定したキューシートを添付すると各曲を把握して頭出し再生も可能 にしてくれるという優れ物でした。 キューシートもID3v2タグに埋め込み可能だったので、1つのファイルで管理したいという希望にも一致していました。 また、Entireで作成することでライブ盤等でのトラック間の音の途切れも解消できました。(Entireでなくても使用可能)


・ID3v2タグにキューシートを埋め込み
 (各曲の再生開始時間を保持)

・Winampで再生
・mp3cueプラグインにより各曲の頭出しも可

とりあえず再生は Winamp+mp3cue を利用することで良いとして、 キューシート埋め込みMP3ファイルの作成をどうするかということになりました。 新たに変換する場合は ExactAudioCopy でエンコードと同時にキューシートも作成するようにしたので問題ないのですが、 既に変換済みのMP3もアルバム毎に1つのファイルにまとめたいと思い、 当初は無圧縮ZIPで固めて別途キューシートを作成して mp3cue で埋め込んだりしていました。 しかし、これでは効率が悪いので MP3を連結してキューシートを埋め込むツール を作ろうと開発したのが MusicPack 3on3 でした。

MP3

MP3

MP3
時間算出


MusicPack 3on3


連結
キューシート
MP3
MP3
MP3

最初は各MP3を連結(Bind)してID3v2タグにキューシートを埋め込むだけの機能でしたが、 あとから抽出可能なように各MP3の相対位置等を保持した拡張形式(Pack、下図参照)をメインのファイル形式にしました。 更にID3タグの編集やリネーム機能などを加えて、ある程度使えるツールになりました。 また、公開するにあたっては独自形式のPackだけじゃマズイかなということで、無圧縮ZIP/LHAでの連結もサポートしました。 (この圧縮形式を選んだ理由はたまたまファイル形式の資料が手元にあったので…)


・キューシートは各曲の再生開始時間のみ保持
 (各曲データの位置は認識していない)


・Packヘッダーに各曲データの相対先頭位置を保持
・ファイル名、アーティスト名、タイトルも保持
・MusicPack 3on3 により各MP3ファイルの抽出も可

しばらくは MusicPack 3on3 で作成して Winamp+mp3cue で再生していたのですが、 使っているうちに mp3cue の機能にもいろいろ不満がでてきたので、mp3cueほぼ同等の機能を有しかつ不満点を解消したプラグイン を作ろうと思い開発したのが Album Playlist Plugin for Winamp 2.x でした。 また、一般的には無圧縮ZIPの知名度が高いようなので、 キューシートが埋め込まれていなくても頭出し再生が可能なように改良して、 それに合わせて MusicPack 3on3 でもキューシートなしでパック化可能なように仕様を変更しました。


・Winamp + Album Playlist Plugin for Winamp 2.x で再生
・各曲データから再生時間を算出して再生開始時間を取得
・キューシートなしでも各曲の頭出し可

・リピート/シャッフル再生
・ホットキーによるWimampの制御
・MusicPack 3on3 との連携
 etc ...

以上で現在公開している MusicPack 3on3Album Playlist Plugin for Winamp 2.x の原型は完成しました。 あとは私自身が使いながら不満に感じたことを少しずつ改良しながら現在に至っています。 (上記 リピート/シャッフル再生、ホットキー etc...)
基本的には私が使用する為に作成したツールなので、 機能追加の要望があっても私自身が必要と感じない機能などについては採用していません。 この為、機能に多少偏りがあるかもしれませんが、 複数のMP3ファイルをアルバムとして管理したい 人にとってはそれなりに便利かと思います。 あとは各自の責任範囲でご自由にお使いください。


  ○ パック化とは

複数のMP3ファイルをまとめた形式については特に正式名称はありませんが、 ここでは便宜上 パック化MP3 と呼称します。
(Pack,無圧縮ZIP/LHA等、後述のパック形式を参照)

パック化と言っても特別なことをしている訳ではなくて、複数のMP3ファイルを再生順に連結して1つのファイルにしているだけです。

MP3

MP3

MP3





MP3
MP3
MP3

処理イメージは上図のとおりですが、単純に連結しただけでは再生に支障が発生する場合もあり、 更に各MP3ファイル内のID3タグやXingヘッダーを除去するなどの処理が必要になる場合もあります。
(例:ID3v2のサイズが大き過ぎる、画像が埋め込まれている、mpg123で再生する etc...)

MP3

MP3

MP3





MP3
MP3
MP3
Xing ID3v1 ID3v2 を除去

但し必ずしも除去しなければ再生できないという訳ではないので、臨機応変に対処すれば良いでしょう。

このように連結することである程度は音の切れ目が目立たなくなりますが、 ライブ盤やノンストップ盤のCDではやはり音が途切れてしまいます。 この場合はEntire(下図)で作成するようにしてください。



CD

MP3
--------------
MP3
--------------
MP3

CDを丸ごと1つのMP3として変換することで、トラック間の音の途切れは解消されます。 但しこのままでは各曲の先頭位置が把握できず曲の頭出し等もできない状態なので、 キューシートを添付して(Entire+Cue)各曲の再生位置を把握できるようにします。 ((5)Cue 参照)


  ○ 使用ツール

パック化MP3の作成は目的のファイル形式が作成できれば何でも構いません。 無圧縮ZIP/LHAに関しては通常のアーカイブツールでも作成・解凍可能です。 ここでは MusicPack 3on3 の使用を前提に説明します。

パック化MP3の再生は作成したパック化MP3のファイル形式をサポートしているプレイヤーであればどれで再生しても構いません。 ここでは Wianmp + Album Playlist Plugin for Winamp 2.x の使用を前提に説明します。

 ☆ MusicPack 3on3 の入手先

 ☆ Album Playlist Plugin for Winamp 2.x の入手先


MusicPack 3on3 (※クリックすると拡大画像表示)


Album Playlist Plugin for Winamp 2.x


  ○ パック形式

MusicPack 3on3 で作成・展開可能なパック化MP3のファイル形式です。(図は簡略化してあります)

(1) Bind
MP3
MP3
MP3


・各MP3ファイルを単純に連結
・連結後に各MP3の抽出は不可
(2) Pack
ヘッダー
MP3
MP3
MP3
フッター


・各MP3ファイルの連結方法はBindと同じ
・連結後に各MP3の抽出を可能にする為
 各曲先頭の相対位置等をヘッダー内に保持
(3) 無圧縮ZIP
ヘッダー
MP3
ヘッダー
MP3
ヘッダー
MP3
ディレクトリ


・ZIPのファイル形式に従って無圧縮で連結
・通常のアーカイブツールで解凍可能
(4) 無圧縮LHA
ヘッダー
MP3
ヘッダー
MP3
ヘッダー
MP3


・LHAのファイル形式に従って無圧縮で連結
・通常のアーカイブツールで解凍可能
(5) Cue
ID3v2タグ


MP3
(パック化)




・ID3v2タグにキューシートを埋め込んだMP3
・ファイルの連結形式は上記(1)〜(4)のいずれでも可
・CDを丸ごと変換したEntireでも使用可

ファイル形式について特に記述がない場合は Pack形式 についての説明となります。
より詳細なファイル形式については 資料 を参照してください。