Sony Ericsson W580i v/s ID3 tags

I have a Sony Ericsson W580i mobile phone. I was having problem with it right from the day I purchased it (around 5 months ago); err… actually no problem with the phone, the problem was with the Walkman player found on the phone (I’m very much satisfied with the phone otherwise).

The phone’s Walkman player software was just not properly reading the tags of the mp3 files I copied to it, though it was working well for some of the mp3 files. Just to make sure that the problem was indeed related to the Walkman player, I installed KDPlayer and found that it was correctly reading/displaying tags. The problem was not so critical, so I just lived with it (and somewhere in my mind hoping to somehow resolve the matter or take it up with relevant people).

Last week I made-up my mind to do something about the problem. Since I used Amarok (yes, I mostly use Linux/openSUSE at home) for transferring media files, I contacted taglib (library used by Amarok for reading/writing tags) developers and filed a bug report giving one copy of file from which tags were read correctly and other from which tags were not read correctly. They were very quick to respond and pointed out that the file which was working properly was using ‘Latin-1’ encoding and the other file was using ‘UTF-8’ encoding for tags.

In short, the Walkman player was having problem with UTF-8. I had two options then, 1) to ask Sony Ericsson to do the needful, 2) fix media files on my computer to work properly with my mobile. Second option seemed better to me. On the taglib mailing list itself I came to know about eyeD3, an easy to use “Python module and program for processing ID3 tags”.

This command was enough for the task: –

eyeD3 –set-encoding=latin1 –force-update file

But I had to run it for every file, so I had to use shell scripts, and with little bit of shell-programming knowledge I had, (not willing to learn anything more) I came with this: –

#!/bin/bash
handle_sd(){
cd “$1”
for i in *; do
if test -d “$i”
then
handle_sd “$i”
cd ..
fi
done
for i in *.mp3; do
if test -f “$i”
then
eyeD3 –set-encoding=latin1 –force-update -v “$i”
fi
done
return
}
handle_sd .

Now, I’m happy that the Walkman player is working good at least for me, but I have to run the script (from the root directly of my whole music collection) before I transfer fresh tracks to my phone because even when I edit the tags (on computer, obviously) they are saved in UTF-8 encoding format.

It would have been better had I contacted Sony Ericsson to fix the phone’s software (and eventually help other affected people also). So, I plan to raise this issue with them within a week or so and see how they respond.

Advertisements