“Is it possible to load a monothonic ringtone from 2000’s into a modern phone?”

Well, um, I was asked that question and couldn’t google anything useful. Seduced by the idea of putting retro sound on a modern phone, I set out to write a tool that converts monothonic Nokia-style ringtones into WAV. The ringtones I’m talking about look like this:

8c2 8- 8c2 8a1 8- 8c2 8- 8c2 8- 8b1 8- 8g1 8g2 16- 8g2 16- 8e2 8c2 8- 8c2 8a1 8- 4c2 8c2 8- 8b1 8- 8g1 8f2 16- 8f2 16-

I grabbed a copy of PySynth and started by changing the actual synthesizer bits. For my synthesizer, I started with simple sawtooth waveform, which sounded beepy, but not quite like the speaker in, say, good ol’ Nokia 3310. I was after the authentic sound of course, so I got a recording of the original, and this is how the beep looks in Audacity:

My first attempt to replicate this, with a compound function:

This sounded too sharp, so I threw in some sine waves and got to this, which to my ears was quite close to original:

Here’s the synth code: pysynth_beeper.py.
Parsing ringtones from Nokia Composer format is rather simple at the moment: nokiacomposer2wav.py. Some ringtones sound great, some not so much, so I might not be parsing everything correctly.

So, next up, put this online so everyone can use it, right? Here’s the synthesizer running off AppEngine: ringtonesynth.appspot.com. It’s really basic at the moment, no CSS at all!

While contemplating the visual style of that page, I was sidetracked by drawing Nokia phone in Inkscape, then reading “how to draw” tutorials and sketching anime characters. And now we’ve arrived at the present!