カクタスソフトウェア
カクタスソフトウェア
サウンド MIDI マルチメディア アプリケーション

mp3ファイルの構造

mp3ファイルはオーディオデータ本体とタグと呼ばれるメタ情報を保存する領域から成ります。

タグには初期の「ID3v1」と呼ばれるバージョン1と、拡張された「ID3v2」と呼ばれるバージョン2の二つがあります。それぞれID3v1タグはファイルの最後に、ID3v2タグはファイルの先頭に配置されます。以下にオーディオデータとタグの位置関係を示します。

ID3v2タグ
オーディオデータ
ID3v1タグ

タグは「ID3v1」と「ID3v2」のどちらかをファイルに埋め込みます。場合によっては双方とも埋め込むことも可能です。

タグのバージョンとmpegのバージョンは関連ありません。

ID3v1

バージョン1はID3v1と呼ばれるタグです。mp3ファイルの最後に付加され、長さは128バイト固定です。以下の項目が固定長で割り当てられています。

領域 長さ(バイト)
タグ 3
タイトル 30
アーティスト名 30
アルバム名 30
作成年月日 4
コメント 30
ジャンル 1

詳細はセクション「オーディオタグID3v1」を参照して下さい。

ID3v2

バージョン2はID3v2と呼ばれるタグです。フレームに多くの情報を含めることができる柔軟な構造になっています。mp3ファイルの先頭に付加され、以下の構造を持っています。

領域 長さ(バイト) 説明
ヘッダ 10 必須
拡張ヘッダ 可変長 省略可能
フレーム 可変長 必要なものを記述
Padding領域 可変長 省略可能
フッタ 10 省略可能

詳細はセクション「オーディオタグ ID3v2」を参照して下さい。

タグの検索

タグの検索は、まずバージョン2のタグを探し、無ければバージョン1のタグを探します。ファイルの先頭が文字列"ID3"であれば、バージョン2のID3v2タグと判断します。またファイルの最後から128バイトの位置に文字列"TAG"があれば、バージョン1のID3v1タグと判断します。

オーディオデータ

オーディオデータ本体は、フレームと呼ばれるバイナリーブロックがじゅずつなぎになった構造をしています。フレームの先頭にはフレームヘッダーと呼ばれる識別子が埋め込まれています。フレームヘッダーには、サンプリング周波数やチャンネル数など、多くの情報が記録されています。

詳細はセクション「フレームヘッダー」を参照して下さい。

ドキュメントの先頭へ

カクタスソフトウェア 技術協力 資料室 資料室の広場 SourceForge.jp お問い合わせ