iMelody-Dateien erzeugen und bearbeiten

Der in die JControl/IDE integrierte Melodie-Editor MelodyEdit ermöglicht die Bearbeitung und Konvertierung von Melodien im iMelody-Format (Endung .imy), das von der Infrared Data Association festgelegt wurde und u.a. auch bei Klingelmelodien für Mobiltelefone Verwendung findet. Die mit MelodyEdit erstellten Melodien lassen sich mit der JControl/IDE in ein Projekt einbinden. In einer JControl-Anwendung kann die Melodie dann mit Hilfe der Klasse iMelody ohne großen Programmieraufwand abgespielt werden. Außerdem lassen sich mit MelodyEdit auch ganze Tonspuren aus Midi-Dateien importieren und in das iMelody-Format umwandeln (ab JControl/IDE Version 3.0.1 und höher).

Zu Beginn wird zunächst in der JControl/IDE ein neues Projekt namens "Musik" angelegt. Laden Sie dann die Datei Entertainer.imy und speichern sie sie in dem Projektverzeichnis. Starten Sie nun den Melodie-Editor durch Doppelklick auf den Eintrag Entertainer.imy im Quellen-Navigator.

Der Melodie-Editor zeigt die Noten des bekannten Ragtimes "The Entertainer" von Scott Joplin (siehe Bild 1). Drücken Sie auf den Play-Button (in Bild 1 rot umrahmt), um den Song über Ihre Soundkarte abzuspielen.

Bild 1: Der Melodie-Editor mit geöffneter Musikdatei

Machen Sie sich nun mit den Möglichkeiten des Melodie-Editors vertraut. Fügen Sie z.B. zusätzliche Noten in den Entertainer ein oder komponieren Sie eine eigene musikalische Kreation. Probieren Sie die Import-Funktion aus, in dem Sie eine mid-Datei von Ihrer Festplatte importieren (Windows hält z.B. einige Midi-Dateien im Verzeichnis c:\Windows\media bereit).

Dateien im iMelody-Format basieren auf einem einfachen Textformat, welches zunächst mit der Identifikation BEGIN:IMELODY beginnt. Als nächstes folgen Versionskennungen sowie allgemeine Informationen über die Melodie (z.B. Titel, Komponist, Anzahl der Schläge pro Minute etc). Die eigentliche Melodie wird als eine Zeichenkette dargestellt, die für jede einzelne Note die Tonhöhe, Oktave, Dauer und ggf. weitere Attribute in Form von Zahlen und Buchstaben definiert (z.B. "6" bedeutet 6. Oktave, "d" die Note "d" und "4" 1/4 Schlag). Das folgende Listing 1 zeigt dazu einen Auszug aus der iMelody-Darstellung für den "Entertainer".

    BEGIN:IMELODY
    VERSION:1.2
    FORMAT:CLASS1.0
    BEAT:110
    NAME:The Entertainer
    COMPOSER:Scott Joplin
    MELODY:*6d4*6e4*6c4*5a3*5b4*5g3*5d4*5e4*5c4a3b4g3d4e4c4*3a3*3b4*3a4*3#g4*3g2*5g3...
    END:IMELODY