Best Practices

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

Für optimale Ergebnisse... Wenn möglich, vermeiden Sie...
Erfassen Sie Audios mit einer Abtastrate von mindestens 16.000 Hz. Legen Sie andernfalls die Abtastrate (sample_rate_hertz) so fest, dass sie mit der nativen Abtastrate der Audioquelle übereinstimmt (statt erneutem Abtasten). Niedrigere Abtastraten können die Erkennungsgenauigkeit beeinträchtigen. Entsprechend verringert sich auch die Übersetzungsgenauigkeit. 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 mu-law oder anderen verlustbehafteten Codecs während der Aufzeichnung oder Übertragung kann die Genauigkeit der Erkennung beeinträchtigen. 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 den Codec AMR_WB oder OGG_OPUS in dieser bevorzugten Reihenfolge.
Verwenden Sie den Codec LINEAR16 für eine gute Streamingantwortlatenz. Andere Codec-Typen können die Latenz der Streamingantwort ebenfalls erhöhen, da sie einen zusätzlichen Decodierungsschritt erfordern. Bei demselben Codec kann eine höhere Abtastrate eine höhere Latenz haben.
Positionieren Sie das Mikrofon so nah wie möglich am Sprecher, insbesondere wenn Hintergrundgeräusche vorhanden sind. Die Erkennungsmethode ist so konzipiert, dass Hintergrundstimmen und Rauschen ohne zusätzliche Rauschunterdrückung ignoriert werden. Übermäßiges Hintergrundrauschen und Echos können die Genauigkeit reduzieren, insbesondere wenn ein verlustbehafteter Codec verwendet wird.
Verwenden Sie ein optimiertes Modell, um bei Hintergrundgeräuschen bessere Ergebnisse zu erzielen. Ein nicht optimiertes Modell funktioniert möglicherweise bei Audio mit Rauschen/Echo nicht optimal.
Geben Sie source_language_code mit dem Sprachcodeformat "Sprache-Region" an, und target_language_code mit dem Sprachcode ohne Region (außer zh-CN und zh-TW). Wenn die Region in source_language_code nicht angegeben ist, wird die Standardregion ausgewählt, die möglicherweise nicht der tatsächlichen Sprachregion entspricht, und die Genauigkeit wird verringert. target_language_code benötigt keine Region, da die Übersetzung Text ist, aber zh-CN und zh-TW unterscheiden sich im Text.

Einzelne Äußerung

Für kurze Abfragen oder Befehle verwenden Sie StreamingTranslateSpeechConfig, wobei single_utterance auf "true" gesetzt ist. Dies optimiert die Erkennung für kurze Äußerungen und minimiert auch die Latenz. Der Dienst beendet die Übersetzung automatisch, wenn es lange still bleibt. Wenn Sie den Modus "single_utterance" verwenden, gibt der Dienst als Antwort ein END_OF_SINGLE_UTTERANCE als speech_event_type zurück. Der Client sollte keine Anfragen mehr senden, wenn er die Antwort END_OF_SINGLE_UTTERANCE erhält, und weiterhin die verbleibenden Antworten empfangen.

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 StreamingTranslateSpeechRequest-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 Erkennungsdienst ist für die Verarbeitung von Audiodaten mit Rauschen konzipiert.

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

Achten Sie darauf, die mit Ihrer Anfrage an die Media Translation API gesendeten Audiodaten genau zu beschreiben. Wenn in TranslateSpeechConfig die richtigen Werte für sample_rate_hertz, audio_encoding, source_language_code und target_language_code beschrieben sind, erhalten Sie für Ihre Anfrage die genaueste Transkription und Abrechnung.