Best Practices für die Bereitstellung von Daten für die Speech-to-Text API

Dieses Dokument enthält Empfehlungen zur Bereitstellung von Sprachdaten für die Speech-to-Text API. Diese Richtlinien sorgen für mehr Effizienz und Genauigkeit sowie angemessene Antwortzeiten des Dienstes. Die Speech-to-Text-API funktioniert am besten, wenn sich die an den Dienst gesendeten Daten innerhalb der Parameter befinden, die in diesem Dokument beschrieben werden.

Wenn Sie diese Richtlinien einhalten und dennoch nicht die gewünschten Ergebnisse erhalten, informieren Sie sich unter Fehlerbehebung und Support.

Für optimale Ergebnisse... Wenn möglich, vermeiden Sie...
Erfassen Sie Audios mit einer Abtastrate von mindestens 16.000 Hz. Niedrigere Abtastraten können die Erkennungsgenauigkeit beeinträchtigen. Vermeiden Sie jedoch ein erneutes Abtasten. In der Telefonie beträgt die Abtastrate oft 8.000 Hz. Diese Rate sollte an den Dienst gesendet werden.
Verwenden Sie einen verlustfreien Codec zur Aufnahme und Übertragung von Audios. Empfohlen werden LINEAR16 oder FLAC. Die Verwendung von MP3, MP4, M4A, µ-law und a-law oder anderen verlustbehafteten Codecs für die Aufzeichnung oder Übertragung können die Erkennungsgenauigkeit verringern. Wenn Ihr Audio bereits codiert ist und diese Codierung nicht von der API unterstützt wird, codieren Sie es mit einer der beiden verlustfreien Codierungen FLAC oder LINEAR16. Wenn Ihre Anwendung einen verlustbehafteten Codec verwenden muss, um Bandbreite zu sparen, empfehlen wir die Codecs AMR_WB, OGG_OPUS oder SPEEX_WITH_HEADER_BYTE in dieser bevorzugten Reihenfolge.
Die Erkennungsmethode ist so konzipiert, dass Hintergrundstimmen und Rauschen ohne zusätzliche Rauschunterdrückung verarbeitet werden. Für optimale Ergebnisse positionieren Sie das Mikrofon jedoch möglichst nah am Sprecher, besonders wenn Hintergrundgeräusche vorhanden sind. Übermäßiges Hintergrundrauschen und Echos können die Genauigkeit reduzieren, besonders wenn auch noch ein verlustbehafteter Codec verwendet wird.
Wenn Sie Audio von mehreren Personen aufnehmen und jede Person auf einem separaten Kanal aufgezeichnet wird, senden Sie jeden Kanal separat, um die besten Erkennungsergebnisse zu erhalten. Wenn alle Sprecher in einem einzigen Kanal gemischt aufgezeichnet wurden, senden Sie die Aufzeichnung so, wie sie ist. Wenn mehrere Personen gleichzeitig oder in unterschiedlichen Lautstärken sprechen, kann dies als Hintergrundgeräusch interpretiert und ignoriert werden.
Verwenden Sie Formulierungshinweise, um Namen und Begriffe zum Vokabular hinzuzufügen und so die Erkennungsgenauigkeit bestimmter Wörter und Satzteile zu erhöhen. Die Erkennungsmethode verfügt bereits über ein großes Vokabular. Manche Spezialbegriffe und die korrekte Aussprache von Namen werden aber eventuell nicht erkannt.
Für kurze Suchanfragen oder Befehle verwenden Sie StreamingRecognize, wobei single_utterance auf "true" gesetzt ist. Dies optimiert die Erkennung für kurze Äußerungen und minimiert auch die Latenz. Verwenden Sie Recognize oder LongRunningRecognize für kurze Abfragen oder Befehle.

Abtastrate

Wenn möglich, stellen Sie die Abtastrate der Audioquelle auf 16.000 Hz ein. Andernfalls setzen Sie sample_rate_hertz auf die native Samplefrequenz der Audioquelle (statt Re-Sampling).

Framegröße

Die Streamingerkennung erkennt Live-Audios, die von einem Mikrofon oder einer anderen Audioquelle erfasst werden. Der Audiostream wird in sogenannte Frames aufgeteilt und in aufeinanderfolgenden StreamingRecognizeRequest-Nachrichten gesendet. Jede beliebige Framegröße ist zulässig. Größere Frames sind effizienter, fügen aber Latenzzeiten hinzu. Eine Framegröße von 100 Millisekunden wird empfohlen, da diese einen optimalen Ausgleich zwischen Latenz und Effizienz schafft.

Vorverarbeitung von Audios

Es empfiehlt sich, Audios bereitzustellen, die so sauber wie möglich sind und eine gute Qualität haben. Außerdem sollten Sie für ein gut positioniertes Mikrofon sorgen. Wenn Sie eine das Rauschen reduzierende Signalverarbeitung auf das Audio anwenden, bevor Sie dieses an den Dienst senden, wird dadurch in den meisten Fällen die Erkennungsgenauigkeit reduziert. Der Dienst wurde so entwickelt, dass Rauschen im Audio automatisch behandelt wird.

Für optimale Ergebnisse:

  • Positionieren Sie das Mikrofon so nah wie möglich am Sprecher, besonders wenn Hintergrundgeräusche vorhanden sind.
  • Vermeiden Sie das Übersteuern von Audiosignalen.
  • Verwenden Sie keine automatische Verstärkungsregelung (automatic gain control = AGC).
  • Alle Verarbeitungsmethoden zur Rauschunterdrückung sollten deaktiviert werden.
  • Hören Sie sich einige Beispiel-Audiodateien an. Diese sollten klar klingen, ohne Verzerrungen oder unerwartetes Rauschen.

Anfragekonfiguration

Geben Sie eine möglichst genaue Beschreibung der Audiodateien an, die Sie in der Anfrage an die Speech-to-Text API senden. Wenn in RecognitionConfig die richtigen Werte für sampleRateHertz, encoding und languageCode beschrieben sind, erhalten Sie für Ihre Anfrage eine äußerst genaue Transkription und Abrechnung.