20 January 2007

ring-a-ling-a-ding

So I finally replaced my ancient Samsung i330 with a new phone, the Katana (in blue) from Sanyo. This unfortunately means the end of my $5/month unlimited data plan, not to mention another 2 years bound to Sprint. But on the other hand it means I have a simple, small, light weight (3.5oz vs 9oz) picture phone that I can trade images and texts with Cory (she's had an MM7400 since we moved her into sprint a bit over 2 years ago.) For some reason we think that's going to come in handy in a little while. ;)

This also, had the unfortunately side effect of loosing all of my custom ringers. If you've looked at Sprints prices, you know how expensive they are these days. They weren't for the i330... they were basically free since you uploaded them to the palm portion of the phone from your pc. So I started looking for how to get the ringers on the phone in a way it's firmware would accept. There is a lot of data on the web on how to do it, much of it incomplete or contradictory. But if you read enough of it, and know a thing or three about http and media production, it seems doable. Ironically, Cory's MM-7400 seems a LOT easier. Last night I created a couple of ringtones for her of some DMB music we had on CD... pretty trivial really, and they load just fine on her phone. Mine on the other hand... not working so well. My katana doesn't seem to accept any kind of mp3 or mp4... a bit of digging online confirms that it only accepts midi ("polyphonic" as they call them) or qcp ("voice") ringers. The qcp files are INSANELY compressed and sound pretty bad for just about anything like real music, but thankfully I have a collection of sound samples that don't really need high quality encoding to be acceptable. But quality issues aside, with a conversion binary from Qualcomm, I can create them. Since I also happen to have a number of midi files at hand, I'm not exactly destroyed by not having mp3 capability.

What follows is the list of what's worked for each phone in the order I got them working.

Katana: midi (in a gcd file)
MM7400: midi (in a gcd file)
MM7400: mp4 (as m4a, in a gcd file, 8khz sample, 8kbit/s) - Ants Marching - 32k
MM7400: mp4 (as m4a, in a gcd file, 16khz sample, 16kbit/s) - Love of My Life - 62k
MM7400: mp4 (as m4a, in a gcd file, 22.050khz sample, 32kbit/s) - Ants Marching 2.0 - 124k
MM7400: mp4 (as m4a, in a gcd file, 48khz sample, 64.2kbit/s) - Love of My Life 2.0 - 240k
Katana: wav (as qcp, in a gcd file, 8khz sample, 8kbit/s)

At this point I'm not sure just how high the MM7400 can go, the quality was amazing at that last entry, and you can clearly hear the improvement with each bump... but the file sizes were starting to grow way too fast to be able to fit anything else in the MM7400's memory... so we called it quits with version 2.0 of both.

Major Tools used:
  • Media creation (Mac):
    • Audacity (to trim mp3 to length, convert to mono, fade out the ends, adjust capture rate for waves)
    • QuickTime Pro (to resample mp3 into mp4, at lower quality)
    • TextWrangler (to edit gcd files, meta header files, .htaccess)
  • Media creation (Linux):
    • Qualcomm's wav/qcp converter.
  • Serving (Linux):
    • Apache (to serve the content to the phone)
    • $EDITOR (to adjust httpd.conf)
    • mod_cern_meta (to insert custom meta headers to keep the sprint proxies from getting in my way as I work on this)
    • A shell script to automate a lot of the tedious parts.
Now to look into putting pictures on the same way.

Labels:

0 Comments:

Post a Comment

<< Home