ID3タグ
| マジックナンバー | ID3 (ID3v2の場合) |
|---|
ID3タグ(アイディースリータグ、ID3 tag)は、MP3ファイルの中に、アーティスト・作成年・曲名等の情報を書き込むための規格である。
目次 |
概要 [編集]
ID3タグはMP3ファイルに元々組み込まれていた仕様ではなく、1996年に公開された「Studio3」というソフトウェアに組み込まれたのが始まりである。以後、様々なバージョンの規格が作られた。
ID3を追加したり、書き換えたりするソフトウェアはいくつか存在する。代表的な物はWinamp、SuperTagEditorシリーズ、mp3infp、Mp3tag等。
バージョン [編集]
ID3はいくつかのバージョンが存在する。このうち、ID3v1はファイルの末尾に、ID3v2はファイルの先頭に書かれるため、同時に1つのファイルに含めることができる。
ID3v1 [編集]
もっとも広く対応されている形式。サイズは128バイト固定で制限が厳しいため、多くの情報は記録できない。 文字列には日本語を使用することができるが、文字コードに関する定義がないため、プラットフォームをまたぐ際に互換性の面で問題が生じることがある。
| offset | 長さ | 記述 |
|---|---|---|
| 0 | 3 | "TAG" の識別子3文字 |
| 3 | 30 | 曲名文字列。 |
| 33 | 30 | アーティスト文字列。 |
| 63 | 30 | アルバム文字列。 |
| 93 | 4 | 日付文字列。 |
| 97 | 30 | コメント文字列。 |
| 127 | 1 | Genre byte. |
ID3v1.1 [編集]
| offset | 長さ | 記述 |
|---|---|---|
| 0 | 3 | "TAG" の識別子3文字 |
| 3 | 30 | 曲名文字列。 |
| 33 | 30 | アーティスト文字列。 |
| 63 | 30 | アルバム文字列。 |
| 93 | 4 | 日付文字列。 |
| 97 | 28 | コメント文字列。 |
| 125 | 1 | Zero byte separator. |
| 126 | 1 | Track byte. |
| 127 | 1 | Genre byte. |
様式 [編集]
| '型 ID # | 型 |
|---|---|
| 0 | ブルース |
| 1 | Classic Rock |
| 2 | カントリー |
| 3 | ダンス |
| 4 | ディスコ |
| 5 | ファンク |
| 6 | グランジ |
| 7 | ヒップホップ |
| 8 | ジャズ |
| 9 | メタル |
| 10 | ニューエイジ |
| 11 | オールディーズ |
| 12 | その他 |
| 13 | ポップ |
| 14 | R&B |
| 15 | ラップ |
| 16 | レゲエ |
| 17 | ロック |
| 18 | テクノ |
| 19 | Industrial |
| 20 | オルタナティブ |
| 21 | スカ |
| 22 | デスメタル |
| 23 | w:Pranks |
| 24 | サウンドトラック |
| 25 | Euro-Techno |
| 26 | 環境 |
| 27 | Trip-hop |
| 28 | ボーカル |
| 29 | Jazz+Funk |
| 30 | フュージョン |
| 31 | トランス |
| 32 | クラシカル |
| 33 | Instrumental |
| 34 | Acid |
| 35 | ハウス |
| 36 | ゲームミュージック |
| 37 | Sound Clip |
| 38 | ゴスペル |
| 39 | ノイズ |
| 40 | Alt. Rock |
| 41 | バス |
| 42 | ソウル |
| 43 | パンク |
| 44 | Space |
| 45 | Meditative |
| 46 | Instrumental pop |
| 47 | Instrumental rock |
| 48 | フォークソング |
| 49 | Gothic |
| 50 | Darkwave |
| 51 | Techno-Industrial |
| 52 | Electronic |
| 53 | Pop-Folk |
| 54 | Eurodance |
| 55 | Dream |
| 56 | サザン・ロック |
| 57 | 喜劇 |
| 58 | Cult |
| 59 | Gangsta |
| 60 | Top 40 |
| 61 | Christian Rap |
| 62 | Pop/Funk |
| 63 | Jungle |
| 64 | Native American |
| 65 | Cabaret |
| 66 | ニューウェーブ |
| 67 | Psychedelic |
| 68 | Rave |
| 69 | Showtunes |
| 70 | Trailer |
| 71 | Lo-Fi |
| 72 | Tribal |
| 73 | Acid Punk |
| 74 | アシッドジャズ |
| 75 | ポルカ |
| 76 | Retro |
| 77 | w:MusicalMusical |
| 78 | Rock & Roll |
| 79 | ハードロック |
| 80 | フォーク |
| 81 | フォークロック |
| 82 | National Folk |
| 83 | スウィング |
| 84 | Fast Fusion |
| 85 | ビバップ |
| 86 | ラテン |
| 87 | Revival |
| 88 | Celtic |
| 89 | ブルーグラス |
| 90 | Avantgarde |
| 91 | Gothic Rock |
| 92 | プログレッシブ・ロック |
| 93 | Psychedelic Rock |
| 94 | Symphonic Rock |
| 95 | Slow Rock |
| 96 | Big Band |
| 97 | Chorus |
| 98 | Easy Listening |
| 99 | アコースティック |
| 100 | ユーモア |
| 101 | Speech |
| 102 | シャンソン |
| 103 | オペラ |
| 104 | Chamber Music |
| 105 | ソナタ |
| 106 | 交響曲 |
| 107 | Booty Bass |
| 108 | Primus |
| 109 | Porn Groove |
| 110 | Satire |
| 111 | Slow Jam |
| 112 | Club |
| 113 | タンゴ |
| 114 | Samba |
| 115 | Folklore |
| 116 | バラード |
| 117 | Power Ballad |
| 118 | Rhythmic Soul |
| 119 | Freestyle |
| 120 | Duet |
| 121 | パンク・ロック |
| 122 | Drum Solo |
| 123 | ア・カペラ |
| 124 | Euro-House |
| 125 | Dance Hall |
| 126 | Goa |
| 127 | ドラムンベース |
| 128 | Club-House |
| 129 | Hardcore |
| 130 | Terror |
| 131 | Indie |
| 132 | ブリットポップ |
| 133 | Negerpunk |
| 134 | Polsk Punk |
| 135 | Beat |
| 136 | Christian gangsta rap |
| 137 | ヘヴィメタル |
| 138 | ブラックメタル |
| 139 | クロスオーバー |
| 140 | Contemporary Christian |
| 141 | Christian Rock |
| 142 | Merengue |
| 143 | Salsa |
| 144 | スラッシュメタル |
| 145 | アニメ |
| 146 | JPop |
| 147 | Synthpop |
ID3v2 [編集]
ID3v1.1を拡張、改良した形式。ID3v1のネックだった字数制限がほぼ無くなり、Unicodeのサポートなど非常に便利になっている。しかし、タグを記録するときに増えるファイルサイズがID3v1より大きかったり、古いプレイヤーでは表示に対応していないものがある。
v1からの主な変更点 [編集]
- 項目別のサイズ制限は16MB、全体のタグサイズ制限は256MBになった
- 記入できる項目の増加
- Unicodeのサポート
- 画像が含められる(ただし、対応しているプレイヤーは少ない)
バージョン番号 [編集]
現在、ID3v2には「ID3v2.2」「ID3v2.3」「ID3v2.4」の3つがある。仕様書[1]によれば、例えば「ID3v2.3」というバージョン表記は、「ID3v2」という規格の「メジャーバージョン3」となる。決して「ID3」の「バージョン2.3」ではない。
前記仕様書によれば、メジャーバージョン間の下位互換性は保証されていない。そのため、例えば「ID3v2.3」をサポートするソフトウェアは「ID3v2.4」のタグ情報は読み込めない。この場合、サポートするメジャーバージョンより大きなバージョンのタグを読み込もうとする場合は、単純にタグ全体を読み飛ばすべきと記述されている。
各バージョン間の違いは、「ID3v2.2」から「ID3v2.3」に変更されたとき、フレームIDが3桁から4桁に増えた。このため、メジャーバージョン2と3ではフレームIDに互換性がなくなった。「ID3v2.3」から「ID3v2.4」に変更されたとき、メジャーバージョン4からは文字コードとしてUTF-8のサポートが追加された(これ以前のユニコード対応はUTF-16のみ)。
ID3タグを制定している組織「ID3.org」によれば、現在最も普及しているバージョンは「ID3v2.3」である。最新バージョンとなる「ID3v2.4」は、一部の改訂箇所に不同意があったり、ソフト・ハードウェア市場がなかなか対応を行おうとしないため、いまだ普及に至っていない、と説明されている[2]。
仕様 [編集]
ID3v2タグはファイルの先頭に配置され、大まかに分けて、ID3v2ヘッダ、拡張ヘッダ、フレーム(複数)、パディング領域の4領域から構成され、この順に並んでいる。以下に各領域ごとの詳細を示す。
| offset | 長さ | 記述 |
|---|---|---|
| 0 | 3 | "ID3" のマジックナンバー3文字 |
| 3 | 2 | バージョン |
| 5 | 1 | フラグ |
| 6 | 4 | サイズ |
計10バイト。サイズは各バイトの最上位ビットが無効であり、有効な値は28ビットとなる。
| offset | 長さ | 記述 |
|---|---|---|
| 0 | 4 | この拡張ヘッダのサイズ |
| 4 | 2 | 拡張フラグ |
| 6 | 4 | パディング領域のサイズ |
| offset | 長さ | 記述 |
|---|---|---|
| 0 | 4 | フレームID(種別1バイト+ネーム3バイト) |
| 4 | 4 | フレームサイズ |
| 8 | 2 | フラグ |
| 10 | 可変長 | フレームデータ |