What follows is two separate methods for taking a basic tune (written as a single melody line on sheet music for example), and entering it into your Nokia mobile phone manually. The methods should be similar for other phones, but you'll have to work that out yourself.
The first method allows you to convert a basic list of notes and durations into RTTTL (RingTone Text Transfer Language), which is a Nokia standard for encoding ringtones and transferring them to mobile phones. There are programs, such as the "Nokia 3210 Ringtone Converter", which will convert RTTTL into keypresses for your phone. It works on all Nokia phones that have a Composer feature for entering your own tones, not just the 3210.
The second method assumes you don't have a program for converting RTTTL into keypresses at your disposal. Although longer and more difficult, following it will allow you to convert your list of notes and durations directly into keypresses for your phone. This method is longer and far more error-prone, so I've only included a brief description of it, just in case you can't get your hands on a conversion program.
Converting a song into RTTTL:
We'll go through the process of converting a song into RTTTL with the theme music from Indiana Jones.
The first step is to type out all the notes and rests in their correct order. Don't worry about durations yet. Don't worry about which octave the notes belong to yet. Indicate rests with a hyphen; this makes it easier to see what you're doing. Use rests liberally; most mobile tunes sound crap because all the notes run together. Ideally, you'd like to use tiny rests between almost every note (except where the music should specifically be legato), but due to the note limitation (50 is the maximum on the Nokia 3210), this usually isn't possible. You'll have to listen to where the rests sound best.
e f g - c - d e f g a b - f - a b c d e - e f g - c - d
e f g - g e d - g e d g e d g f e d c
Now put the length of each rest and note in front of the note, as shown below. As you can see, dotted notes are represented by simply placing a dot after the duration value. Dotted rest durations are not supported, so you'll have to use two rests to achieve this effect. For example if you wanted a dotted 16th rest, you'd need to use a 16th rest followed by a 32nd rest.
8.e 16f 32g 16- 32- 2c 16- 8.d 16e 2.f 8.g 16a 32b 16- 32-
2f 16- 8.a 16b 4c 4d 8e 8- 8.e 16f 32g 16- 32- 2c 16- 8.d
16e 2.f 16.g 8- 16g 4e 16d 8- 16g 4e 8.d 16g 4e 8.d 16g 4f 8.e 16d 2c
The Nokia 3210 supports three octaves. Some other phones support four. The three octaves in the Nokia 3210 are numbered 5, 6, and 7, and they run from C to B. Look through the original song, and find the octave in which most of the notes are contained. This will be your default octave. At the beginning of your song, fill in the default octave part of your RTTTL header; for example if your default octave was 6, you'd write "o=6:" at the front of your note data. The colon is necessary because the header and the data are separated from each other by this colon. In the case of this song, our default octave happens to be 5. Now you need to go through the remainder of the song and fill in all octave numbers which are not the default number. The octave number goes after the note letter, as shown below:
o=5:8.e 16f 32g 16- 32- 2c6 16- 8.d 16e 2.f 8.g 16a 32b
16- 32- 2f6 16- 8.a 16b 4c6 4d6 8e6 8- 8.e 16f 32g 16- 32-
2c6 16- 8.d6 16e6 2.f6 16.g 8- 16g 4e6 16d6 8- 16g 4e6
8.d6 16g 4e6 8.d6 16g 4f6 8.e6 16d6 2c6
The next step is easy. Basically, in RTTTL, the dotted values don't really go immediately after the duration value. They go immediately after the note letter, but before the octave value. Therefore, "16.d7" actually becomes "16d.7". Go through the list of notes, changing the position of any dotted values so that the dots appear directly after the note letter.
o=5:8e. 16f 32g 16- 32- 2c6 16- 8d. 16e 2f. 8g. 16a
32b 16- 32- 2f6 16- 8a. 16b 4c6 4d6 8e6 8- 8e. 16f
32g 16- 32- 2c6 16- 8d.6 16e6 2f.6. 16g. 8- 16g 4e6
16d6 8- 16g 4e6 8d.6 16g 4e6 8d.6 16g 4f6 8e.6 16d6 2c6
The second last step is to pick your default note duration. In the same way as RTTTL has a default octave value, it also has a default duration value. In our Indiana Jones tune, the default note duration is 16. This means that we add the phrase "d=16" to our header, and remove all references to 16 in the list of notes. You don't have to do this, but it makes the RTTTL code much shorter and more readable. At the same time, you can fill in the rest of the RTTTL header, the format of which should be easy to pick out from below. "b=125" indicates the tempo of the music; you don't really need to worry about this for today's purposes since you'll be setting the tempo manually on your phone anyway (probably by trial and error). Still, it's good to have it at the correct value.
indianajones:d=16,o=5,b=125:8e. f 32g - 32- 2c6
- 8d. e 2f. 8g. a 32b - 32- 2f6 - 8a. b 4c6 4d6
8e6 8- 8e. f 32g - 32- 2c6 - 8d.6 e6 2f.6 g. 8-
g 4e6 d6 8- g 4e6 8d.6 g 4e6 8d.6 g 4f6 8e.6 d6 2c6
The final step is to replace the rest hyphens with the letter 'p' (for pause, I presume). You could have used p's all along, but it makes the gaps between the notes a lot easier to see when a non-alphabet character is used. So our final version is:
Here's just a few of the other tunes I've worked out; this is what RTTTL looks like:
A quick step-by-step summary of the above is included below; this is what I use when I'm writing ringtones:
TO CONVERT TO RTTTL:
- type out basic notes and rests in order (dotted rests not allowed!)
- put in length in front of notes - ie 32,16,8,4,2,1
- look through original song and optimise default octave in header (o=5,6,7)
- fill in *other* octave values apart from default one - put octave numbers (5-7) after notes
- change any dotted values (put them after the note letter or sharp, but before the octave number)
- fill in RTTTL header and optimise default note duration for song, delete note durations that are the default
- change rests (-) into pauses (p), and put in comma delimiters
You can also find tunes in RTTTL all over the place on the web; using a program to convert these into keypresses allows you to enter almost any tune without paying those exorbitant premium phone charges. Of course, you can also find tunes written in the form of direct keypresses on the web; these are less versatile since if there's a wrong note or two, it's a lot harder to correct when it's written in keypresses.
The second method of writing ringtones, which converts the list of notes directly into keypresses, was what I used before I discovered the Nokia 3210 Ringtone Converter. This method doesn't use RTTTL at all, and is therefore completely self-sufficient. However, it's a lot more difficult, and so I won't describe it in full. It helps to have an idea of how the Composer feature on your Nokia phone works before using this method, and as I've said above, I don't recommend the method below anymore. Nevertheless, here's the step-by-step summary:
TO CONVERT TO KEYPRESSES (OLD METHOD):
- type out basic notes and rests in order (use # to raise a semitone; there are no flats)
- do octaves first - put octave numbers in front of notes
- work out where octave changes are and insert *'s after notes ("*" = ++8ve, "**" = --8ve)
- delete octave numbers from front of notes
- put in length in front of notes - ie 32,16,8,4,2,1
- copy-paste to new line (basically in case you screw up something in the next few steps)
- work out where length changes and put in 8's and 9's after *'s (or notes) (8 = shorten note, 9 = lengthen note)
- delete length from front of notes
- copy to new line
- change notes into numbers, ie 1=c, 2=d etc
- fill out any repeats (if there's repeats in the song, you obviously don't want to go through all this more than once, so this is where you copy-paste the keypresses to fill out the repeats)
- all notes after rests take their length from the previous *note*, so any 9's and 8's on rests must also be copied onto the note following the rest (be careful if repeats started at beginning of song - they're assuming a note of length 4 to begin with!)
NB: remember that notes carry their length to rests, but rests DON'T carry their lengths to notes!