A.I. DUET

Google veröffentlicht von Zeit zu Zeit ein paar seiner Experimente im Zusammenhang mit künstlicher Intelligenz. Eines dieser Experimente ist A.I. DUET. In der Webapp wird dem Nutzer ein virtuelles Klavier angeboten, auf welchem dieser ein paar Noten spielen kann. Alternativ kann ein Keyboard mittels MIDI-Interface angeschlossen werden. Nachdem der Nutzer einige Noten gespielt hat, antworte das trainierte neuronale Netz mit eigenen Noten; so kann der Nutzer in einer Art Duett mit dem neuronalen Netzwerk interagieren.

A.I. DUET in Aktion

Zu finden ist das Experiment unter experiments.withgoogle.com. Der Quelltext kann über GitHub bezogen werden. Lizenziert ist A.I. DUET unter der Apache License in Version 2 und damit freie Software.

MIDI-Dateien in GarageBand unter iOS importieren

Früher konnten MIDI-Dateien unter GarageBand mittels iOS nicht importiert werden. Mittlerweile ist dies möglich, allerdings ist der Weg dorthin nicht unbedingt offensichtlich. Um eine MIDI-Datei zu importieren, muss GarageBand auf dem iOS-Gerät gestartet werden. Anschließend sollte ein neuer Song angelegt werden.

Ein neuer Song in der Sequenzer-Ansicht

Damit sind die Voraussetzungen für den Import gegeben. GarageBand sollte auf die Sequenzeransicht umgeschaltet werden und anschließend der Apple Loops-Button gedrückt werden.

Nach dem Druck auf den Apple Loops-Button erscheint dieser Dialog

Dort kann nun unter dem Tab Dateien, eine Datei über die App Dateien ausgewählt werden. Wurde die Datei ausgewählt, so erscheint sie anschließend in der Liste.

Nachdem die Datei in die Sequenzeransicht gezogen wurde ist der Import abgeschlossen

Um den eigentlichen Import nun abzuschließen, muss die gewünschte Datei mit einem langen Druck, per Drag & Drop in die Sequenzeransicht gezogen werden. Nach einer kurzen Verarbeitungszeit ist der Import schließlich durchgeführt. Damit können die MIDI-Daten nun normal bearbeitet und abgespielt werden.

Probleme mit der Oktavensteuerung unter Logic Pro X

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.

MIDI Bibliothek für .NET/Mono

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.

VLC und der MIDI Support

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.