MP3 file and tags

 

 

MP3 files can contain ID3 tags to describe audio. These tags can include information about title, artist, album, year of creation, track number and much more. There are two main versions of ID3 tag: ID3v1 and ID3v2. The first version is older and has limited facilities. The second one is newer and has much more facilities. In a MP3 file can be present both tags (of the first and the second versions) at the same time, only one of them or none at all.

ID3v1 tag, if present, is always at the end of the file. It has a fixed size of 128 bytes, and a fixed set of fields. Its fields have limitations on length.

 

 

Structure of ID3v1 tag

Title

30 characters

Artist

30 characters

Album

30 characters

Year

4 characters

Comment

28 characters

Track

1 byte

Genre

1 byte

 

Track field occupies 1 byte, so it can be used to set the value from 0 to 255.

Genre field also occupies 1 byte, and can contain one of 256 values. Genre is represented in a tag as a number, but TagJet converts it into a name. Genres are already defined for first 126 values.

The following genres are defined in ID3v1 specification:

 

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. Pranks

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. Sound Clip

38. Gospel

39. Noise

40. AlternRock

41. Bass

42. Soul

43. Punk

44. Space

45. Meditative

46. Instrumental Pop

47. Instrumental Rock

48. Ethnic

49. Gothic

50. Darkwave

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. Psychadelic

68. Rave

69. Showtunes

70. Trailer

71. Lo-Fi

72. Tribal

73. Acid Punk

74. Acid Jazz

75. Polka

76. Retro

77. Musical

78. Rock & Roll

79. Hard Rock

 

The following genres are Winamp extensions:

 

80. Folk

81. Folk-Rock

82. National Folk

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. Acapella

124. Euro-House

125. Dance Hall

 

TagJetsupports all of these genres.

ID3v1 tag does not support Unicode encoding, and its fields can contain strings only in ASCII encoding.

ID3v2 tag provides much more facilities. It is located at the beginning of the file what has been done to support streaming players.

It has a bigger set of fields and practically does not have limitations on their length. Below are the main fields of ID3v2 tag. TagJet supports all of them.

 

 

Main fields of ID3v2 tag

 

Field name

 

 

Description

Title

The 'Title/Song name/Content description' field is the actual name of the piece (e.g. "Adagio", "Hurricane Donna").

Artist

The 'Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group' is used for the main artist(s).

Album

The 'Album/Movie/Show title' field is intended for the title of the recording(/source of sound) which the audio in the file is taken from.

Year

The 'Year' field is a numeric string with a year of the recording.

Genre

Genre of the content. You may use one of genres mentioned above or define and use your own.

Track

The 'Track number/Position in set' field is a numeric string containing the order number of the audio-file on its original recording. This may be extended with a "/" character and a numeric string containing the total number of tracks/elements on the original recording. For example, "4/9".

Comment

This field is intended for any kind of information that does not fit in any other field.

Original filename

The 'Original filename' field contains the preferred filename for the file, since some media doesn't allow the desired length of the filename. The filename is case sensitive and includes its suffix.

BMP

The 'BPM' field contains the number of beats per minute in the main part of the audio. The BPM is represented as a numerical string.

Play counter

This field contains a counter which shows how many times the audio file was played. The field is set by an audio player.

Rating

This field contains rating of the audio file which indicates its popularity.

Content group

The 'Content group description' field is used if the sound belongs to a larger category of sounds/music. For example, classical music is often sorted in different musical sections (e.g. "Piano Concerto", "Weather - Hurricane").

Subtitle

The 'Subtitle/Description refinement' field is used for information directly related to the contents title (e.g. "Op. 16" or "Performed live at Wembley").

Band

The 'Band/Orchestra/Accompaniment' field is used for additional information about the performers in the recording.

Conductor

The 'Conductor' field is used for the name of the conductor.

Remixed by

The 'Interpreted, remixed, or otherwise modified by' field contains more information about the people behind a remix and similar interpretations of another existing piece.

Original artist

The 'Original artist(s)/performer(s)' field is intended for the performer(s) of the original recording, if for example the music in the file should be a cover of a previously released song. The performers are separated with the "/" character.

Composer

The 'Composer(s)' field is intended for the name of the composer(s). They are separated with the "/" character.

Original album

The 'Original album/movie/show title' field is intended for the title of the original recording (or source of sound), if for example the music in the file should be a cover of a previously released song.

Original year

The 'Original release year' field is intended for the year when the original recording, if for example the music in the file should be a cover of a previously released song, was released.

Writer

The 'Lyricist(s)/Text writer(s)' field is intended for the writer(s) of the text or lyrics in the recording. They are separated with the "/" character.

Original writer

The 'Original lyricist(s)/text writer(s)' field is intended for the text writer(s) of the original recording, if for example the music in the file should be a cover of a previously released song. The text writers are separated with the "/" character.

Encoded by

The 'Encoded by' field contains the name of the person or organization that encoded the audio file. This field may contain a copyright message, if the audio file also is copyrighted by the encoder.

Publisher

The 'Publisher' field simply contains the name of the label or publisher.

Copyright

The 'Copyright message' field, which must begin with a year and a space character (making five characters), is intended for the copyright holder of the original sound, not the audio file itself. The absence of this field means only that the copyright information is unavailable or has been removed, and must not be interpreted to mean that the sound is public domain. Every time this field is displayed the field must be preceded with "Copyright © ".

File owner

The 'File owner/licensee' field contains the name of the owner or licensee of the file and its contents.

Audio file webpage

The 'Official audio file webpage' field is a URL pointing at a file specific webpage.

Artist webpage

The 'Official artist/performer webpage' field is a URL pointing at the artist’s official webpage.

Audio source webpage

The 'Official audio source webpage' field is a URL pointing at the official webpage for the source of the audio file, e.g. a movie.

Commercial info webpage

The 'Commercial information' field is a URL pointing at a webpage with information such as where the album can be bought.

Copyright info webpage

The 'Copyright/Legal information' field is a URL pointing at a webpage where the terms of use and ownership of the file is described.

Publisher webpage

The 'Publishers official webpage' field is a URL pointing at the official webpage for the publisher.

Payment webpage

The 'Payment' field is a URL pointing at a webpage that will handle the process of paying for this file.

Art

Indicates if the tag contains attached pictures which are related to the audio file.

 

ID3v2 tag supports Unicode encoding. Therefore, its fields can contain any characters. TagJetalways saves string in the fields of this tag in Unicode for universality.

ID3v2 tag is much more versatile than ID3v1 tag. But it has one slight shortcoming: it should be at the beginning of the file. So if a file had initially no tags, or after editing the tag was extended, then the file has to be rewritten to insert the tag. This may create a delay when saving files that may be noticeable when you save a large group of files. Especially if you edit files stored on a slow MP3-player or a slow flash drive. But all the advantages of this tag override this shortcoming. Besides TagJet tries to optimize the saving of the tag to reduce the delay.

ID3v1 tag has one indisputable advantage – it is very quickly to work with it. File will never have to completely rewrite to add or remove this tag. And in many cases, ID3v1 is enough.