ID3タグ

ID3タグ（アイディースリータグ、ID3 tag）は、MP3ファイルの中に、アーティスト・作成年・曲名等の情報を書き込むための規格である。

 概要 
ID3タグはMP3ファイルに元々組み込まれていた仕様ではなく、1996年に公開された「Studio3」というソフトウェアに組み込まれたのが始まりである。以後、様々なバージョンの規格が作られた。

ID3を追加したり、書き換えたりするソフトウェアはいくつか存在する。代表的な物はWinamp、SuperTagEditorシリーズ、mp3infp、Mp3tag等。

 バージョン 
ID3はいくつかのバージョンが存在する。このうち、ID3v1はファイルの末尾に、ID3v2はファイルの先頭に書かれるため、同時に1つのファイルに含めることができる。

 ID3v1 
もっとも広く対応されている形式。サイズは128バイト固定で制限が厳しいため、多くの情報は記録できない。
文字列には日本語を使用することができるが、文字コードに関する定義がないため、プラットフォームをまたぐ際に互換性の面で問題が生じることがある。

+ID3v1 形式開始位置長さ説明03“TAG” の識別子3文字330曲名文字列3330アーティスト文字列6330アルバム文字列934年文字列9730コメント文字列1271ジャンル番号

 ID3v1.1 
v1 のコメントを 2 バイト短縮し、トラック番号を記録できるようにした形式。
短縮した 2 バイトのうち、先の 1 バイトには必ず 0 (NULL) を格納しv1 でコメントが最大文字数に満たない場合、
残りが 0 (NULL) になることを利用し、v1 にしか対応しないソフトウェアにそこでコメントが終わったと判断させ、
トラック番号の部分をコメントと認識しないようにするためのものである。、残りの 1 バイトにトラック番号を記録する。
仕様上、v1 形式で 29 バイト以上のコメントが入力されたファイルとの互換は完全には保てず、
トラック番号を記録して v1.1 形式に移行した時点でコメントの 29 、30 バイト目のデータが消失する。

+ID3v1.1 形式開始位置長さ説明03“TAG” の識別子3文字330曲名文字列3330アーティスト文字列6330アルバム文字列934年文字列9728コメント文字列12510 (NULL) が格納される1261トラック番号1271ジャンル番号

 ジャンル番号一覧 
80番以降はWinampで定義されたもの

 #  ジャンル名   0  Blues   1  Classic Rock   2  Country   3  Dance   4  Disco   5  Funk   6  Grunge   7  Hip-Hop   8  Jazz   9  Metal  10  New Age  11  Oldies  12  Other（その他）  13  Pop  14  R&B  15  Rap  16  Reggae  17  Rock  18  Techno  19  Industrial  20  Alternative  21  Ska  22  Death Metal  23    24  Soundtrack  25  Euro-Techno  26  Ambient  27  Trip-Hop  28  Vocal  29  Jazz-funk  30  Fusion  31  Trance  32  Classical  33  Instrumental  34  Acid  35  House  36  Game  37    38  Gospel  39  Noise  40  Alt. Rock  41  Bass  42  Soul  43  Punk  44    45  Meditative  46  Instrumental pop  47    48  Ethnic  49  Gothic  50    51  Techno-Industrial  52  Electronic  53  Pop-folk  54  Eurodance  55  Dream  56  Southern Rock  57  Comedy  58  Cult  59  Gangsta  60  Top 40  61  Christian Rap  62  Pop/Funk  63  Jungle  64  Native American  65  Cabaret  66  New Wave  67  Psychedelic  68    69  Showtunes  70  Trailer  71  Lo-Fi  72    73  Acid Punk  74  Acid Jazz  75  Polka  76  Retro  77  Musical  78  Rock & Roll  79  Hard Rock

 #  ジャンル名  80  Folk  81  Folk-Rock  82    83  Swing  84  Fast Fusion  85  Bebob  86  Latin  87  Revival  88  Celtic  89  Bluegrass  90  Avantgarde  91  Gothic Rock  92  Progressive Rock  93  Psychedelic Rock  94  Symphonic Rock  95  Slow Rock  96  Big Band  97  Chorus  98  Easy Listening  99  Acoustic 100  Humour 101  Speech 102  Chanson 103  Opera 104  Chamber Music 105  Sonata 106  Symphony 107  Booty Bass 108  Primus 109  Porn Groove 110  Satire 111  Slow Jam 112  Club 113  Tango 114  Samba 115  Folklore 116  Ballad 117  Power Ballad 118  Rhythmic Soul 119  Freestyle 120  Duet 121  Punk Rock 122  Drum Solo 123  A capella 124  Euro-House 125  Dance Hall 126  Goa 127  Drum & Bass 128  Club-House 129  Hardcore 130  Terror 131  Indie 132  BritPop 133  Afro-punk 134  Polsk Punk 135  Beat 136  Christian gangsta rap 137  Heavy Metal  138  Black Metal  139  Crossover 140  Contemporary Christian 141  Christian Rock 142  Merengue 143  Salsa 144  Thrash Metal 145  Anime 146  JPop 147  Synthpop 148  Abstract 149  Art Rock 150  Baroque 151  Bhangra 152  Big beat 153  Breakbeat 154  Chillout 155  Downtempo 156  Dub 157  EBM 158  Eclectic 159  Electro

 #  ジャンル名 160  Electroclash 161  Emo 162  Experimental 163  Garage 164  Global 165  IDM 166  Illbient 167  Industro-Goth 168  Jam Band 169  Krautrock 170  Leftfield 171  Lounge 172  Math Rock 173  New Romantic 174  Nu-Breakz 175  Post-Punk 176  Post-Rock 177  Psytrance 178  Shoegaze 179  Space Rock 180  Trop Rock 181  World Music 182  Neoclassical 183  Audiobook 184  Audio theatre 185  Neue Deutsche Welle 186  Podcast 187  Indie-Rock 188  G-Funk 189  Dubstep 190  Garage Rock 191  Psybient

 ID3v2 
ID3v1.1を拡張、改良した形式。ID3v1のネックだった字数制限がほぼ無くなり、Unicodeのサポートなど非常に便利になっている。しかし、タグを記録するときに増えるファイルサイズがID3v1より大きかったり、古いプレイヤーでは表示に対応していないものがある。

 v1からの主な変更点 
 項目別のサイズ制限は16MB、全体のタグサイズ制限は256MBになった
 記入できる項目の増加
 Unicodeのサポート
 画像が含められる

 バージョン番号 
現在、ID3v2には「ID3v2.2」「ID3v2.3」「ID3v2.4」の3つがある。仕様書セクション3.1. ID3v2 headerによれば、例えば「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」は、一部の改訂箇所に不同意があったり、ソフト・ハードウェア市場がなかなか対応を行おうとしないため、いまだ普及に至っていない、と説明されているID3.orgのWelcomeの節。

 仕様 
ID3v2タグはファイルの先頭に配置され、大まかに分けて、ID3v2ヘッダ、拡張ヘッダ、フレーム(複数)、パディング領域の4領域から構成され、この順に並んでいる。以下に各領域ごとの詳細を示す。v2.2はフレームIDが3桁であるなど一部異なる
 ID3v2ヘッダ 
計10バイト。サイズは各バイトの最上位ビットが無効であり、有効な値は28ビットとなる。
v2.2では圧縮方式が指定されていない為、圧縮されている場合データを読み取れない可能性がある。また、拡張ヘッダは存在しない。
オフセット長さ説明03“ID3” のマジックナンバー3文字32バージョン51フラグ64サイズ

+ID3v2ヘッダのフラグオフセット下位からのビット位置説明07非同期処理がされているか6タグが圧縮されているか(v2.2)拡張ヘッダが存在するか(v2.3以降)5タグが試験的なものか(v2.3以降)4フッタが存在するか(v2.4)3～0未使用
 拡張ヘッダ 
+ 拡張ヘッダ(v2.3)オフセット長さ説明04この拡張ヘッダのサイズ42フラグ64パディング領域のサイズ10可変長拡張ヘッダのデータ

+拡張ヘッダのフラグ(v2.3)オフセット下位からのビット位置説明07CRCデータ有り6～0未使用17～0未使用

+拡張ヘッダ(v2.4)オフセット長さ説明04この拡張ヘッダのサイズ41フラグ長(常に1)51フラグ6可変長拡張ヘッダのデータ

+拡張ヘッダのフラグ(v2.4)オフセット下位からのビット位置説明07未使用6以前のタグを更新したものか5CRCデータ有り4タグデータに制限を加えるか3～0未使用
 フレームデータ 
+各フレーム(v2.2)オフセット長さ記述03フレームID33フレームサイズ6可変長フレームデータ

+各フレーム(v2.3以降)オフセット長さ記述04フレームID(種別1バイト+ネーム3バイト)44フレームサイズ82フラグ10可変長フレームデータ

+フレームのフラグ(v2.3)オフセット下位からのビット位置説明07タグを書き替えたときにフレームを保持するか6タグ以外の部分が書き替えられたときにフレームを保持するか5フレームが読み取り専用か4～0未使用17zlibで圧縮されているか6グループIDがあるか5暗号化されているか4～0未使用
+フレームのフラグ(v2.4)オフセット下位からのビット位置説明07未使用6タグを書き替えたときにフレームを保持するか5タグ以外の部分が書き替えられたときにフレームを保持するか4フレームが読み取り専用か3～0未使用17未使用6グループIDがあるか5～4未使用3zlibで圧縮されているか2暗号化されているか1非同期処理されているか0データ長インジケーターがあるか

+フレームIDIDDescriptionNotesAENCCRAAudio encryptionAPICPICAttached pictureASPIAudio seek point indexv2.4で追加COMMCOMCommentsCOMRCommercial frameCRMEncrypted meta frameENCREncryption method registrationEQU2Equalizationv2.4で追加EQUAEQUEqualizationv2.4でEQU2に変更ETCOETCEvent timing codesGEOBGEOGeneral encapsulated objectGRIDGroup identification registrationIPLSIPLInvolved people listv2.4でTMCLとTIPLに変更LINKLNKLinked informationMCDIMCIMusic CD identifierMLLTMLLMPEG location lookup tableOWNEOwnership framePRIVPrivate framePCNTCNTPlay counterPOPMPOPPopularimeterPOSSPosition synchronisation frameRBUFBUFRecommended buffer sizeRVA2Relative volume adjustmentv2.4で追加RVADRVARelative volume adjustmentv2.4でRVA2に変更RVRBREVReverbSEEKSeek framev2.4で追加SIGNSignature framev2.4で追加SYLTSLTSynchronized lyric/textSYTCSTCSynchronized tempo codesTALBTALAlbum/Movie/Show titleTBPMTBMBeats per minute (BPM)TCOMTCMComposerTCONTCOContent typeTCOPTCRCopyright messageTDATTDADatev2.4でTDRCに変更TDENEncoding timev2.4で追加TDLYTDYPlaylist delayTDOROriginal release timev2.4で追加TDRCRecording timev2.4で追加TDRLRelease timev2.4で追加TDTGTagging timev2.4で追加TENCTENEncoded byTEXTTXTLyricist/Text writerTFLTTFTFile typeTIMETIMTimev2.4でTDRCに変更TIPLInvolved people listv2.4で追加TIT1TT1Content group descriptionTIT2TT2Title/songname/content descriptionTIT3TT3Subtitle/Description refinementTKEYTKEInitial keyTLANTLALanguage(s)TLENTLELengthTMCLMusician credits listv2.4で追加TMEDTMTMedia typeTMOOMoodv2.4で追加TOALTOTOriginal album/movie/show titleTOFNTOFOriginal filenameTOLYTOLOriginal lyricist(s)/text writer(s)TOPETOAOriginal artist(s)/performer(s)TORYTOROriginal release yearv2.4でTDORに変更TOWNFile owner/licenseeTPE1TP1Lead artist(s)/Lead performer(s)/Soloist(s)/Performing groupTPE2TP2Band/orchestra/accompanimentTPE3TP3Conductor/performer refinementTPE4TP4Interpreted, remixed, or otherwise modified byTPOSTPAPart of a setTPROProduced noticev2.4で追加TPUBTPBPublisherTRCKTRKTrack number/Position in setTRDATRDRecording datesv2.4でTDRCに変更TRSNInternet radio station nameTRSOInternet radio station ownerTSIZTSISizev2.4で削除TSOAAlbum sort orderv2.4で追加TSOPPerformer sort orderv2.4で追加TSOTTitle sort orderv2.4で追加TSRCTRCInternational Standard Recording Code (ISRC)TSSETSSSoftware/Hardware and settings used for encodingTSSTSet subtitlev2.4で追加TYERTYEYearv2.4でTDRCに変更TXXXTXXUser defined text information frameUFIDUFIUnique file identifierUSERTerms of useUSLTULTUnsynchronized lyric/text transcriptionWCOMWCMCommercial informationWCOPWCPCopyright/Legal informationWOAFWAFOfficial audio file webpageWOARWAROfficial artist/performer webpageWOASWASOfficial audio source webpageWORSOfficial internet radio station homepageWPAYPaymentWPUBWPBPublishers official webpageWXXXWXXUser defined URL link frame
 フッタ 
v2.4で追加された。フレーム領域の後ろ（パディング領域がある場合はその後ろ）に置かれる。マジックナンバー以外はヘッダと同じ。
オフセット長さ説明03“3DI” (マジックナンバー)32バージョン51フラグ64サイズ

 参考 

 外部リンク 
 ID3.org 

Category:メタデータ