現在主流っぽいMP3タグ情報フォーマットまとめ
 
     ID3v1 …… v1.0 / v1.1
    ID3v2 …… v2.2.0 / v2.3.0 / v2.4.0
    RIFF …… RIFF/WAVE  / RIFF/RMP3
   オリジナルRIFF
オリジナルRIFF フィールド翻訳
    Lyrics3 …… v1.0 / v2.0
…… MacBinary

 
あくまで情報だけです。解説はありません。
わざわざこのページを覗こうという方々は、各タグの説明などはもはや釈迦説法でしょうから。
トップページへ戻る


ID3v1

 
v1.0 v1.1
策定者 NamkraD (Erik Kemp) Michael Mutschler
公開年度 1996 Dec. 1997
プログラム Studio3 MP3ext
http://odin.mutschler.de/mp3ext/
仕様 策定者によるものは発見できず
解説など 「Mi-Ke's Home Page ++ MP3 について」 
http://www.angel.ne.jp/~mike/about_mp3/
最大占有領域 128Bytes 固定
各テキスト情報
の文字数制限
30Bytes (Yearもテキストだが4Bytes)

ID3v2

 
v2.2.0 (旧v2) v2.3.0 v2.4.0 (旧v2.3.1)
策定者 Martin Nilsson 他
公開年度 1998 Feb. 1999 Nov. 2000
プログラム 策定者によるものは特になし
ただし id3lib を模範とするよう推奨している
http://www.id3lib.org/http://id3lib.sourceforge.net/
仕様 http://www.id3.org/
日本語版仕様
他解説など
「Takaaki Mizuno WebPage - ID3 TagFormat」
http://www1.cds.ne.jp/~takaaki/ID3/
最大占有領域 268,435,465Bytes(約256MB)
各テキスト情報
の文字数制限
論理値最大 : 268,435,440Bytes(約256MB)
ただし他との互換性などを考慮して各250Bytesまでを推奨 (*1)

 
(*1) Lyrics3と同調という意味。この場で勝手に推奨しているだけだから従う必要はないが。もっともそんなに入力する人もいないだろう。単にプログラムを楽にするための意味だけかもしれない。

 
数値の根拠
最大占有領域 ヘッダ10Bytes + 本体256MB(0xFFFFFFF)
論理値最大 テキストフレーム1つのみとした場合、本体256MB - フレームヘッダ10Bytes - フレームID4Bytes - その他の情報最低1Byte

RIFF

 
策定者 303tek & YunaSoft
公開年度 Mar. 1998
プログラム 303tek
http://www.303tek.com/ ←活動停止中?
YunaSoft SexyFont Plug-in
http://www.yunasoft.gr.jp/
仕様 上記ソフトウェアのヘルプファイル "sexyfont.chm"
(以下にもあります。いつまで残るか不明ですが…
http://hp.vector.co.jp/authors/VA005308/help/wav2mp3/rmpinfo.html)
解説など 「Mi-Ke's Home Page ++ MP3 について」
http://www.angel.ne.jp/~mike/about_mp3/
最大占有領域 RIFF/RMP3 : 4,294,967,323Bytes(約4096MB)
RIFF/WAVE : 4,294,967,363Bytes(約4096MB)
各テキスト情報
の文字数制限
論理値最大 : 4,294,967,283Bytes(約4096MB)
ただし他との互換性などを考慮して各250Bytesまでを推奨 (*1)

 
数値の根拠
最大占有領域 (RIFF/RMP3) RIFFチャンク12Bytes + DATAチャンクヘッダ8Bytes + LISTチャンクヘッダ8Bytes + LISTチャンクサイズ("INFO含")最大値(0xFFFFFFFF)
最大占有領域 (RIFF/WAVE - FACTチャンク無し) RIFFチャンク12Bytes + FMTチャンク最大40Bytes + DATAチャンクヘッダ8Bytes + LISTチャンクヘッダ8Bytes + LISTチャンクサイズ("INFO含")最大値(0xFFFFFFFF)
論理値最大 フレーム1つのみとした場合、フレームサイズ最大値は4096MB(0xFFFFFFFF)だが、LISTチャンクもヘッダを除く部分の最大値が同じく4096MBであるので、論理上存在可能なのは4096MB - INFOヘッダ4Bytes("INFO") - フレームID4Bytes("INAM") - フレームサイズ4Bytes

オリジナルRIFF

 
v1.0
策定者 IBM, Microsoft
公開年度 1991
プログラム Microsoft社製品多数あり
なお、現在はRIFF.ORGが統括
http://riff.org/http://frederic.marand.free.fr/
仕様 http://frederic.marand.free.fr/mpi10.htm(*6)
解説など MSDN Library - "Resource Interchange File Format Services" (*7)
http://msdn.microsoft.com/library/psdk/multimed/mmio_2uyb.htm

 
(*6) 環境によっては非常に読みづらい。LISTチャンクのフィールド説明を読みたいだけなら、MSDNライブラリのCD-ROM版を持っている方は、「RIFF LIST IARL」で検索をかけると見つかる「AAFILE.C」の中、「typedef struct tINFO」 および「static INFO aINFO」として宣言されている構造体にその文章を見ることができるので、そちらをお勧めする。
(*7) [Platform SDK Documentation | Graphics and Multimedia Services | Windows Multimedia | Mutltimedia Input | Multimedia File I/O | About Multimedia I/O | Multimedia File I/O Services | Resource Interchange File Format Services]

 
なお、RIFFをいじるだけなら、APIのマルチメディアI/O関数が使える。方法などについてはWAVEファイルのプログラミングに準拠するので、その例など。
ZIDNEY's Software Laboratory - "acmStream"
http://www7.big.or.jp/~hina/zidney/programing/api/acmstream/
鈴ちゃんのClassic MIDI - "MIDIファイルへの著作権情報の埋め込み"
http://www08.u-page.so-net.ne.jp/gd5/ka-suzu/program/prog7.htm
MADIAのVB研究室 - "Waveファイルを作成する(その1)"
http://homepage1.nifty.com/MADIA/Delphi/Win32API/WaveCreate.htm

 

オリジナルRIFF フィールド翻訳

 
試しに、上記仕様の中から、LISTチャンクの各フィールドの説明を訳してみたので、以下に記す。

 
1. 当然ながらこちらは翻訳権を取得しているわけではないので、本家よりクレームがつくのなら以下の表は削除される可能性がある。
2. 表中では、"subject of the file"または"the original subject of the file"を「元データ」に、"Subject"を「サブタイトル」と訳している。もちろん意訳である。ここの解釈が異なるとすべて変わってくる。
3. いくつかの訳に関しては、JEITAによる「ディジタルスチルカメラ用画像ファイルフォーマット規格(Exif)」のPDFを参考にした。
http://it.jeita.or.jp/document/publica/standard/
かなり不適当な訳が混入されていたりもするが、参考にはなったのでここに感謝の意を表する。
4. ところで、ミケランジェロの1553年完成の作品って何?ユリウス2世絡みにしては若干年代がずれているような・・・

 
IARL Archival Location ソースの所在 元データが正式に置かれている場所(*2)
IART Artist アーティスト 元データのアーティスト (例:"ミケランジェロ")
ICMS Commissioned コミッション 元データの著作権代理人である個人または組織 (例:"法王ユリウス2世")
ICMT Comments コメント ファイルまたは元データに対する一般的なコメント (注意:文中に改行は含めてはならない)
ICOP Copyright 著作権情報 そのファイルの著作権情報 (例:"Copyright Encyclopedia International 1991.")
複数の場合は"; "で分割する
ICRD Creation date 作成日 元データの作成日 (例: 1553年5月3日なら"1553-05-03")
ICRP Cropped クロップ 画像が部分的に削られている(もしくは破損している?)かどうか
またその場合は位置や程度など (例:"右下の角")
IDIM Dimensions 寸法 元データの寸法 (例:"縦8.5インチ, 横11インチ.")(*3)
IDPI Dots Per Inch ドット密度 デジタル化の際に設定されたDPI=ドット密度 (例:"300")
IENG Engineer エンジニア ファイルの作成に関わったエンジニア
複数の場合は"; "で分割する (例:"ジョン・スミス; ジョー・アダムス.")
IGNR Genre ジャンル 元データの属するジャンル (例:"風景画"、"肖像画"、"静物画")
IKEY Keywords キーワード ファイルまたは元データのキーワード
複数の場合は"; "で分割する (例:"シアトル; 俯瞰; 景色.")
ILGT Lightness 明度 デジタル化の際に設定された明度 (注意:使用機材に依存する)
IMED Medium メディア形式 元データの媒体形式 (例:"コンピュータ画像," "絵画," "版画,")(*4)
INAM Name 名前 元データのタイトル (例:"空から見たシアトル")
IPLT Palette Setting パレット設定 デジタル化する際に設定された色数 (例:"256")
IPRD Product 製品名 そのファイルが属している製品 (例:"アメリカ西海岸地理辞典")
ISBJ Subject サブタイトル ファイルの内容説明 (例:"シアトルの俯瞰図")(*5)
ISFT Software ソフトウェア ファイルの作成に使用されたソフトウェア (例:"Microsoft WaveEdit.")
ISHP Sharpness 鮮明度 デジタル化の際に設定された鮮明度 (注意:使用機材に依存する)
ISRC Source ソース 元データを提供した人または組織 (例:"Trey研究所")
ISRF Source Form ソース形態 元データの形態 (例:"スライド," "文書," "地図")
なお、IMEDと同じである必要はない(*4)
ITCH Technician 技術者 元データを実際にデジタル化した技術者名 (例:"ジョン・スミス")

 
(*2) IARL : 原典→図書館・絵画→美術館といった感じか。"Indicates"とあるのでURLでも可かと。
(*3) IDIM : "Size"でなくて"Dimensions"であるからには、絵画など実体を持つものに対してのみ使われるべきだろう。
(*4) IMED & ISRF : IMEDは「性質によって分類される形式」、ISRFは「物理的な形態」として区別されているようだ。
(*5) ISBJ : 原文にある"conbittents"というのは、おそらく"contents"のミスであろう。AAFILE.Cでは後者になっている。
なお、"主題"と訳せば"タイトル"にもなる。しかしこの場合の"Subject"は"contents"すなわち"内容"に同義として扱われているので、同じ"主題"でも"テーマ"の意味の方であろう。INAMと区別するため、あえてサブタイトルとした。

 
ついでだから書いておくと、QuickTimeでは以下のように変換されるらしい。
これを見ても、ISBJはやはりタイトル扱いにするべきではない。

QuickTime - "Digital Audio File Formats"
http://www.apple.co.jp/quicktime/authoring/ffda.html


 
ICOP kUserDataTextCopyright Copyright
ICRD ©day Day
IMED ©fmt Format
ISBJ kUserDataTextInformation Information
ISRC ©src Source
それ以外のメタデータは"I***(大文字)"を"©***(小文字)"に変換

 

Lyrics3

 
v1.0 v2.0
策定者 Petr Strnad & Alon Gingold.
公開年度 1998 Feb. 1999
プログラム MP3 Manager
http://www.volweb.cz/str/
仕様 http://www.volweb.cz/str/tags.htm
日本語版仕様
他解説など
「駄歌詞屋本舗−ミリ秒で刻め! - 開発部屋」
http://hp.vector.co.jp/authors/VA023256/dev.html
最大占有領域 5,109Bytes(約5KB) 論理値最大 - 301,090Bytes(約294KB)
各テキスト情報
の文字数制限
歌詞のみ
5,089Bytes(約5KB)
タイトルなど - 250Bytes
歌詞/コメント - 99,999Bytes(約98KB)

 
数値の根拠
v1.0 - 最大占有領域 ヘッダ込み本体5,100 + フッタ9("LYRICSEND")
v1.0 - 文字数制限 ヘッダ込み本体5,100 - ヘッダ11("LYRICSBEGIN")
v2.0 - 論理値最大 ヘッダ11("LYRICSBEGIN") + 指標11("IND00003" + 3) + タイトルなど1,032(("AUT00250" + 250) * 4) + 歌詞など300,021(("LYR99999" + 99999) * 3) + LSZ6("999999") + フッタ9("LYRICS200")

MacBinary

 
マックバイナリで包まれたMP3の場合、それを除去しないことにはお話にならない。
除去専用のソフトもあるが、自前で対応したい場合の参考情報を出しておく。
#言わずもがなだが、MacBinaryは「タグフォーマット」ではない。

 
I II III
策定者 Dennis Brothers 他 MacBinary II Conference Leonard Rosenthol 他
公開年度 Mar. 1985 Jul. 1987 Dec. 1996
仕様 Lazerware - Home of the MacBinary Specification
http://www.lazerware.com/formats/
Apple - Technical Note TB09 - Finder Flags
http://developer.apple.com/technotes/tb/tb_09.html
解説など とむねこのページ - Web&Mail&Mac講座
http://homepage1.nifty.com/glass/tom_neko/web/
最大占有領域 4,294,967,423Bytes(約4096MB) 4,295,032,958Bytes(約4096MB)

 
数値の根拠
最大占有領域 I ヘッダ128Bytes + リソースフォーク4096MB(0xFFFFFFFF)
最大占有領域 II & III ヘッダ128Bytes + リソースフォーク4096MB(0xFFFFFFFF) + Get Info コメント64KB(0xFFFF)


トップページへ戻る