RTTTL ringtones with Rhythmic Vibra

Improved version of the NokiX ringtone patch


This improved version of NokiX's official add_ppm_ringtone.nrx script allows direct import of RTTTL (RingTone Text Transfer Language) files in addition to the default binary *.RE files. The state-of-the-art RTTTL-to-binary conversion engine written in REXX provides more precise and optimized ringtone generation than any other DCT-3 ringtone converter so far — including even the rtttl2re.exe included in NokiX SDK.

This script supports the following backward-compatible extensions to the standard RTTTL syntax:

Description RTTTL section Example
Tone name with spaces Whitespace is not ignored in the RTTTL name section. <name> My way:
Repeat Control-pair L specifies the repeat count for the following notes. The repeated part ends at the next L control-pair. L=0 means no repeat (default), L=1 tells to repeat once (= play twice), etc. <control-section>
<tone-commands>
L=1
Style Control-pair S specifies the playing style for the following notes. S=N means normal style (default), S=S staccato, and S=C continuous style. <control-section>
<tone-commands>
S=C
Rhythmic Vibra Control-pair V specifies the time signature for the Rhythmic Vibra. For example, V=4/4 (default) generates the following vibra pattern: vibra on for a 1/4 note and vibra off for 3 1/4 notes; V=6/8 generates rhythm of 1/8 of vibra on and 5/8 of vibra off; etc. The vibra pattern restarts at every V control-pair, so the control pair should be usually placed at the beginning of a measure (bar) in your music. Special values V=0 switches vibra off and V=1 switches vibra on continuously. <control-section>
<tone-commands>
V=3/4
Beat changes The 12th note is specified as H instead of B. This allows changing the beat with control-pair B in the middle of the tone. <tone-commands> 4h5
Double-dotted notes Special-duration .. specifies note duration of 7/4 times the standard duration. <tone-commands> 4c5..
Tuplet notes Special-duration /3 specifies note duration of 2/3 times the standard duration. <tone-commands> 4c5/3
Quintuplet notes Special-duration /5 specifies note duration of 4/5 times the standard duration. <tone-commands> 4c5/5
Tied notes Delimiter - ties the note with the previous one (used instead of standard delimiter ,). Mostly useful between notes of same pitch, allowing generation of even more exotic note durations. <tone-commands>  16c5-4c5
Hint: To play an intro without vibra, specify V=0 in the control section and place another V control-pair with the actual time signature at the beginning of the first measure of vibration, for example:
Stormskärs:d=8,o=6,b=90,v=0:c7,h,4a/3,4g/3,4f/3,v=4/4,4e,4d,p, ...
See example tone Porilaisten marssi.rtttl (excerpt from the honorary march of the Finnish Defence Forces) included in the package for another example of changing the Rhythmic Vibra value in middle of the tone.

The conversion engine automatically optimizes the size of the binary ringtone, so there is no need to manually combine successive rests or tied notes with same pitch. Therefore you can write your RTTTL code in the same way as the notes are written on the staff.

Because the this improved version of add_ppm_ringtone.nrx is backward-compatible with the official version (1.1), you can directly replace the official add_ppm_ringtone.nrx with this improved one. If you have already defined some ringtones in your NokiX project, they will work without any modifications.

Download Add PPM Ringtone with Rhythmic Vibra 2.0
Compiled to work with NokiX Script snapshot 6.10.2006. Recompiling requires NokiX SDK V2. Includes the full source code published under GNU Public License.

MIDI example of "Porilaisten marssi" with Rhythmic Vibra
Click to play synthesized version of Porilaisten marssi.rtttl to hear the Rhythmic Vibra in action. Compare to the example RTTTL file included in the package above.
To export all existing ringtones from the PPM to *.RE files, run the script in the NokiX DUMPER mode instead.

Script parameters: [<basename>]

If the basename is omitted, the script only lists the ringtones in PPM.
CAUTION: Trying to modify the built-in firmware of a mobile phone may make it practically unrepairable. This applies especially to phones that does not have a separate EEPROM chip for settings and calibrations (e.g. most Nokia 3xxx phones). Before trying to update the flash memory, you need to understand the functions of your flashing program and the whole flashing process, including any checksum updates required. NuukiaWorld does not give any support in flashing-related questions.

1.3.2010 - nuukiaworld@gmail.com
No email support or answers to technical questions.

To see NuukiaWorld's finest appearance, update your web browser!