Es ist 10 Jahre her, seit ich meine erste mobile App geschrieben habe. Damals hatte ich mir einen MacBook und ein MIDI-Piano zugelegt, das ich analysieren wollte. Ich begann zu programmieren und veroeffentlichte die Ergebnisse im Apple App Store.

MIDI Aid im App Store

Spaeter veroeffentlichte ich den Kern-Quellcode fuer das Empfangen und Interpretieren von MIDI-Events auf Apple-Geraeten und schrieb einen Artikel darueber.

MIDI Listener in Swift

Mit der Zeit begann ich, mobile Apps fuer Android zu entwickeln. Als kleines Uebungsprojekt schrieb ich eine aehnliche Anwendung mit den neuesten Tools: Jetpack Compose und Kotlin.

Das Ergebnis dieser Bemuehungen ist dieser Blogbeitrag und der begleitende Quellcode, der hier heruntergeladen werden kann: [Buy Me a Coffee](https://www.buymeacoffee.com/twissmueller/e/130786.

https://www.buymeacoffee.com/twissmueller/e/130786

Du kannst die Anwendung unten in Aktion sehen. Ich habe sie ueber USB-C mit meinem Arturia MiniLab3 verbunden.

Voraussetzungen

Um den Code zu bauen und auszufuehren, benoetigen Sie:

  • Android-Geraet
  • MIDI-Geraet
  • Kabel zum Verbinden der Geraete

Code-Walkthrough

Unten ist eine Zusammenfassung der Verantwortlichkeiten der Klassen, die in dieser Anwendung verwendet werden.

  • MainActivity: Der Einstiegspunkt der App; wird von Android Studio in neuen Jetpack Compose Projekten erstellt.
  • MyMidiReceiver: Die Kernklasse. Sie empfaengt rohe Bytes, interpretiert sie und konvertiert sie in das MIDI-Nachrichtenformat der App.
  • MidiConstants: Konstanten zur Interpretation von MIDI-Byteformaten und Nachrichtenlaengen.
  • MidiEvent: Datenobjekt, das ein MIDI-Event repraesentiert.
  • MidiEventList: View, die empfangene MIDI-Nachrichten anzeigt.
  • MidiViewModel: ViewModel, das zwischen der View und dem Receiver fuer MIDI-Events vermittelt.

Deklarieren Sie auch, dass die App die MIDI-Funktion verwendet, indem Sie folgende Zeile zu AndroidManifest.xml hinzufuegen:

<uses-feature android:name="android.software.midi" android:required="true"/>

MIDI-Nachrichten empfangen

Um MIDI-Nachrichten auf Android zu empfangen, verbinden Sie das MIDI-Geraet ueber ein Kabel mit dem Android-Geraet - typischerweise USB Typ X zu USB Typ Y. Ich habe ein USB-C zu USB-C Kabel mit einem Adapter verwendet.

Wenn Ihr MIDI-Geraet einen Standard-MIDI-Out-Anschluss hat, koennen Sie einen Adapter wie den Roland UM-ONE mk2 verwenden.

Bluetooth ist fuer einige Geraete eine Option, aber ich habe diesen Code noch nicht mit Bluetooth getestet.

Wenn alles verbunden ist und Sie Tasten oder Pads auf Ihrem MIDI-Geraet druecken, sollten die entsprechenden MIDI-Nachrichten auf Ihrem Android-Geraet erscheinen.

Fazit

Du kannst den bereitgestellten Quellcode verwenden, um MIDI-Nachrichten von einem MIDI-Geraet auf deinem Android-Telefon oder -Tablet anzuzeigen und zu analysieren. Er kann leicht erweitert werden, um deinen Beduerfnissen zu entsprechen. Lade ihn hier herunter: Buy Me a Coffee

Vielen Dank fuers Lesen!

Ressourcen