ich sitze nun schon seit 2 Jahren (weil sehr lange krank gewesen) an einem Projekt, nämlich einem Gerätchen (Aerduino Nano & Hardware), mit dem ich die Tasten eines Keyboards mit einem WS2812B LED Stripe beleuchten kann.
Das Keyboard zeigt mir quasi mit Lichteffekten an, welche Tasten ich drücke.
So weit klappt alles. Nun möchte ich zusätzlich auf einem 0.92" OLED Display die gespielten Akkorde (z.B. Cm, FMaj7, etc.) anzeigen lassen.
Nur weiß ich leider nicht, wie ich aus dem MIDI Datenstrom die "Note On/Off" Befehle in Namen umsetzen kann.
Gibt es dafür so etwas wie Tabellen, etc.?
Also wenn etwa die Tasten (geraten) 60, 63 und 66 NoteOn sind, dann ist das ein "Fm7" und der Arduino zeigt mir diesen Wert dann an. Bei ungültigen Werten soll nichts (oder meinethalben ein ?) angezeigt werden.
Da ich autodidaktisch Gitarre und Keyboard gelernt habe, kannn ich keine Noten und von vielen Akkorden kenne ich die Namen nicht.
Ich weiß halt, wie man sie auf beiden Instrumenten spielt und wie sie sich anhören.
Ich hatte vor langer Zeit schon mal ein Keyboard (Yamaha), welches ein solches Display hatte. Demnach müsste das ja möglich sein, aber ich habe keinen Ansatz, dies softwaretechnisch umzusetzen.
Momentan speichere ich (für die RGB Anzeige) die NoteOn/Off Werte in einem Array (für 61 Tasten), ich hätte also bereits den Wert aller Einzelnoten.
Wenn ich Deine Frage richtig verstehe, dann geht es um einen Mustervergleich der einkommenden Noten mit einer Tabelle der Akkorde. Wird beispielsweise der fünfte Akkord in der Liste erkannt, kann der zugehörige Text angezeigt werden.
Programmtechnisch kann man das mit Feldern und deren Index lösen.
Und noch ein wenig Logik mit rein.
Für Akkorderkennung müssen mindestens 3 Noten aktiv sein.
Also alle Note-on Messages mittracken und wenn eben mindestens 3 aktiv sind, geht das Vergleichen los. Note-off terminiert das ggfls. vorzeitig.
Mit 4 oder mehr Noten wird's dann komplexer mit der Referenztabelle.
Ich würde mit einfachen Akkorden anfangen und schauen wie es läuft.
Hätte jemand so eine Akkord Tabelle? Ich finde dazu im Netz nichts, bzw. nur sehr allgemeine Aussagen.
Das Programmieren werde ich damit vielleicht schon hin bekommen dann.
Akkorde mit 3 und 4 Tasten würden mir schon reichen.
Und die wirst du kaum finden (die stecken meist in der Software von Programmen). Du musst dir das selber zusammenstellen. Such mal nach Piano Chord Charts. Da hast du die zum Accord gehörgen Tasten, daraus kannst du dir eine Tabelle zusammenstellen. Ich weiß das ist mühselig, ich kann auch keine Noten lesen. Spiele selber Gitarre nach Kopf und Gehör und Charts.
Hier gibts zb. einen Piano Chord generator.