[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]

Arc de Triomphe clipart (2486 bytes)

Midi2C25: MIDI to Siemens C25 cell phone ring tone converter

Written by Andreas Leitner.

Version 0.0.1

midi2c25-0.0.1.tar.gz (12,000 bytes) - source code
andreas.leitner@chello.at Andreas Leitner (maintainer) mail address.

What's new

01/03/2000 - first public release - version 0.0.1

What is Midi2C25?

Midi2C25 takes a standard MIDI file and gives you the instructions on how to program a Siemens C25 to use the corresponding ring tone. Unfortunatly the C25 does not provide a mechanism to automatically upload ring tones via SMS or wire like some phones from NOKIA do, but this tool can still help you a lot to get your own unique (or not so unique) dialtone on a C25 cell phone.

For comments of any kind on this project please mail to Andreas Leitner


Midi2C25 is published under the terms of GNU GPL. A copy of it is included into this distribution: See the file "copying.txt".


In order to compile Midi2C25 you need:


I developed Midi2C25 on a Redhat 6.1 Linux/x86. But I am quite sure it will work nearly everywhere (Linux, Unix, Windows, ...). Just give it a try. Please let me know if you succeed to run Midi2C25 on Platforms other than Linux.


Just type make to run the compilation. You probably need to adjust loadpath.se to reflect the locations of the needed libraries on your system.


Midi2C25 either takes a MIDI file name on the command line, or if missing the standard input and prints the C25 conform notes on the standard output. Have a look at the Siemens C25 Tunes Keystrokes for more information.

Here is a sample output:

    G   2(1/16)1
    Eis 2(1/8 )2
    p   ?(1/8 )3
    A   2(1/4 )4
    p   ?(1/8 )5
    G   2(1/16)6
    Eis 2(1/8 )7

You need to enter line for line into the cell phone. Each line represents a note or a pause. Each line consists of five variable fields.

  1. The first field is either one of the following letters: C, D, E, F, G, A, B or p. You can enter these values by pressing one of the numbers on the keyboard of the cell phone. All letters specify the note to play except "p". "p" stands for pause. Please look at the Siemens C25 Tunes Keystrokes for more information.
  2. The second field is either "is" or nothing. If the "is" is present this raises the pitch of a note by half a tone. You can set/reset this modifier on your cellphone by pressing "*".
  3. The third filed is a number between 1 and 4 and specifies the octave of the note. Even though a pause does not need to have an octave, on the C25 a value is still needed. But you can insert anything there (or just leave the default value), because it will in no way change the tune on the phone. To change the octave press "#" one or more times on the phone's keyboard.
  4. The fourth field sets the duration of the note and can be one of the following values: 1/16, 1/8, 1/4, 1/2 or 1/1. You can specify the duration of a note by pressing and holing down the corresponding key shorter or longer.
  5. The fifth row specifies the index of the current note. This field is set automatically and is only for your information.

Known Issues

Sometimes (quite often unfortunatly) the duration of some notes are wrong. Usually the output displays "????" in that case. This seems to be a bug in midi-eiffel and will hopefully be fixed soon.


If you compile Midi2C25 for Platforms other than the ones listed above I would apprechiate it if you would send me your binary so I can include for download here.

Official Home Page

The official hompage for Midi2C25 is located at http://leitner.dhs.org/midi2c25/.

Some Eiffel Links

This application is written in a great language called Eiffel. If you would like to learn more about this clean, easy to use and yet very powerfull object oriented language you may want to browse through the following links:

Some Other C25/Midi Links

There is already a similar (better, but shareware) application for Windows available. You can find it at http://www.mobil-phone.de/. On this page there is also a link to a zip file full with lot's of MIDI tunes.


Thanks to the SmallEiffel team and the authors for GOBO, Eiffel-Midi and the Formater-Cluster for providing the tools which made this project really much easier!

Andreas Leitner: andreas.leitner@chello.at
Andreas Leitner's Homepage Page: http://leitner.dhs.org/
Midi2C25 Page: http://leitner.dhs.org/midi2c25/
03 January 2000 (Added to Eiffel Forum Archive: 03 January 2000)

[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]