Add custom ringtones to samsung galaxy nexus hspa+ i9250 phone

So, it turns out to be quite easy, but … not especially well documented. So, if you are like me and this is your first Android, you’ll be pleased to find out that adding custom ringtones in linux (or any os, windows or mac) is fairly easy. So lets get on with it, shall we?

The problem: The default ringtones on my new google nexus samsung galaxy hspa+ i9250 suck.

The solution: add custom ringtones

They make this dead-easy for us, all we have to do is copy ogg files to the sd-card/Ringtones directory that already exists at:
/storage/sdcard0/Ringtones/

So, how do we convert mp3s to oggs? The way I did it was:
convert mp3 to wav with lame:
lame --decode file.mp3 file.wav

This results in a large file, 10x bigger than the mp3 was to start with. I used audacity to edit it down and get bite-sized chunks for my ringers. It was pretty easy, open your new wav file, then drag over the part of the file you want to get. It will be highlighted in the gui. Hit the play button, you can preview your selection. Once you have a good selection, go to file menu->export selection, and save it as file type, “Ogg Vorbis Files”.

And, I just found out that decoding w/ lame is not necessary. Audacity will open mp3 files just fine.

K, so once you get a file.ogg ringtone on your computer, you just copy it to your phone. I have a win7 laptop that does mtp nicely, so that’s how I got my file on the phone.