Home     News     Docs     Free-Stuff     License     FAQ     Download     j2me/java  

Ringtone Tools

INDEX

GETTING STARTED
FILE FORMATS SUPPORTED
MOBILE PHONES SUPPORTED
MOBILE PHONE NETWORKS
BUILDING THE BINARIES
RINGTONE TOOLS USAGE
EXAMPLE RINGTONE FOR UNIX, DOS, AND PHP
RINGTONE TOOLS API LIBRARY (DLL AND .SO)


GETTING STARTED

So you want to make custom ringtones and graphics for your mobile phone? Well, you first need to understand a few things. First of all, all brands of phones get loaded with ringtones differently. Some phones can be loaded over SMS (normal text messaging), some by a cable that connects between the phone and the computer (or bluetooth -- a wireless cable between the phone and computer), some by WAP pages (web pages designed specifically for mobile phones), some by special key presses on the phone, and some can't be loaded with custom ringtones at all.

Your first step is to figure out what model of phone you have and find out if and how it can be loaded with ringtones. Further down on this page there is a "Mobile Phones Supported" section, you may be able to find info on your phone from one of the links in that section. If not, you may have to check Google Groups. I've found lots of information about specific phones on there.

Your next step is to find a song you want to load into your phone You can either search the net to find someone who already made it into a MIDI (typically polyphonic) or RTTTL (monophonic) or such, or you can create it yourself. Most ringtones I've found on the net (especially for Nokia phones) have been in RTTTL format.

Next you will probably need to convert the ringtone into a format that your phone will recognize. This is where Ringtone Tools comes in. Rintone Tools is simply a file format converter. After the song is converted to the correct format, you can use one of many methods to send the ringtone into your phone. Below is a list of file formats supported and phones supported. Under the phones section will be a better description of how to use Ringtone Tools with your phone.



FILE FORMATS SUPPORTED

  • bmp - Bitmap format. Ringtone Tools can create graphical logos out of them and create bmp's from other formats.
  • gif - Ringtone Tools can read and write GIF picture files.
  • eMelody - Older Ericsson format. You can download samples from: http://members.surfeu.fi/marcus.berglund/oldpage/mobile.html or http://britneyspears.ac/ringtones.htm.
  • ico - Windows Icon format. I put this in only so I could create Icons for my webpage. It has nothing to do with Ringtones unless you actually have some ico files laying around that you want to use as logos.
  • iMelody - Most new phones that don't do Nokia's Smart Messaging are using this format.
  • kws - Kyocera's ringer format.
  • mid / midi - Popular sound format. Since midi's can be multi-tone and complex they are not recommended.
  • morse code - Text files with a .morse extension get converted into morse code songs
  • mot - And older ringer format for Motorola phones. Newer Motorola do iMelody I believe.
  • ngg and nol - Nokia ngg and nol logo files can be created and read in.
  • nokia / sckl / ott - Nokia Smart Messaging format. Nokia phones can receive ringtones as a text message. Ringtone tools can create these text messages. This allows anyone with a compatible phone to load their own ringtones in without a datacable. There are other phones besides Nokia that use this.
  • pdb - Palm database. This is the format used to load ringtones on PDA phones such as the Kyocera 6035 and the Handspring Treo
  • rtttl - A popular text format for ringtones. You can download free rtttl's to test with ringtone tools from: http://ringtone.bespin.org/, http://britneyspears.ac/ringtones.htm, or many other sites.
  • rtx - Similar to rtttl with some advanced features. Also the octaves are different on rtx.
  • samsung1 & samsung2 - Samsung keypress format.
  • siemens keypress - Can create and read in a Siemens text file format.
  • siemens SEO - Siemens SEO binary format.
  • text - You can create logos out of textfiles and ascii textfiles from all the other formats.
  • WAV - Can create PDB ringtones for PDA's from WAVS. Can also create WAV sound files from any of the input formats. I was also working on a .wav to whatever converter, but I doubt I'll finish it.
  • wbmp - Read or write wbmp files. This is the graphics image format typically used on WAP webpages.
  • /dev/dsp - Ringtone tools can write out directly to dsp devices on Linux, FreeBSD. There is beta support for sound output on Microsoft Windows also.


MOBILE PHONES SUPPORTED

Click on your phone for more detailed information on how to install a ringtone or logo on your phone. Note that just because your phone isn't on the list doesn't mean it's not supported. You should also be aware that every brand of phone is loaded with ringtones differently.



MOBILE PHONE NETWORKS

Here are some providers that allow you to send ringtones to your phones over text messages.

If you know others feel free to email me and let me know.

NOTE: I have tried to send //SCKL ringtones through T-Mobile's text messaging service to Nokia phones, but they put junk in the text message itself so this cannot be done. I wouldn't recommend T-Mobile if you are looking for free ringtones for Nokia (and possibly other) phones.


The Windows binaries (and others) are prebuilt. You can skip this section if you didn't download the source code.

If you need extra help downloading/compiling/using my programs, you can get more help at: http://www.mikekohn.net/help.php

To make Unix binaries:

First download ringtonetools and type:

tar xvzf ringtonetools-2.24.tar.gz
cd ringtonetools-2.24
make
make install <-- must be done as root.. will install in /usr/local/bin



USAGE

Please Note: This is a command line program. You have to use this from either the Unix prompt or DOS prompt if you are on a Windows system. This makes it possible to use Ringtone Tools as a backend on a web page that serves ringtones and logos with PHP, Perl, ASP, CGI, or any backend language.

Usage: ringtonetools [ options ] <input filename> <output filename>
    -intype <filename type> [ 3210/bmp/emelody,emy/ems/gif/ico,icon/imelody,imy/kws/midi,mid/morse/nol,ngg/nokia,sckl,ott/rtttl/rtx/siemens/text,txt/wav/wbmp ]
    -outtype <output type> [ 3210/bmp/dsp/emelody,emy/ems/gif/ico,icon/imelody,imy/kws/midi,mid/mot/nol,ngg/nokia,sckl,ott/pdb/rtttl/rtx/samsung1/samsung2/siemens/seo/text,txt/wav/wbmp ]
    -name <song name>
    -t <tempo [default: 140]>
    -quiet
iMelody options:
    -noheaders [ no headers ]
    -melheaders [ melody header only <default> ]
    -lessheaders [ begin,melody,end headers only ]
    -mostheaders [ begin,melody,end,name,tempo headers on iMelody ]
    -stdheaders [ begin,melody,end,name,tempo,style headers on iMelody ]
    -fullheaders [ full headers on iMelody ]
    -ems [ force EMS ]
Kyeocera options:
    -pause <number of quarter notes added [ default: 2 ]>
Motorola options:
    -keypress [ Make keypress sequence for phones like v60t ]
wav output options:
    -b <bits 8 or 16 for wav only [default: 16]>
    -f <sampling frequency for wav only [default: 44100]>
logo options:
    -h <height> [ Height of Logo (default 14) ]
    -w <width> [ Width of Logo (default 72) ]
    -l <MCC> <MNC> [ Operator Logo (requires MCC and MNC) ]
    -m <message> Send a picture message
    -r [ reverse black n white ]
    -c [ use full color if possible ]
    -trans <0xrrggbb> [ make this hex code a transparent color ]
    -bmptrans [ Use BMP's transparency ]
nokia options:
    -x [ exclude //SCKL header ]
    -u [ only user-data-header (8bit) ]
    -k [ include user-data-header and //SCKL ]
    -s <sms size> [ Maximum size of SMS message (default 140)
    -ss Send as screensaver
    -transpose <pos or neg num > [ raise or lower song by n octaves ]
midi options:
    -channel [ channel ]
    -track [ track ]



Examples:

ringtonetools hemglass.mid hemglass.kws

This will turn the the midi file hemglass.mid into a hemglass.kws file that can be installed on a Kyocera phone.

Ringtone tools figures out the file type from the file extension. For example it assumes a file is a midi if the extension is .midi or .mid. If you name your files an extension that ringtone tools doesn't understand you can use the -intype or -outtype to force a file format.

If you're using PHP you can do:

system("/usr/local/bin/ringtonetools yngwie_trilogy.rtttl yngwie_trilogy.ems");
system("/usr/local/bin/ringtonetools ".$infile." ".$outfile);

For more information on how to use this program with different phones and file formats, see the PHONES section.


If you're interested in using Ringtone Tools as a library for one of your own programs, you can view the programmer's API here.


Copyright 1997-2008 - Michael Kohn

Please visit my many other projects, including free J2ME Java games for Mobile phones, graphics and sound programs, chat software, and much more at http://www.mikekohn.net.

This page was designed to work with all standard HTML compatible webbrowsers including Firefox, IE, Safari, and Links.