This topic was published by DevynCJohnson and viewed 815 times since "". The last page revision was "".
- Topics - 444
Many computer users that listen to music may have noticed that some audio/music files have metadata that stores the artist's name, music genre, etc. It may be desirable to edit these tags or add the metadata to a file. Doing so makes it easier to find music files in a music library/collection. Also, many music players (like Clementine or Rhythmbox) can sort music by certain tags. However, what are these tags and how can we use them?
Many music and audio files (most commonly MP3) support this special metadata in what is know as the ID3 metadata container. In other words, this metadata we are discussing is called ID3 tags or ID3 metadata. Some music file formats support ID3, but ID3 was primarily made for MP3 which supports ID3 entirely. File-managers and music players can read ID3 tags (if supported by the software) and use the data for various purposes. This data makes it easy to create a playlist of all of your music by a certain artist, genre, year, etc.
Two main versions of ID3 exist, all of which are current and not related. The primary versions are ID3v1 and ID3v2. Under IDv2, there are versions 2.2, 2.3, and 2.4. ID3v2.4 was released in November 2000. However, despite its age, not all music players support ID3v2.4. Due to the larger support, it is recommended that ID3v2.3 and ID3v1 be used. ID3v2.2 is obsolete and ID3v2.4 has not been well recognized, so it seems most logical that ID3v2.3 and ID3v1 be users' primary choices. If possible, add both ID3v2.3 and ID3v1 metadata to the music file since some audio players may only support one ID3 format.
Quick Fact: ID3v1 uses ISO-8859-1 (LATIN-1) while ID3v2 can also use Unicode (UTF).
You may have a music file that you wish to give or edit ID3 tags. A very popular ID3 tag editor is "Kid3" (http://kid3.sourceforge.net/). Open Kid3 and browse for the directory containing your files. Select a file and edit the fields seen on the screen. The fields under "Tag 1" are the ID3v1 tags while "Tag 2" lists the ID3v2 metadata. If a user cannot enter data into one of the two ID3 versions, then that file format does not support that version of ID3. For example, *.ogg files (ogg/Vorbis) does not support ID3v1, but it does support ID3v2. To save the changes, click "Save", go to "File > Save", or use the keyboard-shortcut "Ctrl+s" to apply your changes. The Kid3 interface is easy to use and understand. Kid3 has many other uses and features that are beyond the scope of this article.
If you do not like Kid3, other alternatives exist. A popular choice is EasyTag (https://wiki.gnome.org/Apps/EasyTAG) which is almost like a GTK version of Kid3. There is also Ex Falso which is closely associated with Quod Libet (https://code.google.com/p/quodlibet/).
TagLib and id3lib are the two libraries developers typically use in their program to provide the support for ID3. These two libraries each support reading, writing, and editing ID3 metadata. TagLib supports ID3 versions 1 and 2 for various audio files that support ID3 (http://taglib.github.io/). However, TagLib is missing some ID3v2 features. TagLib's developers seem to put importance on ease of use and documentation. "id3lib" also supports both ID3 versions, but this library's programming team puts more importance on meeting specifications and being 100% ID3v2 compliant. For both libraries, many language bindings are available, and these libraries are open-source.
In ID3, the music genres are stored in the metadata in the form of a single byte. Thus, there are 255 possible genres that ID3 can support. That may seem like a lot, but there are many more genres than that. ID3v2 allows users to use a string instead, which allows users to type anything they wish. As of 2014, 191 is the largest code value with an assigned genre (Psybient). Not all of the 255 combinations of the byte's bits have been assigned a genre. Here is the source code for the ID3v1 genre coding (https://github.com/taglib/taglib/blob/master/taglib/mpeg/id3v1/id3v1genres.cpp). Also, here is a table of codes and genres (http://axon.cs.byu.edu/~adam/gatheredinfo/organizedtables/musicgenrelist.php). As anyone will see for themselves, more genres can be added, but the 255 limit is getting closer.
Now, with this information, users can edit the ID3 tags on their music files to have a better-sorted music library.