Hack 29. Take Charge of Ringtones
Set up your own ringtones on your Treo and skip the part where you pay your wireless provider lots of money.
Picking a ringtone can be a very emotional process, as it is perhaps the most defining personalization you can make to your Treo. You've probably already come across the Sound preference panel for the Phone application, as shown in Figure 5-1. And you probably were as disappointed as I was to realize that your choices are limited to the MIDI Ring Tones database, which contain cheesy MIDI sound files. You'd expect a little more from a $600 smartphone, like the ability to play MP3 or WAV files. The bad news is that you pretty much have to purchase an aftermarket application to do this, which can set you back $20 to $35, and will eat up about 700 KB of RAM on your Treo. The good news is that things work really well once you've made this investment.
The Treo 650 (but not the 600) has built-in support for a voice compression format: AMR on GSM Treos, and QCELP on CDMA Treos. For example, if you use the voice recorder to record yourself, the recording will be stored internally as AMR/QCELP, and will show up in the MIDI Ring Tones database. Then you can then select it as a ringtone in the Sound preference panel.
Figure 5-1. Using the built-in ringtones in the Preferences panel
5.2.1. Converting Sound Files
If you don't mind the very poor sound quality, it is possible to convert a WAV or MP3 sound file into the Treo 650's ARM/QCELP format, which will cause it to show up in the MIDI Ring Tones database for you to select as well. Here is the no-cost way of getting WAVs and MP3s as ringtones:
There are a handful of programs that are designed to play WAV and MP3 files as ringtones on your Treo, though some work better than others. The de facto standard these days seems to be ToySoft's LightWav 5 (http://www.toysoft.ca), which has a 14-day trial; after that, you pay $19.95 to register it. LightWav 5 has lots of cool features, like the ability to play an animated GIF while the phone is ringing, assigning video or images to caller ID, blocking calls and SMS messages from particular caller IDs, and so forth. But most importantly, LightWav will let you assign a WAV, MP3, or OGG file as a ringtone!
LightWav will let you use sound files on your expansion card, but it will also let you move those sounds into your Treo's RAM if you wish. That way, even if you take your expansion card out, LightWav will still be able to find your custom ringtones when it needs to play them.
5.2.2. Installing Ringtones
First, load up your expansion card with MP3, WAV, or OGG sound clips you want to use and insert it into your Treo. Be sure the sound clips go into the /audio directorythe Palm Install Tool will do this by default. Launch LightWav, select the item to which you wish to assign a custom sound from the list, and then select Edit from the context menu that pops up. Figure 5-2 shows how to modify the Known Caller ringtone using the Edit option.
From the Edit Ringer screen, ensure you've checked the Enable Ringer checkbox, as shown in Figure 5-3.
Tap on Select ringtone, and you should see a list of the ringtones in the supported format on your expansion card, which is shown in Figure 5-4. If you aren't seeing your MP3 or OGG files, make sure you have PocketTunes installed. Notice the Cvt button, which is what you can use to convert the selected sound file into your Treo's RAM, so that you don't need to have the expansion card inserted to play it.
Figure 5-2. Editing the Known Caller ringtone in LightWav
Figure 5-3. Don't forget to Enable Ringer in the Edit Ringer screen!
Figure 5-4. Selecting a ringtone
One last step and you're done. To prevent the Treo's built-in MIDI ringtone from playing on top of the LightWav sound file, you must disable the tones in your Sound Preferences panel, as Figure 5-5 shows.
That's all there is to customizing ringtones. Have fun personalizing your Treo!
Figure 5-5. Setting the Known and Unknown caller tones to Silent