Klavia Piano (Android-Port)
Klavia Piano ist eine moderne Klavier-Lern- und Übungs-App, die es Pianisten und Lernenden ermöglicht, eigene Notenblätter interaktiv zu spielen – mit Notennamen direkt auf den Noten, intelligenten Fingersätzen, Tonhöhenerkennung und einem präzisen Übungsmodus (Wait-Mode). Die Android-Version ist eine von Grund auf neu entwickelte native Portierung der erfolgreichen iOS-App, geschrieben in modernem Kotlin mit Jetpack Compose.
Architektur & Parität zur iOS-Codebasis
Die App basiert auf einer sauberen Zwei-Schichten-Architektur: Die Notendarstellungs-Engine nutzt Verovio WASM, Timemap-Synchronisation und eine Falling-Notes-Animation in einem durch AndroidX WebViewAssetLoader gehärteten WebKit-Container, der byte-identisch zur iOS-Version gehalten wird. Die native Host-Schicht (UI Chrome, ViewModels, MIDI-Anbindung, Audioschnittstellen und Cloud-OMR-Client) wurde in modernem Kotlin mit Jetpack Compose und Material 3 realisiert. Diese strikte Symmetrie ermöglicht es, künftige Weiterentwicklungen der iOS-Hauptversion nahtlos zu übernehmen.
Klavia Piano auf einem Android-Tablet – Interaktive Noten mit Notennamen, Taktanzeige und Tastatur
Echte Hardware-Anbindung: MIDI & Akustik
Klavia verbindet sich wahlweise per USB-Kabel oder kabellos über Bluetooth Low Energy (BLE) MIDI mit Digitalpianos und Keyboards (wie dem Kawai CA401). Der eigens entwickelte Parser garantiert geringste Latenzzeiten beim Tastaturanschlag. Für akustische Klaviere ohne Digitalausgang steht eine Mikrofon-Tonhöhenerkennung mit Autokorrelations-Algorithmus bereit. Im Wait-Mode stoppt der Noten-Cursor, bis die korrekte Taste auf dem Klavier angeschlagen wurde – wahlweise für beide Hände gemeinsam oder jede Hand getrennt.
Falling-Notes-Modus mit Klaviatur – Getrennte Farben für linke (grün) und rechte Hand (blau)
| Funktion / Komponente | Technische Umsetzung auf Android |
|---|---|
| Interaktive Notendarstellung | Verovio WASM mit Notennamen, horizontalem/vertikalem Scrollen, Timemap & Zoom. |
| Eigene Noten importieren | Unterstützung für MusicXML, komprimiertes MXL sowie PDF-Noten per Cloud-OMR-Dienst. |
| MIDI & Akustik-Erkennung | Native USB- und Bluetooth-LE-MIDI-Treiber (android.media.midi) plus Mic-Pitch-Erkennung. |
| Wait-Mode & Händefokus | Partitur wartet auf korrekten Tastenanschlag; linke und rechte Hand separat trainierbar. |
| Jetpack Compose UI | Reaktives Material 3 Design, optimiert für Tablets (Querformat) und Smartphones. |
| Google Play Billing | Native In-App-Abrechnung mit Entitlements-Mapping und Google Block Store Backup. |
Qualitätssicherung & Reale Gerätetests
Eine Testsuite mit 327 automatisierten Unit-Tests deckt alle mathematischen und algorithmischen Komponenten (MusicXML-Parsing, Transponierung, Fingersatz-Engine, MIDI-Filter und Audio-Frame-Berechnung) deterministisch auf der JVM ab. Das reale Zusammenspiel von Latenz, Bluetooth-Stabilität, Orientierungswechsel und Audiowiedergabe wurde intensiv auf mehreren Referenzgeräten verifiziert – getestet auf dem Samsung Galaxy Tab S11, dem Samsung Galaxy Tab S10+ und dem Samsung Galaxy S25 Edge in Kombination mit dem Klavier Kawai CA401.
KATEGORIE
Android · Musik
TECH-STACK
Kotlin · Jetpack Compose
BASIS
Klavia Piano (iOS-Portierung)
TESTS
327 Unit-Tests (JVM)
HARDWARE-TESTS
Samsung Galaxy Tab S11 Samsung Galaxy Tab S10+ Samsung Galaxy S25 Edge Klavier Kawai CA401