Quantcast
Channel: openSUSE Planet - Global
Viewing all articles
Browse latest Browse all 23326

Joerg Reuter: Not so much fun with mp3 tagging

$
0
0
I've been observing problems mp3 tags not being displayed on some devices, while others display the information just fine. By chance, I found out why.

My new Tomtom Go 930 GPS navigation device can play mp3s, which is quite important to me, as the built-in speaker is quite bad. I can barely understand the spoken instructions. I'd rather have the GPS unit hooked up to the line in of the radio. But of course, without the mp3 player it would be quite a boring ride. Actually, the player works quite fine most of the time. But on boot the Tomtom needs several minutes to scan 520 files. During that time, it gets less and less responsive and the GUI almost comes to a halt. This is not acceptable, I cannot wait ten minutes for the GPS almost each time I want to leave.

Running a search on Google didn't turn up much useful, does everybody only have ten songs on their SD card, or what? I found someone mentioning that the player doesn't like embedded cover art pictures. After discovering that the MP3s indeed had one set and removing them, the Tomtom at least remained somewhat usable during the scan. However, it still took many minutes. But while I was at it, why doesn't it read the title, album and artist information anyway? What's wrong with the id3 tags? Let's have a look at one of the files:

$ mid3v2 01\ -\ Uprising.mp3 
IDv2 tag info for 01 - Uprising.mp3:
TDRC=2009
TIT2=Uprising
TRCK=01
TLEN=302826
TPE1=Muse
TALB=The Resistance
TSSE=LAME 64bits version 3.99 (alpha 1, Oct  6 2009 09:40:19) (http://www.mp3dev.org/)
$ 

Hmm, a pretty normal looking id3v2 tag. What does the Tomtom need, anyway? Some experiments later by manually tagging a file: it needs exactly that, an id3v2 tag. And it will ignore any v1 tag. Didn't I tag everything with both?

$ mpginfo 01\ -\ Uprising.mp3 
[..]
01 - Uprising.mp3
  Audio : Mpeg 1 layer 3
  Estimated Duration: 05:02.95s
  128 kbps  44100 Hz
  Frame size: 417 bytes
  Joint Stereo: (Intensity stereo off, M/S stereo on)
  No emphasis,  original
  ID3 v1.1 tag
     ----------------
     title   : Uprising                      
     artist  : Muse                          
     album   : The Resistance                
     track   : 1
     year    : 2009
     ----------------
  ID3 v2.4.0 tag (more info on http://www.id3.org/)
     ----------------
     TSSE : LAME 64bits version 3.99 (alpha 1, Oct  6 2009 09:40:19) (http://www.mp3dev.org/)
     TIT2 : (empty)
     TPE1 : (empty)
     TALB : (empty)
     TRCK : (empty)
     TLEN : 302826
     TDRC : (empty)
     ----------------
$ 

Err, what? The v2 tags are present, but do not have any content if there is a v1 field for the same information available. Okay, let's recreate the idv2 section:

$ mid3v2 -d 01\ -\ Uprising.mp3
$ mid3v2 -C 01\ -\ Uprising.mp3
$ mpginfo 01\ -\ Uprising.mp3 
[..]
01 - Uprising.mp3
  Audio : Mpeg 1 layer 3
  Estimated Duration: 05:02.95s
  128 kbps  44100 Hz
  Frame size: 417 bytes
  Joint Stereo: (Intensity stereo off, M/S stereo on)
  No emphasis,  original
  ID3 v1.1 tag
     ----------------
     title   : Uprising
     artist  : Muse
     album   : The Resistance
     track   : 1
     year    : 2009
     ----------------
  ID3 v2.4.0 tag (more info on http://www.id3.org/)
     ----------------
     TIT2 : Uprising
     TPE1 : Muse
     TRCK : 1
     TALB : The Resistance
     TDRC : 2009
     ----------------
$ 

Further investigation showed that all applications which write the incomplete v2 tags in presence of v1 tags are using libid3tag-0.15.1b. I haven't found out yet whether this is a bug of the library or the application.

After re-tagging all 520 titles on the card, the Tomtom Go finally shows the tag information. Scanning the files now takes just a couple of seconds and the Go stays responsive. Mystery solved!

Viewing all articles
Browse latest Browse all 23326


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>