dynamically generating ringtones based on the calling phone number

William Kenworthy billk at iinet.net.au
Sat Jan 30 13:17:53 CET 2010

I like this idea! - maybe use dtmf tones?  Though there are apparently
people who can tell the number from the tones which may be a privacy
issue for some.


On Sat, 2010-01-30 at 04:10 -0800, Brolin Empey wrote:
> Hello list,
> 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.
> Brolin
> 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) [1], 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.
> [1] <http://www.fladen.net/>
William Kenworthy <billk at iinet.net.au>
Home in Perth!

More information about the community mailing list