Timidity: MIDIs abspielen und umwandeln

InformaticsMusic
9

Am Piano

In diesem Artikel geht es darum, ein existierendes MIDI mit einem Soundfont eigener Wahl abzuspielen und anschließend in ein umgänglicheres Audio-Format umzuwandeln.

Soundfonts an Land ziehen

Der Soundfont macht den Klang, konkret eine Datei mit der Endung SF2, die Klanginfor­mationen für verschiedene Instrumente beinhalten kann. Oft sind die Dateien erst noch in ein spezielles Archiv gepackt, welches alles andere als weitverbreitet oder gar unterstützt ist: sfArk oder SFPack. Die entsprechenden Programme zur Befreiung der Inhalte sind alt, daher nur für Windows zu haben, doch laufen einwandfrei unter WINE. Piano-Soundfonts, die mir zusagen, sind beispielsweise Roland Nice Piano, Roland 64 Voice Piano und piano42.

Haben wir erst einen Soundfont aus seiner Verpackung geschält vor uns liegen, geht es wie folgt weiter: Er wird in ein bestimmtes Verzeichnis verschoben.

sudo mv RolandNicePiano.sf2 /usr/share/sounds/sf2/

Sollte das Verzeichnis noch nicht existieren, legt es selbst an.

Abspielen mit Timidity

Der Einsatz ist dann etwas tippaufwendiger, doch wer schon an diesem Punkt angelangt ist, wird auch diese Mühen nicht scheuen:

timidity -x'bank 0\n0 %font "RolandNicePiano.sf2" 0 1' -Ow Aufnahme.MID
  • -x
    Überschreibt die Konfiguration für diesen Aufruf. Man gibt an, was an der Stelle des Hauptinstrumentes (bank 0\n0) für ein Klang stehen soll. Dazu gehört in Anführungszeichen der Dateiname des Soundfonts, die nächste Zahl ist die Bank im Soundfont und die Zahl danach wiederum der Instrumentenklang innerhalb dieser Bank. In den allermeisten Fällen ist dies für Pianos 0 0 oder 0 1.

    Eine Ausnahme ist das Roland 64 Voice Piano, dort ist es 2 0.
  • -Ow
    Umwandlung in das WAV-Format. Die Datei entsteht im selben Verzeichnis und würde eine bereits existierende ohne Rückfrage überschreiben. Lässt man den Parameter weg, bekommt man eine direkte Audio-Ausgabe.

Umwandeln mit ffmpeg

ffmpeg -i Aufnahme.WAV -ab 192k MySong.mp3
ffmpeg -i Aufnahme.WAV -acodec libvorbis MySong.ogg
  • -ab
    Bitrate für die MP3. Nicht das k vergessen!
  • -acodec libvorbis
    Verwendung einer externen Bibliothek, anstatt der in ffmpeg eingebauten, weil die schrottig sein soll.

An richtige Aufnahmen kommt der Klang – wenig überraschend – bei Weitem nicht heran. Dennoch ist das Ergebnis ganz in Ordnung, wenn man einen guten Soundfont gefunden hat. Vielleicht lässt sich auch noch mehr herausholen, sollte man sich besser mit den Parametern des Programmes auskennen oder weitere Anwendungen zur Nachbearbeitung hinzuziehen.

Beispiele für solche Eigenerzeugnisse

Diese beiden Audiodateien nun, sind zwei von mir eingespielte Lieder, aus MIDI umgewandelt nach WAV, von da nach OGG und mit HTML5 <audio> eingebunden.

Not_Tomorrow.ogg[1]

My_Soul,_Your_Beats.ogg[2]


[1] Basierend auf einem Stück aus dem Silent Hill 1 Soundtrack. Klaviernoten finden sich in der Beschreibung zum YouTube-Video von sosogood. Soundfont ist RolandNicePiano.

[2] Opening des Anime Angel Beats! Noten gibt es in der Nummer 1-Quelle Josh. Mein Tempo ist völlig daneben und verhaspelt und verspielt habe ich mich auch noch. Soundfont ist Roland 64 Voice Piano.

Bild: danbooru.donmai.us