Wednesday, August 26, 2009

What's a nerd to do...

I have this pestering problem. I've said it many times before but my music colelction contains now approximately 6500 mp3s. About half of them are the Russian music that I always listen to.

The problem comes when the Russian information is displayed in any number of MP3 players around my house, including my own PC. See some of the players refuse to play files that have unicode characters in them (read cyrillic alphabet), except my iPod and SanDisk players refuse to show mp3 information in correct manner. To make it even more frustrating once in a while my preferred Library method (MediaMonkey) on occasion translates unicode in ASCII characters, meaning anything Russian gets translated into googly letters.

What I have done is wrote a little winform application using .NET. It has two portions.

The first portion took all of my music that had russian characters in file names and transliterated them into latin. That part was fairly easy. I did have to manually build a libabry of russian-into-latin characters for correct replacements. All of the russian characters in UTF-8 econding are starting at ASCII value of 1040. This also helped with ASCII replacements for Windows 1251 standard russian encoding. All I had to do was take the ASCII code and add 848 to it, the replacement worked beautifully.

The second portion is much more difficult. There is a shortage of .NET components available that work with extended ID3 tags. None of them are Microsoft native, and all are written by people like me. The problem with ID3 tags is that version 1 does not support Unicode. The ID3 version 2 tags are a bit more complicated to control.

What I am currently trying to do is write two separate procedures one for updated ID3v1 tags and another for ID3v2 tags, and see where that will take me.

Wow, got that off my chest. Can I have my Nerd Card back?

2 comments:

Ilya said...

Heh... Such dedication! I simply ignore it - after all, do you actually have to read what it says to recognize the tune? :-)

Konstantin B. said...

Ilyuha!

6500 songs, do you think I know all of them by heart? :) And it saves time when I put them on iPod, I can do it by name without having play it first.

I wouldn't be a nerd without dedication such as this.

Besides, it's just very very annoying.