I’m enjoying my new Nokia E7 with Symbian Anna, however I’ve had a problem with the music player and I thought I’d share the fix. In the Symbian Anna update, Music Player gained support for the album artist tag on music files. See Nokia’s FAQ: Why my albums are not shown properly after updating to Symbian Anna?.
This has caused trouble for a lot of people with incorrectly tagged libraries, and I have a work-around for manually correcting the Music Player database.
The problem is that if you have a compilation album with tracks from several artists, each artist will show up as a separate albums. For MP3s this can be fixed easily by giving all your compilation album tracks an ‘album artist’ tag. They will then be grouped correctly.
However this doesn’t seem to work for AAC/M4A music files, such as those purchased from the iTunes Store. As far as I can tell the Music Player just ignores the ‘aART’ atom which is where the album artist field is stored. I’ve reported this to Nokia and I’m waiting for their response.
Music Player conveniently stores all its gathered data in an sqlite database which can be edited. As far as I’m aware if you stuff up this process you can just delete the folder mentioned in step (2) and Music Player will automatically rescan your library from scratch. Here’s what to do:
- Connect your phone in USB Mass Storage mode
- Navigate to the Private/10281e17/ folder, the music database should be in a file named like [101ffc31]mpxv3_2.db, probably best to backup this file now.
- On Mac OS X or Linux you can edit this file using this command:
$ sqlite3 [101ffc31]mpxv3_2.db
- You should get an sqlite> prompt where you can enter SQL commands to modify the database.
- Copy/paste the following SQL commands below to identify the duplicate albums and merge them into one
- Press CTRL-D to exit, and you’re all done! You’ll probably have to do this again each time you refresh the music library.
This technique works well for me, though I wish Nokia would just fix Music Player to understand ‘aART’ on AAC files. Also, it’s worth checking out LCG Jukebox. It’s a great player that works purely on folders and playlists, so you can use whatever organisation scheme you want. It also plays FLAC & OGG, and has automatic bookmarking which is very useful for podcasts and audiobooks.
SQL to Merge Albums
create temporary table dupalbum(KeepId INTEGER, DuplicateId INTEGER PRIMARY KEY);
insert into dupalbum(KeepId, DuplicateId) select a2.UniqueId as KeepId, a1.UniqueId as UniqueId from Album a1 join (select Name, UniqueId from Album group by Name having count(*) > 1) a2 on a1.Name = a2.Name where a2.UniqueId != a1.UniqueId;
update Music set Album=(select d.KeepId from dupalbum d where d.DuplicateId = Album) where Album in (select d.DuplicateId from dupalbum d);
delete from Album where Album.UniqueId in (select DuplicateId from dupalbum);
drop table dupalbum;
SQL to Remove Tracks outside the \Sounds\Music\ folder
delete from Music where not Location like '\Sounds\Music\%';
delete from Album where UniqueId not in (select Album from Music);
delete from Artist where UniqueId not in (select Artist from Music);