Warum funktioniert die Akkord-Erkennung in Strum nicht richtig?
- Kurzüberblick: was „Strum“ macht und wo das Problem liegt
- Signal- und Aufnahmeprobleme
- Limitierungen der Pitch- und Spektralanalyse
- Modellannahmen und Harmonielehre
- Zeitliche Akkordwechsel und Polyphonie
- Implementierungs- und Trainingsfehler
- Was kann man tun?
Kurzüberblick: was „Strum“ macht und wo das Problem liegt
Strum versucht aus einem Audiosignal die gespielten Akkorde zu bestimmen, üblicherweise durch Erkennung der im Signal vorhandenen Tonhöhen und deren Zuordnung zu Akkordtypen. Wenn das Ergebnis falsch oder unzuverlässig ist, liegt das meist nicht an einem einzelnen Fehler, sondern an mehreren zusammenwirkenden Faktoren: Signalqualität, algorithmische Annahmen, Harmonikalität von Akkorden und Implementierungsdetails.
Signal- und Aufnahmeprobleme
Die Grundlage jeder Erkennung ist ein sauberes Eingangssignal. Rauschen, Hall, Hintergrundinstrumente oder eine schlechte Mikrofonposition führen dazu, dass Obertöne und Grundfrequenzen verschmiert werden. Verzerrte oder leicht detunierte Saiten verändern die Peak-Positionen in der Frequenzanalyse. Wenn Strum nicht ausreichend vorverarbeitet (Rauschunterdrückung, Gain-Normalisierung, Fensterung), werden falsche oder zusätzliche Tonhöhen erkannt, was zu fehlerhaften Akkordvorhersagen führt.
Limitierungen der Pitch- und Spektralanalyse
Viele Akkorderkenner arbeiten mit Short-Time Fourier Transform (STFT) oder ähnlichen Verfahren. Diese haben eine begrenzte Zeit-Frequenz-Auflösung: kurze Fenster liefern schlechte Frequenzauflösung, lange Fenster verschmieren schnelle Änderungen. Bei Anschlägen und schnellen Wechseln erkennt der Algorithmus entweder nur transienten Inhalt oder verwischt Harmonien. Außerdem können Obertöne von tiefen Saiten mit Grundtönen höherer Saiten kollidieren, wodurch falsche Tonhöhen detektiert werden. Fehlt ein robuster Peak-Picking- und Harmonie-Prüfungs-Schritt, werden falsche Notenkombinationen als Akkorde interpretiert.
Modellannahmen und Harmonielehre
Einfachere Erkennungsstrategien gehen davon aus, dass ein Akkord durch eine feste Menge diskreter Noten repräsentiert ist (z. B. Dur = Grundton, große Terz, Quinte). In Realität fehlen Töne (verstimmte oder nicht angeschlagene Saiten), Zusatztöne (7, 9, Sus), Voicings und Inversions ändern die Spektralstruktur. Wenn Strum starre Muster erwartet, führt das zu Fehlklassifikationen bei „unvollständigen“ oder erweiterten Akkorden. Ebenso können modale oder nicht-temperierte Intonationen die Zuordnung stören.
Zeitliche Akkordwechsel und Polyphonie
Bei schnellen Akkordwechseln oder arpeggierten Akkorden erscheinen zeitlich überlappende Partialtöne. Ein Algorithmus, der zeitlich aggregiert oder nur einen kurzen Mittelwert nimmt, kann Übergangsanteile als separate Akkorde lesen. Polyphone Pitch-Tracker sind schwer zu implementieren; ohne robuste Mehrklang-Analyse entstehen Mischklassifikationen.
Implementierungs- und Trainingsfehler
Wenn Strum maschinelles Lernen nutzt, sind schlechte Trainingsdaten, ungeeignete Datenaugmentation oder ein unausgewogenes Labelset häufige Ursachen. Ein Modell, das fast nur offene Dur-/Moll-Beispiele sah, wird bei Jazz-Voicings scheitern. Fehlende Transpositionsinvarianz, unzureichende Regularisierung oder Overfitting auf Aufnahmebedingungen verschlechtern die Generalisierung. Auch Bugs in der Feature-Pipeline (z. B. falsche Sampling-Rate-Konvertierung, Phasenfehler) führen zu scheinbar zufälligen Fehlern.
Was kann man tun?
Verbesserungen erfordern mehrere Schritte: bessere Vorverarbeitung (Rauschreduktion, automatische Transpositionserkennung), robustere Mehrklang-Pitch-Estimation, flexible Akkordmodelle, zeitliche Segmentierung und, falls ML genutzt wird, diversere Daten und spezialisierte Architektur. Zusätzlich hilft eine Fehleranalyse anhand bekannter Testfälle, um zu sehen, ob Probleme systematisch (z. B. bei Moll-Akkorden, schnellen Wechseln) oder zufällig sind.
Wenn du möchtest, kann ich konkrete Diagnoseschritte vorschlagen oder anhand von Beispielaufnahmen prüfen, welche der oben genannten Ursachen bei deiner Instanz von Strum wahrscheinlich sind.
