MIDI-Dateien in das WAV- bzw. MP3-Format umwandeln

warning: fread(): Length parameter must be greater than 0 in /var/www/elchs-kramkiste.de/lapurd/includes/common.inc(1695) : eval()'d code on line 19.

Ich möchte gerne Keyboard bzw. E-Piano spielen lernen. Eine wichtige Voraussetzung dafür ist das vorherige Hören der Übungsstücke, denn sonst ahne ich anfangs noch nicht einmal, wie diese klingen sollten / müssten (anders wird das bei Anfängern sein, die bereits ein anderes Musikinstrument spielen bzw. Noten lesen können). Wenn dem Übungsheft bzw. -buch keine Audio-CD beigefügt ist oder auf dieser CD die Stücke nur mit Begleitmusik vorhanden sind, dann hat man als Linux-Benutzer ein kleines Problem. Die Noten der Übungsstücke per NoteEdit (wird wohl nicht mehr weiter entwickelt, demnächst dafür mit Canorus ("Nachfolger" von NoteEdit)) oder Denemo einzugeben und als MIDI-Datei abzuspeichern ist nicht das Problem...

...aber man will ja seinen PC nicht immer eingeschaltet lassen bzw. anschalten, um die MIDI-Datei per Timidity Gegenzuhören. Genau dafür benutze ich einen MP3-Player, der neben meinem Keyboard liegt. Und hier liegt das Problem...

MIDI-Dateien sind auf einem MP3-Player nicht benutzbar (WAV-Dateien auch nicht). Aber aus WAV kann man mit den "üblichen Verdächtigen" (z.B. jRipper) auch unter Linux sehr einfach MP3-Dateien herstellen und auf den Player laden. Unter Windows (ich nutze dies in einigen Fällen noch in einer VMWare-Sitzung) ist die Umwandlung von MIDI nach WAV / MP3 ein geringes Problem (entweder mit schlechter Qualität - weil umsonst -, oder in guter Qualität, dann aber meist kostenpflichtig).

Unter Linux habe ich einige Hinweise hinsichtlich Timidity gelesen, diese aber anfangs nicht richtig zu deuten gewusst. Erst als ich merkte, dass die (besseren) Windows-Tools für diesen Zweck wohl überwiegend kostenpflichtig sind, habe ich mich mit der Timidity-Thematik weiter auseinandergesetzt und den Befehl

timidity input.mid -Ow -o output.wav

gefunden und zu nutzen gelernt.

Voraussetzung ist also die Installation von Timidity. Falls dies gegeben ist, öffnen Sie ein Konsolenfenster, wechseln per cd Verzeichnis in Ihr Verzeichnis mit der / den umzuwandelnden MIDI-Datei(en) und benutzen die obige Befehls-Syntax.

Statt "input" schreiben Sie den Namen Ihrer vorhandenen MIDI-Datei, statt "output" den Namen der zu erzeugenden WAV-Datei (die Verwendung von sogenannten Wildcards - also "*" - funktioniert leider nicht. Jede Datei ist einzeln anzupacken .... [Ein Thema für einen GUI-Programmierer?! [*1] oder man schreibt sich ein kleines Skript]). Sobald Sie fertig sind, können Sie die WAV-Dateien in MP3 wandeln (z.B. per jRipper) und auf Ihren MP3-Player übertragen.

Anmerkung: Mir ist bekannt, dass man MIDI-Dateien per Software über die Soundkarte abspielen und diese Ausgabe aufnehmen kann um die dadurch erzeugte WAV-Datei wiederum nach MP3 zu wandeln, aber das ist unnötiger Aufwand. Es geht auch einfacher.

[*1] Nachtrag: Ich habe mich der Sache mit der grafischen Bedienungsoberfläche mal angenommen. Die erste brauchbare Version finden Sie hier.