dynamically generating ringtones based on the calling phone number
brolin at brolin.be
Sat Jan 30 13:10:39 CET 2010
Yes, believe it or not, I am actually posting a message which could be
considered on-topic! ;)
I have had an idea for years, but have not searched to see if anyone has
already implemented it.
My idea is to have my cell phone (my FreeRunner, of course, which runs
QtMoko v14) dynamically generate a ringtone for incoming calls: the
ringtone would be a monophonic sequence of tones or notes corresponding
to the sequence of digits in the calling phone number. I think this
would be cool because I could identify the caller by the ringtone alone:
I would not need to read the display. The initial version could
hard-code the mapping of digits to notes; a subsequent version could
read the mapping from a file, like Keynote does (see below).
Has anyone already implemented this? Which search terms should I use to
get relevant results from Google Search or maybe Bing?
In 2002, I found an MS-DOS program (I think; or maybe it was for
Windows?) which read a phone number on the command line and wrote a .wav
file of the (DTMF?) tones a touch-tone phone uses to dial the phone
number. I thought it was cool because I could hold a handset’s
mouthpiece up to the PC speakers (I mean the stereo speakers connected
to the line-out or speaker-out jack, not the PC speaker inside the case!
:)), then play the .wav file to dial the phone number. I should try to
find that program again. I think it was written in Turbo Pascal or
Borland Pascal, but I forgot if it was open-source; I used the author’s
binary. I think it was called TCHTONE?
If Timidity++ works on QtMoko, I could try to figure out how to read the
calling phone number, map its digits to General MIDI notes, then feed
the MIDI sequence to Timidity++.
I already have experience mapping digits to General MIDI notes in my
“note” and “Keynote” programs. I wrote both in C while I was learning
to program (well, I am always learning! :)), but I did not know what I
was doing then so the source is gross. I probably should have used an
interpreted language, such as Perl or Python, instead of a compiled
language, such as C, though. Keynote is for Windows only, but note is
cross-platform: in 2004 or 2005, I had it running on MS-DOS and
FreeDOS, Windows 98 Second Edition (AKA Lose98 Second Failure. Yuck!),
Windows 2000 Professional Edition and/or Windows XP Professional
Edition, Linux v2.6.x with glibc (multiple distros, but I settled on and
used Gentoo the most), and FreeBSD v4.10, maybe v5.0 too. I used GNU
development tools (GCC v3.x, binutils, make, ...?) on all platforms:
DJGPP on MS-DOS/FreeDOS, MinGW on Windows, and native GCC on Linux +
FreeBSD. Anyway, note uses ALSA on Linux to play notes with
Timidity++’s ALSA sequencer interface, so I could probably reuse that
code on the FreeRunner.
Anyway, enough rambling. How much interest would there be if I cobbled
together a “ringnote” or dynamic ringtone (“dynringtone”?) program? :)
I use only QtMoko on my FreeRunner, so I would need people to help
support other distros.
PS: How many Openmoko users make their own ringtones? I used OpenMPT
on Windows to save one of my favourite chiptunes, Random Voice - Monday
(MOD format) , as a PCM .wav file, then used LAME to encode the .wav
file as an MPEG audio file so I could use it as my ringtone on my Nokia
6103b (Series 40), then my FreeRunner, since neither Series 40 nor
QtMoko supports module formats as ringtones.
Sometimes I forget how to do small talk: <http://xkcd.com/222/>
“If you have to ask why, you’re not a member of the intended audience.”
— Bob Zimbinski, <http://webpages.mr.net/bobz/ttyquake/>
More information about the community