0

Ich benutze passphinx für die Spracherkennung mit einem spanischen akustischen Modell und einer JSGF-Grammatik, mit ordentlichen Ergebnissen bisher.Pocksphinx - ist Audio-Vorverarbeitung notwendig/empfohlen?

Ich bekomme jedoch falsche Erkennungsergebnisse mit Audios, die, zumindest für mein Ohr, perfekt verständlich erscheinen (nicht so viel Hintergrundrauschen, Sampling-Frequenz und Bit-Tiefe nach akustischen Modellparametern usw.).

Auch diese Audios, die nicht richtig erkannt werden, scheinen sich nicht sehr von denen zu unterscheiden, die korrekt erkannt werden (in der Tat klingen sie für mich ziemlich gleich).

Also, ich vermute, es gibt etwas im Audio, das es schwieriger zu erkennen macht, vielleicht einige Rauschfrequenzen oder andere Sachen, die gefiltert werden müssen? (Hintergrundgeräusche, "Pop" -Sounds von Sprache, Frequenzen außerhalb der Frequenz der menschlichen Stimme usw.)

Kurz gesagt, wissen Sie, ob Pocketsphinx bereits etwas davon tut, und wenn nicht, wissen Sie etwas Besseres? Übungsfilter/Transformation/etc, um auf eine Audiodatei angewendet zu werden, um die Ergebnisse der Spracherkennung zu verbessern?

Danke!

+0

Ich kann diese Frage nicht beantworten, aber ich kann sagen, es sieht so aus, als ob Sie ein XY-Problem haben: http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem Ohne Ihren Code zu teilen Es ist für niemanden möglich zu sagen, ob Sie eine Vorverarbeitung benötigen oder ob irgendwo ein Fehler in Ihrem Code ist. Seien Sie sicher, Ihren Code zu teilen und MVCE optimal zur Verfügung zu stellen: http://stackoverflow.com/help/mcve – bodangly

+0

@bodangly Ich verstehe, aber ich benutze passphinx, das eine Standard und sehr benutzte Bibliothek dafür ist. Also, meine Frage richtet sich an andere pocketsphinx Benutzer oder Entwickler mit Kenntnissen seiner Interna. (was bedeutet, dass ich bis jetzt nichts anderes als die API-Aufrufe von passphinx codiere, die trivial sind). – jotadepicas

+1

Sie müssen möglicherweise die Interna von PocketSphinx-Code instrumentieren, um genau festzustellen, was die Ursache für die unterschiedlichen Ausgabeentscheidungen ist. – hotpaw2

Antwort

1

Nein, jede Vorverarbeitung ist in der Regel ziemlich schädlich für die Genauigkeit der Spracherkennung.

Die modernen Spracherkennungsalgorithmen sind so ausgelegt, dass selbst geringfügige Vorverarbeitungen die Ergebnisse wesentlich verschlechtern. Es wird nicht leicht von Ihrem Ohr zu unterscheiden sein, da Ihre Spracherkennung Fähigkeiten weit überlegen sind als Computer. Dinge wie leichtes Echo, das hinzugefügt wurde, um die Natürlichkeit zu verbessern, oder einfache mp3-Komprimierung/Dekomprimierung können die Genauigkeit erheblich reduzieren.

Die Lösung hierfür ist, ein Modell aus dem gleichen Audio zu trainieren, das Sie erkennen möchten, z. B. trainieren Sie auf mp3-dekomprimiertem Audio, anstatt eines zu reinigen. Das Standardmodell ist auf ein sauberes Audio trainiert und das macht es nicht sehr robust für Soundmodifikationen. Ein solches Multi-Style-Training hat seine eigenen Nachteile, weil es Trainingsdaten sehr groß macht, so dass es immer noch Gegenstand laufender Forschung ist.