Eine Android-App, die eingescannte und digitale Notenblätter auf dem Tablet anzeigt – mit freihändigem Umblättern per Bluetooth-Pedal.
Entstanden für die Gitarrenbegleitung im Kirchenchor. Das Kernproblem: Beim Spielen sind beide Hände belegt. Umblättern muss deshalb ohne Hände funktionieren, oder mit einer einzigen, blind ausführbaren Berührung.
Web-App (iPhone, iPad & Browser)
- PDF und MusicXML – Scans seitengetreu, digitale Noten als scharfe Vektoren
(
.xml,.musicxml,.mxl) - Textnotizen – Liedtexte oder Akkorde ganz ohne Datei
- Freihändiges Blättern – Bluetooth-Pedal, Tippzonen oder Knöpfe ◀ ▶ in der Statusleiste
- Zoom pro Seite – Zwei-Finger-Zoom, wird pro Notenseite gemerkt
- Setlists – Reihenfolge vorbereiten, am Liedende direkt ins nächste Stück, dort weitermachen, wo man aufgehört hat
- Suchen, Filtern, Sortieren – in Songliste und Setlists, mit Buchstabenleiste
- Persönlich – eigener Name im Titel („Flos Noten“) und an den eigenen Notizen
- Notizen pro Person – eigene und fremde Notizen je Lied, fremde einzeln einblendbar
- Datensicherung als ZIP – alles sichern, Setlist samt Noten teilen, Sicherungen mit Vergleich einlesen
- Einstellbar – Statusleiste, Tippzonen, Pedalrichtung, Design (System/Hell/Dunkel)
- Offline – keine Internetverbindung, keine Android-Berechtigung, kein Konto
Unten rechts liegen zwei Schaltflächen:
| Symbol | Funktion |
|---|---|
| + | PDF oder MusicXML importieren |
| Stift | Textnotiz ohne Datei anlegen |
Beim Import wird die Datei in den privaten App-Speicher kopiert. Die Originaldatei kann danach verschoben oder gelöscht werden, ohne dass die App den Zugriff verliert.
Während der Anzeige stehen drei Wege parallel zur Verfügung. Ab Werk sind alle aktiv, in den Einstellungen lassen sie sich anpassen:
| Eingabe | Vorwärts | Rückwärts |
|---|---|---|
| Pedal / Tastatur | Bild ab, →, ↓, Leertaste, Enter, Leiser-Taste, Medientaste vor |
Bild auf, ←, ↑, Lauter-Taste, Medientaste zurück |
| Tippzonen | rechte Hälfte des unteren Drittels | linke Hälfte des unteren Drittels |
| Statusleiste oben | ▶ | ◀ |
Die oberen zwei Drittel bleiben frei zum Zoomen und Verschieben. Wischen blättert bewusst nicht um, weil es sich mit dem Verschieben einer gezoomten Seite ins Gehege käme.
Die Statusleiste bleibt immer sichtbar und zeigt Lied, Position in der Setlist und Seite. Auf der letzten Seite wird aus ▶ ein ⏭ – der nächste Tipp wechselt das Lied.
Jeder Seitenwechsel wird mit einem kurzen grünen Rand bestätigt. So erkennt man den Pedaltritt auch bei zwei ähnlich aussehenden Seiten, ohne den Blick von den Noten zu nehmen.
Alles Weitere liegt im Menü oben links: Songliste, Setlists, Einstellungen und – bei geöffnetem Lied – Bearbeiten, Zur Setlist hinzufügen, Liedtext anzeigen und Löschen. Wurde das Lied aus einer Setlist geöffnet, steht darunter die ganze Reihenfolge zum direkten Springen.
Das Pedal wird in den Android-Einstellungen gekoppelt, nicht in der App. Geeignet sind handelsübliche Modelle, die sich als Tastatur (HID) anmelden.
- Pedal in den Kopplungsmodus bringen
- Android-Einstellungen → Verbundene Geräte → Neues Gerät koppeln
- In der App ein Lied öffnen und einen Tritt testen
Sendet das Pedal einen nicht erkannten Tastencode, lässt sich der tatsächlich gesendete Code über Logcat auslesen und die Liste in SongDetailScreen.kt erweitern.
Unter Setlists eine neue Liste anlegen, mit Konzertdatum versehen und Lieder über das Menü an jedem Lied hinzufügen. Listen erscheinen nach Datum sortiert und nach Jahr gruppiert, das nächste anstehende Programm ist hervorgehoben. Alternativ lässt sich nach Titel oder Zuletzt gespielt sortieren und nach kommenden oder vergangenen Terminen filtern. Die Suche findet auch Lieder innerhalb der Setlists.
Eine Setlist merkt sich, bei welchem Lied und welcher Seite sie verlassen wurde, und bietet Fortsetzen an. Nach dem letzten Lied beginnt sie wieder von vorn.
Wird ein Lied aus einer Setlist heraus geöffnet, blättert man am Ende der letzten Seite direkt in das nächste Stück – das Pedal funktioniert also über die gesamte Setlist hinweg. Aus der Songliste geöffnet bleibt die Anzeige an den Liedgrenzen stehen.
In den Einstellungen unter Person lässt sich ein Name eintragen. Er erscheint im Titel – aus „Flo“ wird Flos Noten, aus „Hans“ Hans’ Noten – und steht an den eigenen Notizen. Leer bleibt es bei Meine Noten.
Jedes Lied kann Notizen mehrerer Personen tragen, etwa nach dem Einlesen der Sicherung eines anderen Chormitglieds. Die eigene Notiz ist bearbeitbar, fremde lassen sich lesen und löschen. In der Notenansicht sind fremde Notizen zunächst ausgeblendet und pro Person einschaltbar. Wie Personen unterschieden werden – Farbpunkt, Name in der Farbe der Person, Nummer bei gleichen Namen („Anna · 2“) –, legt man unter Notizen anderer fest.
Unter Einstellungen → Datensicherung:
| Aktion | Ergebnis |
|---|---|
| Alles sichern | ZIP mit allen Liedern, Notendateien, Setlists und Einstellungen |
| Setlist teilen (Menü einer Setlist) | ZIP mit einer Setlist, ihren Liedern und deren Noten |
| Sicherung einlesen | liest beide Arten ein, mit Vergleich zum eigenen Bestand |
Gespeichert wird über die Dateiauswahl von Android – in den Download-Ordner, auf einen
USB-Stick oder über die Drive-App in Google Drive. Der Dateiname sagt, was drinsteckt:
20261004_Komplett_SM-P610_Flo.zip.
Beim Einlesen wird nichts blind überschrieben. Die App zeigt alle Lieder der Datei, eingeteilt in Gleiche Noten, andere Angaben, Mögliche andere Fassung, Neu und Identisch, und bei Unterschieden die Angaben nebeneinander. Pro Lied: Meins behalten, Aus Sicherung übernehmen oder Beide behalten. Schnellwahlen oben: Alles wie vorgeschlagen, Nur Neue, Alles ersetzen. Setlists verweisen danach auf die eigenen Lieder, ohne Dubletten.
Aus Sicherung übernehmen ersetzt das vorhandene Lied, statt ein zweites anzulegen. Notizen werden dabei zusammengeführt – pro Person bleibt die neuere –, und fehlt die Notendatei in der Sicherung, bleibt die eigene erhalten. Sicherungen aus einer neueren App-Version werden mit einem Hinweis abgelehnt, statt unvollständig eingelesen zu werden.
Gekaufte Noten dürfen meist nicht weitergegeben werden. Setlist teilen weist vor dem Erstellen darauf hin; die Verantwortung liegt beim Nutzer.
Liegt die letzte Sicherung mehr als 30 Tage zurück, erinnert ein Hinweis in der Songliste daran – nie in der Notenansicht.
| Bereich | Einstellbar |
|---|---|
| Statusleiste | Liedtitel, Position „Lied x/n“, Seitenzahl, Knöpfe ◀ ▶, Ankündigung ⏭ |
| Umblättern | Tippzonen an/aus, Größe (unteres Drittel, untere Hälfte, ganze Höhe), Seiten tauschen, grüner Rand, Titel beim Liedwechsel |
| Pedal & Tasten | Lautstärketasten blättern, Richtung umkehren |
| Anzeige | Bildschirm bleibt an, Zoom pro Seite merken, Design |
| Person | eigener Name für Titel und Notizen |
| Datensicherung | Alles sichern, Sicherung einlesen, Datum der letzten Sicherung |
| Notizen anderer | Farbpunkt, Name in Personenfarbe, Nummer bei gleichen Namen |
| Hinweise | Backup-Erinnerung, Urheberrechtshinweis beim Setlist-Teilen |
Ab Werk ist alles eingeschaltet außer den beiden Umkehrungen (Tippzonen tauschen, Pedalrichtung). Die Tippzonen liegen im unteren Drittel, das Design folgt dem System. Bei Notizen anderer ist ab Werk nur Name in der Farbe der Person aktiv.
| Sprache | Kotlin |
| Oberfläche | Jetpack Compose, Material 3 |
| Navigation | Navigation 3, Navigationsmenü (Drawer) |
PdfRenderer (Framework, keine externe Bibliothek) |
|
| MusicXML | OpenSheetMusicDisplay im WebView, offline als Asset |
| Speicherung | JSON über kotlinx.serialization, Einstellungen per DataStore |
| Sicherung | ZIP mit Manifest und SHA-256-Prüfsummen, java.util.zip |
| Start | SplashScreen-API mit nahtlosem Compose-Startbildschirm |
minSdk |
26 (Android 8.0) |
targetSdk |
36 |
Entwickelt und geprüft für ein 8-Zoll-Tablet (Samsung Galaxy Tab S6 Lite), läuft aber auf Telefonen und größeren Tablets ebenso. Oberfläche auf Deutsch und Englisch.
git clone https://github.com/workFLOw42/MeineNoten.git
cd MeineNoten
./gradlew :app:assembleDebugFür einen Release-Build wird ein Signaturschlüssel benötigt. Die Zugangsdaten gehören in
local.properties, die nicht im Repository liegt:
signing.storeFile=C:/Pfad/zu/deinem.jks
signing.storePassword=...
signing.keyAlias=...
signing.keyPassword=..../gradlew :app:bundleReleaseDie Versionsnummer steht in version.properties und wird nach
jedem erfolgreichen bundleRelease automatisch hochgezählt – die Datei gehört deshalb
mit ins Repository.
Release-Builds werden mit R8 verkleinert. Die zugehörigen Keep-Rules stehen in rules.keep und sind notwendig – ohne sie würden die Serialisierung der Daten und die WebView-Brücke zu OpenSheetMusicDisplay brechen.
Die App erhebt keine Daten, fordert keine Berechtigungen an und verbindet sich nicht mit dem Internet. Alle Noten bleiben im privaten Speicher der App auf dem Gerät. Eine Sicherung verlässt das Gerät nur als Datei, die man selbst speichert oder teilt. Details in der Datenschutzerklärung.
Diese App verwendet OpenSheetMusicDisplay (BSD-3-Clause) zur Darstellung von MusicXML.
by workFLOw42 · ©2026
