2016-04-15 13 views
1

Ich bin gerade dabei, ein Tool zu finden, das Audiodateien transkribieren kann. Das erste, was ich mir ansehe, ist die Möglichkeit, die System.Speech-API von Microsoft zu verwenden.Microsoft SAPI System.Speech für die Transkription

Wenn Sie durch die msdn documentation schauen, scheint es, dass dieses Werkzeug besser für kurze Sprachbefehle geeignet ist, bei denen Sie etwas darüber wissen, was Sie vom Lautsprecher erwarten können. Es erfordert die Erstellung von Grammatik für eine gute Genauigkeit.

Kann jemand, der Erfahrung mit dieser API hat, bestätigen, ob dies richtig ist?

Antwort

1

Ja und nein.

Während theoretisch jeder Spracherkennungs SAPI implementieren könnte ( und daher theoretisch hat ANY Genauigkeitsgrad), die Lager Fenster Erkenner ich gefunden habe, ist tief gut für Kommando und Kontrolle, aber nicht so viel für die freie Form Diktat oder Dinge wie Keyword-Spotting.

Das heißt nicht, dass Sie eine robuste Auswahl von Wörtern nicht erkennen konnten und es sehr genau haben. Ich habe SAPI erkannt, Klingonisch gesprochen und Grammatikdateien massiv formatiert. Nur wenn Sie versuchen, Ihren eigenen Erkenner oder sogar Ihre eigene SAPI-Stimme zu erstellen, gibt es einen absoluten Mangel an Informationen. In der Regel sind die Menschen, die Ihnen helfen könnten, wahrscheinlich nicht genau, weil es so schwierig ist oder die Informationen, die sie haben, proprietär sind.

Wenn Sie ein größeres Lexikon haben, das Sie in freier Form erkannt haben möchten, würden Sie wahrscheinlich besser mit etwas wie Sphinx bedient werden.

2

Um auf Lesley Antwort zu erweitern -

Microsoft hat 3 verschiedene SR-Motoren zur Verfügung, mit unterschiedlichen Vor- und Nachteilen.

  • System.Speech.Recognition (oder Desktop-SAPI) - unterstützt Single- Diktat und Eingabe von einer Wave-Datei (oder einem anderen Strom), aber der Erkennungs hat für eine bestimmte Person, um ausgebildet werden gut zu erhalten Anerkennung. Außerdem muss die Eingangsquelle eine hohe Qualität von haben (rauscharm, 16 Bit, 22KHz Abtastrate).

    • Microsoft.Speech.Recognition (oder SAPI Server) - unterstützt nicht Diktat überhaupt, aber Eingabe dauert von einer Wave-Datei (oder einem anderen Stream), Ausbildung nicht braucht, und arbeitet mit geringerer Qualität Eingang Quellen (mehr Rauschen, 8 Bit, 8 KHz Abtastrate).

    • Windows.Media.Speech.Recognition - die neue Windows Runtime Sprache Erkennung API. Unterstützt Diktat, benötigt kein Training, funktioniert mit schlechteren Eingangsquellen, nimmt jedoch keine Eingaben aus einer Wave-Datei und erfordert, dass Ihre App auf der Windows-Laufzeit basiert.

Für eine Transkription Szenario, würde ich die Windows.Media.Speech.Recognition Tools, untersuchen und zu so etwas wie Virtual Audio Cable sehe ein gefälschtes Standard-Audio-Eingabegerät zu erstellen.

+0

Dies ist die objektivste und beste Antwort, wirklich. –