Polska wersja / Polish version


This is a program for playing iMelody ringtones (IMY files), conforming to the iMelody specification, as written in doc/imelody.txt. It can also convert IMY ringtones to MIDI files.

IMYplay can use the following libraries to produce sound: the Allegro game library (, SDL (Simple DirectMedia Layer;, ALSA (Advanced Linux Sound Architecture;, OSS (Open Sound System), libao (, PortAudiov19 (, PulseAudio (, JACK1/JACK2 (, GStreamer (

It can also write raw samples to an output file, use the PC-speaker or call an external program on each note.

Requirements for compiling the full version under Un*x:

Type ./configure to configure the program for your system. If you do not wish support for a particular output, give the --enable-SYS=no option to ./configure (SYS=allegro, SDL, ALSA, OSS, LIBAO, PORTAUDIO, PULSEAUDIO, JACK, MIDI, EXEC, GSTREAMER, FILE, SPKR). Run ./configure --help for details.

By default, a flex-based scanner will be generated to parse the input file. If the scanner does not compile for you or works incorrectly, disable it with ./configure --enable-FLEXPARSER=no and recompile imyplay.

If you do NOT wish imyplay to use the network or get the computer's IP address, get LibHideIP>=0.2 and LibNetBlock from one of the addresses: and configure imyplay with ./configure --enable-LIBHIDEIP --enable-LIBNETBLOCK
NOTE: this may cause network sound output to fail.

Type make to compile the program.

Documentation will be compiled, if you have the makeinfo program (texinfo package). Translations will be compiled, if you have the gettext package.

Type make install to install the program.
NOTE: make install is NOT recommended. Create and install an rpm package instead, if possible.

Type info imyplay (after installation) or info doc/ (before installation) to get help.

RPM dependencies:

Requirements for automatic compiling the DOS version: To compile under DOS using DJGPP, either enable LFN support or find your GCC's "limits.h" file (NOT the standard one) and change the line
#include "syslimits.h"
#include "syslimit.h"
Then run the "dosdist.bat" file.

If you prefer to compile manually (like when you don't have all of the required utilities), then go to the src directory. Change @VERSION@ to the current version number in the imyp_cfg.hin file and rename the file to imyp_cfg.h. Then compile all the files you wish to (the dosfiles.txt file is a good starting point), for example:
gcc -o imyplay.exe *.c -lalleg
The resulting imyplay.exe is the program to use.

System compatibility

IMYplay compiles on the following systems:

Download IMYplay

Current version is 1.0.
Download this at SourceForge.

My projects on SourceForge

My other software

See my other free software:
  1. KonqSec - a set of Konqueror security-related context menu entries
  2. SOAP Service Tester - a program for testing SOAP services
  3. Certificate and key generators
  4. E-mail address verifier
  5. LastMod - a script that inserts or updates a META element with the Last-Modified HTTP header
  6. Atom2Rss - a script that converts an Atom channel XML file to an RSS 2.0 XML file
  7. List2Atom - a script that generates an Atom channel XML file from a list of files
  8. InSyTrack - software to track program flow (calls) across libraries, threads, programming languages or even different systems on different machines
See also my assembly-related free software:
  1. AsmDoc - a HTML documentation generator for assembly language
  2. source converters between NASM, FASM and GAS
  3. C header to assembly header converters
  4. Kate/KWrite syntax highlighting for NASM/FASM
  5. some FASM macros
  6. Makefile generator for FASM
  7. Linux 2.6 kernel module helper for FASM
  8. A set of Autoconf macros
  9. Assembly converter for Doxygen
  10. Asm::X86 Perl module

Contact info

[mail] Contact me: bogdro AT users . sourceforge . net (English accepted, just say '[SOFT]' in the title).

[certificate] My public certificate: crt format, cer format, pem format, p7b format, p7c format
Certificate MD5 fingerprint: 68:0D:78:15:1F:6E:24:7A:48:82:EB:CA:0F:3B:5A:A0
Certificate SHA1 fingerprint: 8C:9B:7A:AB:A9:8E:39:FE:3A:B0:34:35:C1:41:10:89:38:4B:42:E2

[certificate] Issuer certificate: der format
Issuer certificate MD5 fingerprint: EB:77:B9:23:0F:21:02:2A:29:54:8A:78:A3:A4:8F:20
Issuer certificate SHA1 fingerprint: FE:E7:83:1D:AA:8D:1E:10:32:40:2D:08:1D:23:00:0F:86:C4:48:46

[certificate] Revocation list of the previous certificates: crl format, pem format.

[keys] My public GnuPG / PGP key: asc format
Number 1C56DA1E, Key SHA1 fingerprint: E91E 699F 1026 D0EF 745E EC3B 353A D368 1C56 DA1E

Page info

This page is hosted at
This page is written using valid HTML 4.01 [Check my HTML 4.01], [Checked by HTML Validator (based on HTML Tidy)], for all browsers: [For all browsers]

This page uses a valid CSS [Check my CSS]

This page has a content security policy.

This page doesn't use GIF images and doesn't use JPG images.

This page is JavaScript-free, Java-free and Flash-free.