音楽ファイルにはアーティスト情報等のメタ情報を埋め込んでいる事が多い。 ゲーム音楽のループBGM絡みで勉強することになったのでそのまとめ。

ファイルにメタ情報を埋め込む

そもそもファイル内にメタ情報を埋め込むという発想はWAV形式やAIFF形式の時代から既に採用されていたようだ。 これらのファイルフォーマットはコンテナ形式で動作するため、コーデックとセットで動かす事は可能。 しかしリニアPCMをそのままぶち込むものとして認識されてしまった事で、ファイルサイズばかり無駄にデカイ使えない形式として認識されてしまったようだ。

1993年にMP3(MPEG-1 Audio Layer-3)が登場。 MD(ATRAC)に迫る圧縮率を叩き出し、PCの音楽ファイルフォーマットはこれ一色になった。 更にiPodが2001年に登場、アメリカそして日本でも爆発的に普及した。

MP3ではアーティスト情報等を管理したいという要望が生まれた。 1996年に独自実装していた「Studio3」というソフトウェアに乗っかる形でID3という形で仕様が決定された。 そういった意味では、アーティスト情報をファイルに埋め込む文化はMP3が起源といえるだろう。

参考リンク:

Ogg のメタ情報に関して

Ogg VorbisではVorbisCommentという規格が使用されている。 Ogg Flacと構造は殆ど同じだと思うので、Flacの解説サイトのリンクも抜粋。

参考リンク:

おまけ:LOOPSTART、LOOPLENGTHに関して

Ogg VorbisではコメントにLOOPSTART、LOOPLENGTHという値を格納すると、 一部プレイヤーではループ再生を行ってくれる。

これはどうやらファルコムのゲームの独自仕様として作られたものらしい。 RPGツクールシリーズの「VX」「VX ACE」「MV」で採用されている。 また他の国産ゲームクリエイトツールである「ウディタ」「吉里吉里2」も追従しているようだ。

VorbisCommentの仕様に従いつつループ情報を埋め込みたければcommentフィールドを使うしかないわけで、自然な設計と思われる。

参考リンク: