Design an MP3 Management System

Having more than 40G of MP3, it's a tidious work to manage those files by using the software available in the market. (if you have a iPod with 20G of songs, you may have encountered the same problems)

Before to manage with MP3s, we need to understand the ID3v2 tag:

ID3v2 is a new tagging system that lets you put enriching and relevant information about your audio files within them. In more down to earth terms, ID3v2 is a chunk of data prepended to the binary audio data. Each ID3v2 tag holds one or more smaller chunks of information, called frames. These frames can contain any kind of information and data you could think of such as title, album, performer, website, lyrics, equalizer presets, pictures etc. The block scheme to the right is an example of how the layout of a typical ID3v2 tagged audio file may look like.

there are dozens of frames supported by ID3v2. Here abstracts the some keys of them.

[COMM] Comments
[MCDI] Music CD identifier
[TALB] Album/Movie/Show title (usually the CD title)
[TCOM] Composer (e.g. Mozart, Beethoven)
[TIT1] Content group description
from my definition: this should refer to the music genre, such as Symphony, Violin Concerto, Piano Sonata..
the problem is most MP3 players do not read this frame-- It cause a big problems to deal with genre for classical music.
the alternative solution i got is to use Album frame [TALB] to hold the data.
[TIT2] Title/songname/content description
Most MP3 players treat this frame as the Title. this should be like k37, No. 1 Piano Concerto in F.
[TIT3] Subtitle/Description refinement
i believe Subtitle should refer to the movement(樂章) numbers.
unfortunately, MP3 players do not read this. so i have to move the subtitle data to TIT2 frame.
[TOFN] Original filename
[TPE1] Lead performer(s)/Soloist(s)
for Concerto or Sonata genres.
[TPE2] Band/orchestra/accompaniment
For Symphony, Concerto, or Chamber music (trio, quartet, quintet...) genres.
MP3 players dont read this.
[TPE3] Conductor/performer refinement
For Symphony or Concerto genres.
MP3 players dont read this.
[TPE4] Interpreted, remixed, or otherwise modified by
[TRCK] Track number/Position in set

In short, ID3v2 provides a total solution to hold the music data.

  1. most of the MP3 rippers or the audio players do not support the full functionality reading ID3v2.
  2. most of users manage the MP3 with folder structure rather than using ID3v2.

the needs are clear, but the solution is still fuzzy. how to design an AP to manage MP3s easily is something interesting to think about...