Mp3 ID4 tag 1.00
Submitted By:
Unknown
Rating:
(Not rated) (
Rate It)
??? ?? ?? ??? ??? ?? ?
? ? ? ? ? ? ? ? ? ?????
? ? ?? ?? ? ? ? ? ???? ????? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ?? ? ? ? ? ? ? ? ?
?? ?? ?? ? ?? ?? ?? ?? ??? ??? ????? ??
? ? ?
?? ?
http://www.wackysoft.cjb.net
????? ???????? ????
??? ??? ??? ?????
??? ??? ??? ??????
??? ??? ??? ??? ???
??? ??? ??? ?????????
??? ??? ??? ???
??? ??? ??? ???
????? ???????? ?????
__--~~--__--~~--__--~~--__--~~--__--~~--__--~~--__--~~--__--~~--__--~~--__--~
B E T T E R T H A N I D 3
--__ __--__ __--__ __--__ __--__ __--__ __--__ __--__ __--__ __--__
~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~
1. What's ID4 ?
2. ID4 Structure
3. Additional info
4. WackyS8FT
1. What's ID4 ?
~~~~~~~~~~~~~~~~~
ID4 is an improved version of ID3. It allows you to give titles, artists,
albums and comments to MP3's up to 255 characters length, and also supports
65537 genres. The Year is 4-byte, as in ID3. The only little problem is to
erase the end of the MP3 if the new ID4 is smaller than the previous ID4 or
ID3 (127 bytes), I think... The maximum size of the ID4 is 1036 bytes. I
don't know if you can erase the end of a file in some other programming
language, but in QBASIC (! - the original P.L. in wich ID4 was made - !) I
think you can't... I solved this problem by adding some "clear" fields to
the ID4, but then it has the same size as the ID4 before...
2. ID4 Structure
~~~~~~~~~~~~~~~~~~
The ID4 structure is not very complicated, but it is more complicated than
ID3:
Value | Bytes Type | Description
-----------------+--------------+--------------------------------------------
ID4TAG | 3 STRING | The ID of the ID4 - in ID3 it is "TAG"
Title Length | 1 BYTE | The length of the title in bytes
Title | TiLen STRING | The MP3 title
Artist Length | 1 BYTE | The length of the artist in bytes
Artist | ArLen STRING | The MP3 artist
Album Length | 1 BYTE | The length of the album in bytes
Album BYTEs | AlLen STRING | The MP3 title
Year | 4 STRING | The MP3 year
Comment Length | 1 BYTE | The length of the comment in bytes
Comment | CoLen STRING | The MP3 comment
Clear | x BYTES | Clear - It's not necessary
ID4 Length | 2 INTEGER| The length of ID4 - start of ID4 is
| | LengthOfFile(MP3) - ID4LEN
ID4 Descriptor | 1 BYTE | It is the ASCII code 4, used to detect ID4
| |
-----------------+--------------+--------------------------------------------
IMPORTANT: (?)
1. If you can erase the end of the file, you don't need the clear fields,
just erase the od tag and write the new one.
2. Note that all the title, artist, album and comment strings have a byte
that holds the length of their strings
3. The year is defined like in ID3, that means a string of 4 bytes
4. Always calculate the ID4 length like this:
16 + Title Length + Artist Length + Album Length + Comment Length
{ + Clear Fields }
That 16 is: 3 ID4TAG
1 Title length
1 Artist length
1 Album length
1 Comment length
4 Year
2 Genre
2 ID4 Size
1 ID4 Descriptor
-----------------------
16 Minimum ID4 Size
5. ID4TAG is always "ID4"
6. ID4 Descriptor is ASCII value 4
7. To detect an ID4, the last byte in the file is 4, and at the beginning
of the ID4 (LOF(MP3) - ID4Len) is "ID4"
8. I think the ID4 cannot exceed 1036 bytes:
16 Minimum ID4 size
255 Maximum Title size
255 Maximum Artist size
255 Maximum Album size
255 Maximum Comment size
-----------------------------
1036 Maximum ID4 Size
3. Additional Info
~~~~~~~~~~~~~~~~~~~~
As mentioned before, you don't need to use any clear fields. You can erase
the old TAG (ID3/ID4) and write the new one. That means you have to change
the file size and then write the ID4 at the end of the file. If you do use
the clear fields, you don't have to write them, just write the ID4SIZE and
ID4 Descriptor at the end of the file, or LengthOfFile(MP3) - 3
There should be QBASIC Samples included:
ID4SAVE.BAS - Writes an ID4 to an MP3, using (and writing) clear fields
and overwriting any ID3 and ID4
ID4LOAD.BAS - Reads an ID4 from an MP3
I M P O R T A N T :
If you use ID4 in any of your programs, you must give credit and e-mail to:
Teodor Tomic aka ch!ckuaua, Croatia
[[Email Removed]]
If you have any questions (or answers) or comments, e-mail me:
[[Email Removed]]
Copyright (C) 26/04/2000 WackyS8FT. All rights reserved.
4. WackyS8FT
~~~~~~~~~~~~~~
If you want to join WackyS8FT, e-mail: [[Email Removed]]
WackyS8FT URL: http://www.wackysoft.cjb.net
Wackysoft members: ch!ckuaua [13]
ch!ckuaua made this file (and ID4)!
COMMENT: Count me 13, yes, 13 years of life !
------------------------------------!EOF.!------------------------------------