c't 6/2016
S. 182
Know-how
MIDI mit Android

Musikalisches Tablet

MIDI-Programmierung mit Android 6

Android unterstützt seit Version 6 die Ansteuerung von MIDI-Geräten. Damit lässt sich zum Beispiel eine App entwickeln, die zur musikalischen Bildung beliebige Noten-Intervalle vorspielt.

Das Musical Instrument Digital Interface (MIDI) ist eine dieser Technologien aus der Urzeit der Computer-Entwicklung, die sich bis heute großer Beliebtheit erfreuen. Viele Musikinstrumente lassen sich per MIDI steuern, darunter die meisten E-Pianos, aber auch Synthesizer, Drum-Computer und diverse Effektgeräte. Ursprünglich über serielle Kabel mit fünfpoligem Spezialstecker angeschlossen, werden MIDI-fähige Geräte inzwischen häufig per USB verbunden. Das Nexus 5X lässt sich beispielsweise mit einem USB-C-auf-USB-B-Kabel an den USB-Host-Port gängiger Keyboards anschließen und kann über diese Verbindung sowohl MIDI-Daten empfangen als auch senden. An geeignete Geräte lässt sich MIDI aber auch per Bluetooth oder WLAN übertragen.

Die Beispiel-App erkennt und spielt Intervalle per MIDI.

MIDI spezifiziert ein Bus-System, an dem theoretisch beliebig viele Geräte hängen können. Dabei kann ein Gerät Sender, Empfänger oder beides sein. Im Unterschied zur digitalen Audio-Aufnahme oder -Wiedergabe im MP3- oder WAV-Format werden über MIDI nur Steuerbefehle wie das An- und Abschalten einzelner Noten oder die Änderungen von Sound-Einstellungen übertragen. Es gibt verschiedene Arten von MIDI-Befehlen. Die meisten sind zwischen 1 und 3 Byte lang, wobei bestimmte Bits des ersten Bytes die Gesamtlänge bestimmen. So startet die Byte-Folge 0x90 0x60 0x7F eine Note der Tonhöhe C, die Folge 0x80 0x60 0x00 schaltet sie wieder ab [1].