Portrait Michael Malura

Klaviertrainer

Ein selbstgebauter Klaviertrainer fürs iPad und iPhone — Notenblatt anzeigen, auf die richtig gespielte Note warten, weiterspringen. Eine private App, nur für unsere Familie, nichts im App Store.

Meine Tochter wollte mit ihrem Roland FP-30X üben, mit Stücken, die wir uns selbst aussuchen, und ohne ein Abo für eine fertige Lern-App zu zahlen. Also hab ich uns selbst eine gebaut. Die App nimmt die Noten direkt vom Klavier per MIDI — über USB-Kabel oder Bluetooth — und merkt, ob die richtige Taste getroffen wurde.

Das Herzstück ist der Wait-Mode: Das Notenblatt steht still, der Cursor wartet auf der nächsten Note und springt erst weiter, wenn sie die Note auf dem echten Klavier spielt. Gerendert werden die Noten mit OpenSheetMusicDisplay in einem WebView, die MIDI-Eingabe läuft über CoreMIDI und verbindet automatisch jede Quelle, die auftaucht — auch ein gerade frisch per Bluetooth gekoppeltes Piano.

Klaviertrainer auf dem iPad im Wait-Mode: Notenblatt von Alle meine Entchen mit On-Screen-Klaviatur
Klaviertrainer auf dem iPad im Wait-Mode: Notenblatt von Alle meine Entchen mit On-Screen-Klaviatur

Drumherum gibt es ein Liederbuch mit 31 Stücken, sortiert in Erste Lieder, Klassiker, Games und Weihnachten, dazu eine Fortschrittsanzeige mit Sternen. Eigene Noten lassen sich als MusicXML importieren; das Material ziehe ich aus Public-Domain-Quellen wie MuseScore oder IMSLP. Gebaut ist das Ganze nativ in SwiftUI, das Xcode-Projekt wird per XcodeGen generiert und läuft auf iPhone, iPad und als Mac-Catalyst-App. Bleibt eine reine Familien-Spielerei für daheim.

Liederbuch auf dem iPhone mit den Kategorien Erste Lieder, Klassiker, Games und Weihnachten
Liederbuch auf dem iPhone mit den Kategorien Erste Lieder, Klassiker, Games und Weihnachten

Tech-Stack: Swift, SwiftUI, CoreMIDI, OpenSheetMusicDisplay, WKWebView, XcodeGen