1 Punkte von GN⁺ 2026-02-01 | 1 Kommentare | Auf WhatsApp teilen
  • Um das Üben chinesischer Aussprache und Töne zu unterstützen, wurde ein CTC-basiertes Sprachmodell mit 9M Parametern selbst entwickelt und mit rund 300 Stunden Sprachdaten trainiert
  • Es verwendet eine Conformer-Encoder-Struktur, um sowohl lokale Sprachmerkmale als auch globalen Kontext zu erfassen, und kann durch Tokenisierung in Pinyin+Ton-Einheiten Aussprachefehler klar unterscheiden
  • Mit CTC-Loss wird auf Frame-Ebene bewertet, was der Nutzer tatsächlich ausgesprochen hat, und mit dem Viterbi-Algorithmus eine zeitliche Ausrichtung durchgeführt
  • Selbst nach der Verkleinerung des Modells von 75M auf 9M gab es kaum Genauigkeitsverlust; nach INT8-Quantisierung ist es mit etwa 11 MB sogar direkt im Webbrowser ausführbar
  • Die browserbasierte Demo zeigt das Potenzial eines On-Device-Systems zur Aussprachekorrektur, wobei eine Verbesserung der Datenqualität der Schlüssel für weitere Leistungssteigerungen ist

Überblick über das Modell zur Aussprachebewertung

  • Um die Schwierigkeiten beim Lernen der chinesischen Aussprache zu lösen, wurde ein kompaktes Sprachmodell zum Bewerten der Aussprache selbst trainiert
    • Verwendet wurden etwa 300 Stunden transkribierter Sprachdaten (AISHELL-1, Primewords)
    • Bereitgestellt in einer Form, die direkt im Browser ausgeführt werden kann
  • Bestehende Pitch-Visualisierungsmethoden erwiesen sich wegen Rauschen und Unterschieden in der Sprechweise als instabil; ein datenbasierter Ansatz war effektiver
  • Ziel war die Umsetzung eines On-Device Computer-Assisted Pronunciation Training (CAPT)-Systems ohne kommerzielle API

Modellarchitektur und Trainingsverfahren

  • Verwendet wird eine Struktur aus Conformer-Encoder + CTC-Loss
    • CNN erfasst akustische Merkmale in kurzen Zeitfenstern (z. B. zh vs z)
    • Transformer verarbeitet kontextuelle Tonmuster (z. B. tone sandhi)
  • Das CTC-Verfahren gibt Wahrscheinlichkeitsverteilungen pro Frame aus und bewertet so direkt die tatsächlich ausgesprochenen Phoneme
    • Das ``-Token wird genutzt, um Wiederholungen und Leerstellen auszurichten
    • Ohne automatische Korrektur wird genau das wiedergegeben, was tatsächlich ausgesprochen wurde

Tokenisierung und Alignment

  • Pinyin+Ton-Kombinationen werden als einzelnes Token definiert
    • Beispiel: zhong1 und zhong4 sind unterschiedliche Tokens
    • Der neutrale Ton wird einheitlich als Ton 5 (ma5) behandelt
    • Insgesamt 1.254 Tokens + ,
  • Mit dem Viterbi-Algorithmus wird der optimale Pfad zwischen Sprach-Frames und Tokens berechnet
    • Beispiel: Bei der Aussprache von „Nǐ hǎo“ werden die Bereiche für ni3 und hao3 getrennt

Modellverkleinerung und Leistung

  • Das ursprüngliche Modell mit 75M Parametern wurde auf 9M verkleinert
    • 75M: TER 4,83 %, Tone Accuracy 98,47 %
    • 9M: TER 5,27 %, Tone Accuracy 98,29 %
    • Der Genauigkeitsverlust war minimal, was darauf hindeutet, dass es sich um eine datengebundene (data-bound) Aufgabe handelt
  • Das FP32-Modell (37 MB) wurde per INT8-Quantisierung auf 11 MB reduziert
    • Über onnxruntime-web kann es direkt im Browser geladen werden

Alignment-Fehler und Korrekturen

  • Stille Abschnitte verzerrten die Aussprachebewertung
    • Beispiel: Vor der Aussprache von „我喜欢…“ wurde 1 Sekunde Stille fälschlich wo3 zugeordnet, was zu 0 Punkten führte
  • Lösung: Stille Frames bei der Punktberechnung ausschließen
    • Frames mit einer ``-Wahrscheinlichkeit von 0,7 oder höher werden herausgefiltert
    • Nach der Korrektur verbesserte sich der Konfidenzwert der ersten Silbe von 0,0 auf 0,99

Ergebnisse und Grenzen

  • Im Betatest war ein Effekt der Aussprachekorrektur spürbar
    • Das Modell bewertet sehr streng
  • Bei Muttersprachlern und Kinderstimmen sinkt die Genauigkeit
    • Die AISHELL-Daten bestehen überwiegend aus vorgelesener Sprache, daher gibt es Unterschiede bei Tempo und Intonation
    • Künftig müssen gesprochensprachliche Daten wie Common Voice ergänzt werden
  • Die Web-Demo ist etwa 13 MB groß und bietet eine vollständige Aussprachekorrektur bei einer Dateigröße, die kleiner ist als die der meisten Websites

1 Kommentare

 
GN⁺ 2026-02-01
Hacker-News-Kommentare
  • Vielen Dank für dieses wirklich tolle Projekt
    Allerdings war es seltsam, dass im Satz „我想学中文“ „wén“ als „guó“ erkannt wurde
    Das wirkt so, als hätte das Modell eher Wortstrukturen als Töne gelernt. Vermutlich ist dieser Bias entstanden, weil „Zhōng guó“ in den Trainingsdaten häufig vorkam
    Wie im Blogbeitrag beschrieben, scheint es kein Modell zu sein, das meine tatsächlich ausgesprochene Aussprache mitteilt, sondern eine Struktur, die aus 1254 möglichen Silben die nächstliegende zuordnet

    • Ich habe mehrfach „guó“ wiederholt, aber eine wiederholte Erkennung fand nicht statt
      Trotzdem gefällt mir dieser sprachzentrierte Lernansatz. Schriftbasierte Lernmethoden sind verwirrend, weil sich die Schreibweisen je nach Land unterscheiden. Für Anfänger hat selbst Pinyin viele verwirrende Zeichen
  • Die Idee und die UI wirkten intuitiv und waren beeindruckend
    Aber selbst ich als jemand aus Peking, der Standardchinesisch perfekt beherrscht, hatte Schwierigkeiten, einfache Aufgaben zu bestehen
    Im Beispiel „你好吃饭了吗“ war die Tonerkennung falsch, und „了“ müsste im Kontext „le“ statt „liǎo“ sein
    Viele machen sich Sorgen über Töne, aber in der Praxis ist die Kommunikation oft trotzdem möglich, auch wenn die Töne nicht perfekt sind
    Da sich die Intonation regional unterscheidet, verstehen sich die Leute meist auch dann gut, wenn sich Töne mischen. Statt sich zu sehr auf Töne zu fixieren, würde ich kontextorientiertes Lernen empfehlen

    • Als Muttersprachler würde ich widersprechen: Töne sind sehr wichtig
      Dass Menschen trotz regionaler Dialekte miteinander kommunizieren können, liegt daran, dass 1) sich die Tonunterschiede zwischen benachbarten Regionen nicht stark unterscheiden und 2) man, wenn man sich nicht versteht, auf Standardchinesisch (Putonghua) umschaltet
      Dass Chinesisch überhaupt existiert, verdankt sich dem Tonsystem. Wenn die Töne falsch sind, ist Kommunikation fast unmöglich
    • Aus Sicht von jemandem, der in Taiwan bis auf C1-Niveau gelernt hat, sind Töne am Anfang wichtig, aber mit wachsender Ausdrucksfähigkeit gleicht der Kontext mehr aus
      Ein Grund dafür, dass in China schriftzentriert kommuniziert wird, ist allerdings auch, dass sich Aussprache und Töne je nach Region unterscheiden und nur über Sprache oft keine Verständigung möglich ist
    • Unter Muttersprachlern ist Verständnis möglich, auch wenn sich Tonmuster unterscheiden, weil Grammatik und Intonation vorhersagbar sind; für Lernende gilt das nicht
      Lernende dazu zu motivieren, Töne zu ignorieren, ist riskant. Wenn Töne wirklich unwichtig wären, wären sie längst verschwunden
    • Das Problem mit „了“ war ein JavaScript-Bug und ist bereits behoben. Der Rest lässt sich mit vielfältigeren Datensätzen verbessern
    • Selbst wenn Töne nicht wichtig wären, gibt es viele Fälle wie 熊猫(xióngmāo) und 胸毛(xiōngmáo), bei denen Tonunterschiede zu völlig anderer Bedeutung führen
      Wenn der Kontext eng ist, führt das zu Verwirrung, daher bleiben Töne zentral. Außerdem braucht es mehr Datenanreicherung, etwa weil „吃“ als „shi2“ erkannt wird
  • Als fortgeschrittener Lernender habe ich extra einen Account erstellt, um Feedback zu hinterlassen
    Wenn man schnell spricht, klappt das Phonem-Tracking nicht gut und die Tonerkennung liegt daneben
    Wenn ich zum Beispiel „他是我的朋友“ in natürlichem Tempo spreche, wird „我“ als „de“ erkannt oder „是“ als „si“ verarbeitet
    Wenn ich langsam und deutlich spreche, wird es korrekt erkannt
    Auch Phänomene wie aufeinanderfolgende Tonveränderungen des dritten Tons (Tone Sandhi) sollten berücksichtigt werden. Es braucht eine Funktion, die Aussprache in natürlicher Konversation verarbeitet

    • Tonveränderungen sind ein Kernbestandteil der chinesischen Aussprache. Aktuell ist das eher auf Anfängerniveau und muss verbessert werden
    • Dank des Feedbacks wurde Unterstützung für sandhi (Tonveränderung) hinzugefügt. Es wurde darum gebeten zu sagen, ob es gut funktioniert
    • Ich hatte auch den Eindruck, dass Tonveränderungen nicht verarbeitet werden. Trotzdem ist die Idee wirklich großartig
    • Ich hatte dasselbe Problem. Vielleicht liegt es daran, dass ich „dapangzi“ bin, scherzte jemand
  • Für Sprecher europäischer Sprachen ist es sehr schwer, Chinesisch oder andere Tonsprachen zu lernen
    Das Gehör ist nicht an Töne gewöhnt, daher denkt man selbst, man spreche richtig, während Muttersprachler einen nicht verstehen

    • Als chinesischer Muttersprachler empfinde ich dagegen das Vokalsystem des Englischen als viel schwieriger
      Im Englischen unterscheiden sich die Vokale regional, und Unterschiede wie bei „done vs down“ oder „beat vs bit“ sind schwer zu erkennen
      Spanisch war dagegen wegen seines einfachen Vokalsystems viel leichter zu lernen
    • Deshalb verstehe ich, warum Chinesen bei der englischen oder deutschen Aussprache Fehler machen. Der Aufmerksamkeitsfokus ist ein anderer
    • Für Menschen, die nicht an Töne oder Tonhöhen gewöhnt sind, ist das wahnsinnig schwer, aber solche Tools machen den Prozess weniger schmerzhaft
      Als ich den japanischen Pitch Accent gelernt habe, hörte ich anfangs überhaupt keinen Unterschied, aber durch wiederholtes Training fing ich allmählich an, ihn zu hören
      Als mir klar wurde, dass es auch im Englischen Tonmuster gibt, etwa bei „uh-oh“, bekam ich ein Gefühl dafür
    • Manchmal werden selbst einfache Sätze nicht verstanden.
      Besonders problematisch ist die Gewohnheit, mit englischartiger Intonation Unsicherheit auszudrücken
    • Aber Töne sind gar nicht so schwer. Wirklich schwierig ist der Wortschatzumfang
      Töne und Grammatik sind Grundlagen, die man am Anfang lernt; in den folgenden Jahren fließt der Großteil der Anstrengung in das Memorieren von Wörtern
      Die eigentliche Schwierigkeit des Chinesischen sind der Mangel an gemeinsamem Wortschatz und das nicht-phonemische Schriftsystem
  • Es funktioniert gut, wenn man nur einzelne Wörter spricht, aber auf Satzebene oder in natürlichem Tempo gibt es viele Fehlklassifikationen
    Ich bin Muttersprachler mit einem Standardchinesisch-Zertifikat der Stufe 2A, aber selbst bei lockerer Aussprache treten Fehler auf
    Das Modell kann den Unterschied zwischen Alltagssprache und formeller Aussprache nicht erkennen

  • Als ich in Taiwan studiert habe, habe ich zum Einprägen der Töne mit der Hand Tonkurven in die Luft gezeichnet
    Das sah wohl wie ein verrückter Ausländer aus, war aber eindeutig wirksam
    Da regionale Akzentunterschiede groß sind, wäre es gut, Referenzdaten nach Muttersprachlern zu sammeln

    • In meinem Kurs gab es auch einen Schüler, der die Töne stark übertrieben ausgesprochen hat, am Ende aber die präziseste Aussprache hatte
      Ich bereue, ihn damals nicht nachgeahmt zu haben
    • Empfohlen wurde Mike Laoshis YouTube-Unterricht
    • Ich habe bisher auch nur mit ein paar Freunden getestet und überlege, die Region als Parameter einzustellen. Wenn man alle Dialekte trainiert, könnte das System zu nachsichtig werden
    • Das ist ähnlich wie bei Solfeggio-Training, bei dem Tonhöhen durch Handbewegungen ausgedrückt werden
    • Handbewegungen helfen besonders beim Lernen neuer Wörter. Wenn man die Töne mit den Fingern markiert, bleiben sie besser im Gedächtnis
  • Ich bin Muttersprachler, aber die Demo konnte meine Aussprache nicht erkennen
    Wahrscheinlich lag es an den Hintergrundgeräuschen. Neben mir schaute meine Tochter gerade Zeichentrick

    • Aktuell reagiert das System empfindlich auf Hintergrundgeräusche, aber es wird bereits eine mit Datenaugmentierung verbesserte Version trainiert
  • Wirklich ein tolles Projekt, aber ich würde raten, sich nicht zu sehr auf externes Feedback zu verlassen
    Der Kern der Aussprachekorrektur ist Hörtraining. Auch erwachsene Lernende haben noch Neuroplastizität, daher sollte man das Gehör mit Minimalpaar-Übungen und Ähnlichem trainieren
    Dadurch verbessern sich nicht nur die Aussprache, sondern auch Hörverständnis und die Geschwindigkeit beim Wortschatzerwerb deutlich

    • Ich entwickle Phrasing.app und stimme diesem Rat vollkommen zu
      Im Vergleich zu SST war Text-Audio-Synchronisierung (im Karaoke-Stil) viel effektiver
      Dass Nutzer ihre eigene Stimme über das Original legen und Unterschiede selbst erkennen, war für das Lernen sehr nützlich
    • Ich denke genauso. Hören ist der Kern des Sprechens
      Statt sich die Töne jedes Wortes einzeln einzuprägen, ist es viel natürlicher, die Aussprache von Muttersprachlern direkt nachzuahmen
  • Beeindruckend ist, dass alles mit ONNX Runtime Web vollständig im Browser läuft
    Der Ansatz, durch Forced Alignment Bedeutungsraten auszuschließen und nur das Tonproblem zu isolieren, ist klug
    In künftigen Versionen wäre es noch nützlicher für Sprechtempo-Übungen, wenn Tonveränderungen (sandhi) als Nachverarbeitungsschritt hinzukämen

  • Ich hätte gern einen Pinyin-Modus. Ich lerne nur das Sprechen und nicht das Lesen von Schriftzeichen
    Mit meiner Flashcard-Web-App organisiere ich gerade meinen Wortschatz

    • Das sei ein guter Vorschlag gewesen, daher wurde eine Pinyin-Umschaltfunktion hinzugefügt
    • Ich sehe das genauso. Allerdings war die Konsonantenerkennung frustrierend schlecht. So schlecht kann meine Aussprache doch nicht sein
    • Noch eine Stimme für den Pinyin-Modus