seeseekey.net - Invictus Deus Ex Machina

Ab und an nutze ich eine Keystation Mini 32 von M-Audio unter Logic Pro X. Dabei hatte ich das Problem das die Oktavensteuerung nicht mehr richtig funktionierte. Es bliebt stets die gleiche Oktave in Logic Pro X eingestellt.

Die Keystation Mini 32

Abhilfe brachte es die Edit-Taste und die erste schwarze Taste (Data – Octave) zu drücken. Danach konnten die Oktaven in Logic Pro X normal durchgeschaltet werden.

Für ein kleines Experiment war ich auf der Suche nach einer .NET Bibliothek mit welcher sich MIDI Dateien schreiben lassen. Auf den ersten Blick findet man dabei nur Bibliotheken welche das MIDI Interface ansprechen, aber solche welche Midi Dateien schreiben können sind eher selten. Abhilfe schuf hier die Bibliothek NAudio, welche unter http://naudio.codeplex.com/ zu finden ist. Das Problem an der Bibliothek ist ihre schiere Größe und die fehlende Plattformunabhägigkeit, da für einige Stellen P-Invokes in native DLLs benötigt werden. Daneben bietet NAudio wesentlich mehr als nur MIDI-Support, so das die Bibliothek für meinen Zweck nicht zum tragen kam.

Dank der freien Lizenz (unter der Ms-Pl) stellte dies kein Problem da und so wurde libmidi.net aus der Taufe gehoben. Die Bibliothek bestand am Anfang aus dem Midi Teil von NAudio. Im Laufe der Entwicklung wurde alle Möglichkeiten für den Zugriff auf MIDI-Geräte entfernt. Die Bibliothek ist damit zu einer kleinen Bibliothek zum Lesen und Schreiben von MIDI-Dateien geworden. Dazu wurden auch einige Dinge wie die “MidiNote”-Enumeration hinzugefügt, anhand deren man die Noten als Noten anstatt als Nummern angeben kann. Im Gegensatz zum Original, welches hauptsächlich auf die Bearbeitung bereits existierender MIDIs abziehlt, soll die Bibliothek so gestaltet werden, das auch das Erzeugen neuer MIDIs leicht von der Hand geht. Zu finden ist das Projekt unter https://github.com/seeseekey/libmidi.net.

Der freie Medienplayer VLC kann bereits ab Version 0.9 bzw. unter Windows ab Version 1.1 MIDI-Dateien abspielen. Nun sollte man denken, sobald man eine Midi hineineinpackt sollte es funktionieren. Leider ist es nicht ganz so einfach. Wen man dies versucht bekommt man folgene Fehlermeldung:

MIDI-Synthese nicht eingerichtet:
Für die MIDI-Synthese wird eine Sound-Font-Datei (.SF2) benötigt.
Bitte Sound-Font installieren und über VLC-Einstellungen (Input / Codecs > Audiocodecs > FluidSynth) konfigurieren.

Kein passendes Decodermodul:
VLC unterstützt das Audio- oder Videoformat “MIDI” nicht. Leider können Sie daran nichts ändern.

Die Meldung sagt dabei eigentlich schon alles. Es fehlt der passende Soundfont. Zu finden ist ein solcher unter http://www.schristiancollins.com/generaluser.php – dort sollte man sich für die FluidSynth Variante entscheiden. Unter Linux reicht es meist das entsprechende Paket mit den Soundfonts zu installieren.

Die Einstellungen von VLC

Die Einstellungen von VLC

Nach dem Download, kann man in den Einstellungen unter “Codecs -> Audiocodecs -> FluidSynth” die SF2 Datei angeben. Sieht man die entsprechende Option nicht, so sollte man von der einfachen in die erweiterte Ansicht schalten. Nachdem die Einstellung getätigt ist, kann der VLC MIDI-Dateien ohne Probleme abspielen.

Es gibt ja durchaus Menschen welche Piano spielen und keine Noten lesen können. Oder man steht vor dem Problem das man ein Musikstück spielen möchte, von diesem aber nur eine Midi Datei besitzt. Oder man möchte ein Musikstück Stück für Stück üben und dabei gleich automatisch die Spielfehler angezeigt bekommen. Dafür gibt es einige Software:

Bei Midi Sheet Music handelt es sich um eine Anwendung welche die Midi als Noten und als Klaviatur darstellt. Im Menü kann man einzelne Tracks aktivieren bzw. deaktivieren. Die Software selbst ist dabei in C# geschrieben, Open Source und läuft unter Linux und Windows.

Synthesia erinnert durch seine Oberfläche an Guitar Hero und Co. und bietet eine Notenansicht, eine Klaviatur sowie die Anzeige der nächsten Noten in Form von Rechtecken welche von oben auf die Klaviatur fallen. Im Learning Pack (25 $) sind weitere nützliche Spielmodi enthalten. Synthesia war ursprünglich ein Open Source Projekt, ist aber nun Closed Source. Die letzte Open Source Version ist dabei unter http://sourceforge.net/projects/pianohero/ zu finden. Synthesia gibt es nur für Windows ist aber unter WINE lauffähig.

Die letzte Software im Bunde ist Linthesia bei welcher es sich um eine Portierung der Open Source Version von Synthesia auf Linux handelt. Linthesia ist z.B. in Ubuntu als Paket enthalten, wird aber anscheinend nicht wirklich weiterentwickelt.

Die beste Figur macht grafisch sowie vom Funktionsumfang Synthesia auf mich, da die anderen Anwendungen leider einige Defizite haben. Schade das sich niemand der Weiterentwicklung von Linthesia annimmt sonst wäre das meine erste Wahl gewesen.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/Synthesia

Auf Sourceforge gibt es das Projekt Midi Sheet Music (http://sourceforge.net/projects/midisheetmusic/, http://midisheetmusic.sourceforge.net/). Dabei handelt es sich um eine Software in welche man eine MIDI Datei einladen kann und anschließend eine Notenansicht bekommt. Beim Abspielen zeigt die Software dann an welche Tasten(kombinationen) für welche Noten gespielt werden müssen. Die Software läuft dabei auf Windows, Linux und MacOS, ist in C# geschrieben und steht unter der GPL.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MIDI

Bei MIDI handelt es sich um ein gut über 20 Jahre altes Protokoll zur Kommunikation, mit welchem sich Musikinstrumente, Synthesizer et cetera untereinander verständigen können. MIDI Signale kann man dabei auch mit dem Arduino erzeugen. Damit man das Rad nicht neu erfinden muss, gibt es eine Bibliothek welche auf den Namen MidiDuino hört und unter http://ruinwesen.com/mididuino zu finden ist. Mit dieser kann man MIDI Signale erzeugen als auch interpretieren. Sie abstrahiert dabei die serielle Kommunikation und implementiert einen MIDI Stack.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MIDI

Wer mal schnell eine Midi in eine MP3 konvertieren will der kann sich natürlich teure Software alla Steinberg Cubase zulegen. In den meisten Fällen reicht wahrscheinlich auch ein Online Konverter. Ein solcher Online Konverter ist unter http://www.hamienet.com/midi2mp3 zu finden.

Dabei kann man zwischen fünf Instrumenten Set’s wählen und auch andere Parameter wie den Sample Typ, die Bitrate, das Tempo etc. bestimmen. Es lohnt sich ihn mal auszuprobieren.