Entdecken Sie: Wie die Spracherkennung im Offline-Modus tatsächlich funktioniert.

Akustisches Modell, Sprachmodell und warum kleine, lokale Modelle Wörter falsch verstehen, die sie falsch verstehen.

Zwei separate Probleme, eine Pipeline

Eine automatische Spracherkennung (ASR)-Engine löst zwei verschiedene Probleme nacheinander, und das Vermischen dieser Probleme ist die häufigste Ursache für Verwirrung darüber, was diese Systeme können und was nicht.

Das erste ist akustisch, das zweite sprachlich. Sie werden mit unterschiedlichen Daten trainiert und scheitern auf unterschiedliche Weise.

Das akustische Modell

Beantwortet die Frage: Welchen Phonemen ähnelt diese Wellenform am ehesten? Es hat noch nie einen Satz gelesen.

Es wurde mit Paaren aus (Audio, Phonemfolge) trainiert und hat eine rein akustische Zuordnung gelernt – den reinen Klang eines “t” im Vergleich zu einem “d”, unabhängig von jeglicher Bedeutung.

Das Sprachmodell

Beantwortet eine völlig andere Frage: Angesichts dieser vorgeschlagenen Phonem- oder Wortfolgen, welche davon ist tatsächlich ein Satz der Sprache?

Es wurde mit Text, nicht mit Audio, trainiert. Es weiß, dass “two points” in einem Kontext, der sich auf Interpunktion bezieht, viel wahrscheinlicher nach “add” folgt als “de points”, selbst wenn die beiden fast identisch klingen.

Vosk basiert auf Kaldi, einem Toolkit, das genau diese beiden Komponenten miteinander verbindet: ein neuronales akustisches Modell und ein statistisches Sprachmodell.

Sie sind durch einen gewichteten Decodiergraphen verbunden, der die wahrscheinlichste Wortfolge unter Berücksichtigung sowohl des Tons als auch der Grammatik sucht.

Warum versteht das kleine Modell “deux points” falsch?

Der akustische Teil eines kleinen Modells ist bei der Erkennung von Phonemen nicht wesentlich schlechter – die Einschränkung liegt im Sprachmodell, das damit gebündelt ist.

vosk-cli-dictation wird mit Vosks kleinen Modellen (etwa 50 MB pro Sprache) und nicht mit den großen Modellen (über ein Gigabyte) ausgeliefert. Dieses gebündelte Sprachmodell ist ein viel kleineres, viel weniger kontextbezogenes statistisches Modell der Sprache:

  • Ein großes Sprachmodell hat so viele echte Sätze gesehen, dass es in einem Satz über Formatierung “deux points” gegenüber “de points” stark bevorzugt, weil es dieses Muster bereits gesehen hat.
  • Ein kleines Modell hat viel weniger gesehen: Bei zwei Wortreihen, die fast identisch klingen – ein echter Homophon oder ein nahezu identischer Homophon bei ungezwungener Aussprache –, hat es viel weniger Informationen, um die Entscheidung korrekt zu treffen.

Das ist genau der Grund, warum config.yaml in vosk-cli-dictation eine recognition_aliases-Tabelle hat: Es ist keine Notlösung für einen Fehler, sondern die praktische Lösung für eine echte, strukturelle Eigenschaft der akustischen Unterscheidung.

Sie korrigieren die spezifischen Homophone, die Ihre eigene Stimme und Ihr Vokabular tatsächlich auslösen, einmalig, und das Werkzeug vermeidet dann diesen speziellen Fehler für Sie.

Was Ihnen ein größeres Modell konkret bietet

Eine bessere kontextuelle Unterscheidung wird durch Rechenleistung kompensiert, bei jeder einzelnen Äußerung, solange der Prozess läuft. Hier gibt es keine kostenlose Verbesserung.

Das kleine Modell – Standard

Etwa 50 MB pro Sprache. Es behält dasselbe akustische Prinzip bei und läuft problemlos im Hintergrund auf normaler Hardware.

Ein großes Modell

Der Austausch des kleinen französischen Modells gegen vosk-model-fr-0.22 bedeutet ungefähr 1,5 GB anstelle von ~50 MB. Das Sprachmodell erhält deutlich mehr Kontext, allerdings auf Kosten von mehr CPU- und RAM-Leistung zur Laufzeit, da ein größerer Graph bei jedem Teilergebnis durchsucht wird.

Der Kompromiss, den dieses Projekt eingeht, wird hier explizit genannt

Die Kommandozeilen-Diktierfunktion von vosk-cli verwendet standardmäßig die kleineren Modelle, damit sie problemlos im Hintergrund auf normaler Hardware läuft.

Sie behandelt unvermeidliche Fehler bei ähnlich klingenden Wörtern als ein Konfigurationsproblem, das einmal pro wiederholtem Fehler in einer YAML-Datei gelöst werden kann, die Sie lesen und bearbeiten können – anstatt als ein Problem des Modells, für das mehr Rechenleistung erforderlich wäre.

Ob dieser Kompromiss für Sie geeignet ist, hängt ganz von Ihrem Computer und Ihrem Vokabular ab.

Weitere Informationen finden Sie im Installations- und Konfigurationsleitfaden →