Hacking Android ringtone tags

A slight diversion this week, as I apply music file tagging to a different topic - smartphone ringtones!

Ringtones on Android smartphones are music files, just like the ones that make up your music collection. Realising this, I wondered how these files were tagged, if at all. Here's how my original list of ringtones appear (on my ancient HTC Wildfire).

The original list of ringtones

So I plugged my phone into my computer (the phone was connected as a USB drive automatically) and then pointed bliss at the folder of ringtones. Here's what I got:

Tags inside the original list of ringtones

The only place I could conceive tags are shown from ringtones are in the list of ringtones within Android's settings page. And so it proved; the name given to each ringtone is taken from the Track Name field.

Quite who "pdx", "Ali Spagnola" and "Dr. Mad" are I'm not sure, but they seem a creative bunch.

The track position tags are used to encode some strange values. In addition a couple of tracks have their album tag set to Unknown, and I can't see any place in the Android UI this would be used.

So just to see if I could get my own named ringtone in there I copied Aquila.ogg and changed the title:

Changing the ringtone's title in bliss

Then I copied my ringtone into a Ringtones folder, and sure enough!

The new bliss ringtone

Now I just need to think of a bliss jingle...

As an aside, tags are used for other purposes in Android, if not visual display.

The ANDROID_LOOP tag is used to ensure a ringtone (or any audio) is looped when played, although that only appears to apply when used in an OGG file.

Thanks to yukop for the image above.
tags: mobile phone

The Music Library Management blog

Dan Gravell

I'm Dan, the founder and programmer of bliss. I write bliss to solve my own problems with my digital music collection.