Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MP3::Tag::ID3v2_Data(3User Contributed Perl DocumentatiMP3::Tag::ID3v2_Data(3)

       MP3::Tag::ID3v2_Data - get_frame() data format and supported frames

	 $mp3 =	MP3::Tag->new($filename);
	 $id3v2	= $mp3->{ID3v2}	if exists $mp3->{id3v2};

	 ($info, $long)	= $id3v2->get_frame($id);    # or

	 ($info, $long)	= $id3v2->get_frame($id, 'raw');

       This document describes how to use the results of the get_frame
       function	of MP3::Tag::ID3v2, thus the data format of frames retrieved
       with MP3::Tag::ID3v2::get_frame().

       It contains also	a list of all supported	ID3v2-Frames.

	($info,	$long) = $id3v2->get_frame($id);    # or

	($info,	$long) = $id3v2->get_frame($id,	'raw');

       $id has to be a name of a frame like "APIC".  For more variants of
       calling see get_frame().

       The names of all	frames found in	a tag can be retrieved with the
       get_frame_ids() function.

   Using the returned data
       In the ID3v2.3 specifications 73	frames are defined, which can contain
       very different information. That	means that get_frame returns the
       information of different	frames also in different ways.

       Simple Frames
	   A lot of the	tags contain only a text string	and encoding
	   information.	If you call ($info, $long) = $id3v2->get_frame($id)
	   for such a frame, $info will	contain	the text string	and $long will
	   contain the english name of the frame.

	     get_frame("TIT2");	    # returns

	     ("Birdhouse In Your Soul",	"Title/songname/content	description")

       Complex Frames
	   For more complex frames the returned	$info is a reference to	a
	   hash, where each entry of the hash decribes a part of the
	   information found in	the frame. The key of a	hash entry contains
	   the name of this part, the according	value contains the information

	     get_frame("APIC");	    # returns

	     ( { "Description" => "Flood",
		 "MIME Type" =>	"/image/jpeg",
		 "Picture Type"	=> "Cover (front)",
		 "_Data" => " of jpeg picture (binary).."
	      "Attached	Picture");

       Other Frames
	   Some	frames are not supported at the	moment,	ie the data found in
	   the frame is	not returned in	a descriptive way. But you can read
	   the data of this frames (and	also of	all other frames too) in raw
	   mode. Then the complete data	field of the frame is returned,
	   without any modifications. This means that the returned data	will
	   be almost binary data.

	     get_frame("TIT2", 'raw');	  # returns

	     ("\x00Birdhouse In	Your Soul", "Title/songname/content description")

       The frames which	(in addition to	"Text"/"URL") contain only
       "Description" and "Language" fields are in some intermediate position
       between "simple"	and "complex" frames.  They can	be handled very
       similarly to "simple" frames by using "long names", such	as
       "COMM[description]" or "COMM(LANG)[description]", and the corresponding
       "quick" API such	as frame_select().

   List	of Simple Frames
       Following Frames	are supported and return a single string (text). In
       the List	you can	find the frame IDs and the long	names of the frames as
       returned	by $id3v2->get_frame():

       IPLS : Involved people list
       MCDI : Music CD identifier
       PCNT : Play counter
       TALB : Album/Movie/Show title
       TBPM : BPM (beats per minute)
       TCOM : Composer
       TCON : Content type
       TCOP : Copyright	message
       TDAT : Date
       TDLY : Playlist delay
       TDRC : Recording	time
       TENC : Encoded by
       TEXT : Lyricist/Text writer
       TFLT : File type
       TIME : Time
       TIPL : Involved people list
       TIT1 : Content group description
       TIT2 : Title/songname/content description
       TIT3 : Subtitle/Description refinement
       TKEY : Initial key
       TLAN : Language(s)
       TLEN : Length
       TMCL : Musician credits list
       TMED : Media type
       TOAL : Original album/movie/show	title
       TOFN : Original filename
       TOLY : Original lyricist(s)/text	writer(s)
       TOPE : Original artist(s)/performer(s)
       TORY : Original release year
       TOWN : File owner/licensee
       TPE1 : Lead performer(s)/Soloist(s)
       TPE2 : Band/orchestra/accompaniment
       TPE3 : Conductor/performer refinement
       TPE4 : Interpreted, remixed, or otherwise modified by
       TPOS : Part of a	set
       TPUB : Publisher
       TRCK : Track number/Position in set
       TRDA : Recording	dates
       TRSN : Internet radio station name
       TRSO : Internet radio station owner
       TSIZ : Size
       TSRC : ISRC (international standard recording code)
       TSSE : Software/Hardware	and settings used for encoding
       TYER : Year
       WCOM : Commercial information
       WCOP : Copyright/Legal information
       WOAF : Official audio file webpage
       WOAR : Official artist/performer	webpage
       WOAS : Official audio source webpage
       WORS : Official internet	radio station homepage
       WPAY : Payment
       WPUB : Publishers official webpage

   List	of Complex Frames
       Following frames	are supported and return a reference to	a hash.	The
       list shows which	keys can be found in the returned hash:

       AENC : Audio encryption
	     Keys: URL,	Preview	start, Preview length, _Data

       APIC : Attached picture
	     Keys: MIME	type, Picture Type, Description, _Data

       COMM : Comments
	     Keys: Language, Description, Text

       COMR : Commercial frame
	     Keys: Price, Valid	until, URL, Received as, Name of Seller, Description, MIME type, _Logo

       ENCR : Encryption method	registration
	     Keys: Owner ID, Method symbol, _Data

       GEOB : General encapsulated object
	     Keys: MIME	type, Filename,	Description, _Data

       GRID : Group identification registration
	     Keys: Owner, Symbol, _Data

       LINK : Linked information
	     Keys: ID, URL, Text

       OWNE : Ownership	frame
	     Keys: Price payed,	Date of	purchase, Text

       POPM : Popularimeter
	     Keys: URL,	Rating,	Counter

       PRIV : Private frame
	     Keys: Text, _Data

       RBUF : Recommended buffer size
	     Keys: Buffer size,	Embedded info flag, Offset to next tag

       RVRB : Reverb
	     Keys: Reverb left (ms), Reverb right (ms),	Reverb bounces (left), Reverb bounces (right), Reverb feedback (left to	left), Reverb feedback (left to	right),	Reverb feedback	(right to right), Reverb feedback (right to left), Premix left to right, Premix	right to left

       SYTC : Synchronized tempo codes
	     Keys: Time	Stamp Format, _Data

       TXXX : User defined text	information frame
	     Keys: Description,	Text

       UFID : Unique file identifier
	     Keys: Text, _Data

       USER : Terms of use
	     Keys: Language, Text

       USLT : Unsychronized lyric/text transcription
	     Keys: Language, Description, Text

       WXXX : User defined URL link frame
	     Keys: Description,	URL

   List	of Other Frames
       Following frames	are only supported in raw mode:

       CRM : Encrypted meta frame
       EQUA : Equalization
       ETCO : Event timing codes
       LNK : Linked information
       MLLT : MPEG location lookup table
       PIC : Attached picture
       POSS : Position synchronisation frame
       RVAD : Relative volume adjustment
       SYLT : Synchronized lyric/text

       MP3::Tag, MP3::Tag::ID3v2

perl v5.32.1			  2009-11-28	       MP3::Tag::ID3v2_Data(3)


Want to link to this manual page? Use this URL:

home | help