Grundlegende KonzepteBasic concepts

Hinweis

Der neue Spracherkennungsdienst und das SDK ersetzen die Bing-Spracheingabe, deren Funktionsfähigkeit am 15. Oktober 2019 endet.The new Speech Service and SDK is replacing Bing Speech, which will no longer work starting October 15, 2019. Informationen zum Umstieg auf den Spracherkennungsdienst finden Sie unter Migration von der Bing-Spracheingabe zum Spracherkennungsdienst.For information on switching to the Speech Service, see Migrating from Bing Speech to the Speech Service.

Auf dieser Seite werden einige grundlegende Konzepte im Spracherkennungsdienst von Microsoft beschrieben.This page describes some basic concepts in Microsoft speech recognition service. Wir empfehlen Ihnen, diese Seite zu lesen, bevor Sie die Spracherkennungs-API von Microsoft in der Anwendung verwenden.We recommend you to read this page before using Microsoft speech recognition API in your application.

Grundlegendes zur SpracherkennungUnderstanding speech recognition

Wenn Sie hier zum ersten Mal eine sprachaktivierte Anwendung erstellen oder einer vorhandenen Anwendung Sprachfunktionen hinzufügen, erleichtert dieser Abschnitt Ihnen den Einstieg.If this is the first time you're creating a speech-enabled application, or if it's the first time you're adding speech capabilities to an existing application, this section helps you get started. Wenn Sie bereits über Erfahrung mit sprachaktivierten Anwendungen verfügen, können Sie diesen Abschnitt auch überfliegen bzw. vollständig überspringen, wenn Sie über entsprechende Routine mit sprachfähigen Anwendungen verfügen und nur an den Protokolldetails interessiert sind.If you already have some experience with speech-enabled applications, you may choose to just skim this section, or you may skip it entirely if you're an old hand at speech and you want to get right to the protocol details.

AudiodatenströmeAudio streams

Der Audiodatenstrom steht bei den grundlegenden Konzepten der Sprache an erster Stelle.Foremost among the basic concepts of speech is the audio stream. Im Gegensatz zu einem Tastendruck, der zu einem einzelnen Zeitpunkt auftritt und eine einzige Information enthält, ist eine gesprochene Anforderung über Hunderte von Millisekunden verteilt und enthält viele Kilobytes an Informationen.Unlike a keystroke, which occurs at a single point in time and contains a single piece of information, a spoken request is spread over hundreds of milliseconds and contains many kilobytes of information. Die Dauer der gesprochenen Äußerungen stellt Entwickler, die in ihren Anwendungen eine optimierte und elegante Spracherfahrung bieten möchten, vor einige Probleme.The duration of spoken utterances presents some difficulty to developers looking to provide a streamlined and elegant speech experience for their application. Die heutigen Computer und Algorithmen führen eine Sprachtranskription in ungefähr der Hälfte der Dauer der Äußerung durch, d.h. eine Äußerung von 2 Sekunden Dauer kann in ungefähr 1 Sekunde transkribiert werden, aber jede Anwendung, bei der eine Verzögerung von 1 Sekunde bei der Verarbeitung auftritt, ist weder optimiert noch elegant.Today's computers and algorithms perform speech transcription in approximately half of the duration of the utterance, so a 2-second utterance can be transcribed in roughly 1 second, but any application that experiences a 1-second delay in processing user is neither streamlined nor elegant.

Glücklicherweise gibt es Möglichkeiten, die Transkriptionszeit zu „verstecken“, indem die Transkription an einem Teil der Äußerung durchgeführt wird, während der Benutzer einen anderen Teil spricht.Fortunately, there are ways of "hiding" the transcription time by performing transcription on one part of the utterance while the user is speaking another part. Wenn z.B. eine 1-Sekunden-Äußerung in 10 Blöcke von 100 Millisekunden aufgeteilt und ein Block nach dem anderen transkribiert wird, können über 450 der insgesamt für die Transkription erforderlichen 500 Millisekunden „versteckt“ werden, sodass der Benutzer nicht bemerkt, dass die Transkription durchgeführt wird, während er spricht.For example, by splitting a 1-second utterance into 10 chunks of 100 milliseconds and by performing transcription on each chunk in turn, over 450 of the total 500 milliseconds required for transcription can be "hidden" so that the user is unaware transcription is being performed while he/she is speaking. Beachten Sie bei diesem Beispiel, dass der Dienst die vorherigen 100 Millisekunden der Audioaufzeichnung transkribiert, während der Benutzer die nächsten 100 spricht; wenn der Benutzer also aufhört zu sprechen, muss der Dienst nur ungefähr 100 Millisekunden der Audioaufzeichnung transkribieren, um ein Ergebnis zu erzeugen.When thinking about this example, remember that the service is performing transcription on the previous 100 milliseconds of audio while the user is speaking the next 100, so when the user stops speaking, the service will only have to transcribe roughly 100 milliseconds of audio to produce a result.

Um diese Benutzererfahrung zu realisieren, werden gesprochene Audioinformationen in Blöcken erfasst und transkribiert, während der Benutzer spricht.To achieve this user experience, spoken audio information is collected in chunks and transcribed as the user speaks. Diese Audioblöcke stammen aus dem Audiodatenstrom, und das Senden dieser Audioblöcke an den Dienst wird als Audiostreaming bezeichnet.These audio chunks collectively from the audio stream, and the process of sending these audio chunks to the service is called audio streaming. Audiostreaming ist ein wichtiger Teil jeder sprachaktivierten Anwendung; das Abstimmen der Blockgröße und Optimieren der Streamingimplementierung gehören zu den wirkungsvollsten Maßnahmen zur Verbesserung der Benutzerfreundlichkeit Ihrer Anwendung.Audio streaming is an important part of any speech-enabled application; tuning the chunk size and optimizing the streaming implementation are some of the most impactful ways of improving your application's user experience.

MikrofoneMicrophones

Personen nehmen Audioinformationen mit ihren Ohren wahr, unbelebte Hardware benötigt hierzu Mikrofone.People process spoken audio using their ears, but inanimate hardware uses microphones. Um Sprache in einer Anwendung zu aktivieren, müssen Sie das Mikrofon, das den Audiodatenstrom liefert, in Ihre Anwendung integrieren.To enable speech in any application, you need to integrate with the microphone providing the audio stream for your application.

Die APIs für Ihr Mikrofon müssen Ihnen ermöglichen, die Aufnahme von Audiobytes mit dem Mikrofon zu beginnen und zu beenden.The APIs for your microphone must allow you to start and stop receiving audio bytes from the microphone. Sie müssen entscheiden, welche Benutzeraktionen die Aufnahmebereitschaft des Mikrofons auslösen.You need to decide what user actions will trigger the microphone to start listening for speech. Sie entscheiden, ob die Aufnahmebereitschaft durch einen Tastendruck ausgelöst wird, oder ob ein Spotter das Mikrofon permanent überwacht, der auf ein Schlüsselwort oder Aktivierungswort reagiert, und die Ausgabe dieses Moduls verwendet wird, um das Senden von Audiodaten an den Microsoft Speech Service auszulösen.You may choose to have a button press trigger the start of listening, or you may choose to have a key word or wake word spotter always listening to the microphone and to use the output of that module to trigger sending audio to the Microsoft Speech Service.

Ende der SpracheingabeEnd of speech

Zu erkennen, wann ein Sprecher aufhört zu sprechen, ist für Menschen kein Problem, aber außerhalb von Laborbedingungen ziemlich schwierig.Detecting when a speaker has stopped speaking seems simple enough for humans but is a rather difficult problem outside of laboratory conditions. Es reicht nicht aus, einfach auf völlige Stille nach einer Äußerung zu reagieren, da Umgebungsgeräusche dies häufig erschweren.It is not enough to simply look for pure silence after an utterance, since there is often a lot of ambient noise to complicate things. Der Microsoft Speech Service funktioniert hervorragend, wenn es darum geht, schnell zu erkennen, wenn ein Benutzer aufhört zu sprechen, und der Dienst kann Ihre Anwendung hierüber informieren, doch in dieser Konstellation erfährt ihre Anwendung zuletzt, dass der Benutzer aufhört zu sprechen.The Microsoft Speech Service does an excellent job of quickly detecting when a user has stopped speaking, and the service can inform your application of this fact, but this arrangement does mean that your application is the last to know when the user stop speaking. Dies unterscheidet sich grundlegend von anderen Formen der Eingabe, bei denen Ihre Anwendung als erste weiß, wann die Benutzereingabe beginnt und endet.This isn't at all like other forms of input where your application is the first to know when the user's input starts and ends.

Asynchrone DienstantwortenAsynchronous service responses

Aus der Tatsache, dass Ihre Anwendung über den Abschluss der Benutzereingabe informiert sein muss, resultieren keine Leistungseinbußen oder Komplikationen bei der Programmierung der Anwendung, aber dies erfordert, dass Sie Überlegungen zu Sprachanforderungen anstellen, die sich von den Anforderungs-/Antwortmustern unterscheiden, mit denen Sie vertraut sind.The fact that your application needs to be informed of when user input is complete doesn't impose any performance penalties or programming difficulties on your application, but it does require that you think about speech requests differently from the input request/response patterns with which you are familiar. Da Ihre Anwendung nicht weiß, wann der Benutzer aufhört zu sprechen, muss die Anwendung das Audiostreaming an den Dienst fortsetzen und gleichzeitig und asynchron auf eine Antwort des Diensts warten.Since your application won't know when the user stops speaking, your application must continue to stream audio to the service while simultaneously and asynchronously waiting on a response from the service. Dieses Muster unterscheidet sich von Anforderungs-/Antwortwebprotokollen wie HTTP.This pattern is unlike other request/response web protocols like HTTP. In diesen Protokollen müssen Sie eine Anforderung abschließen, bevor Sie eine Antwort empfangen; beim Protokoll des Microsoft Speech Service erhalten Sie Antworten, während Sie weiterhin Audiodaten für die Anforderung übertragen.In those protocols, you must complete a request before receiving any response; in the Microsoft Speech Service protocol, you receive responses while you are still streaming audio for the request.

Hinweis

Diese Funktion wird bei Verwendung der Spracherkennungs-HTTP-REST-API nicht unterstützt.This feature is not supported when using Speech HTTP REST API.

TurnsTurns

Sprache ist ein Informationsträger.Speech is a carrier of information. Wenn Sie sprechen, möchten Sie Informationen, über die Sie verfügen, einer Person vermitteln, die diese Informationen hört.When you speak, you are trying to convey information that is in your possession to someone who is listening for that information. Wenn Sie Informationen vermitteln, sprechen und hören Sie in der Regel abwechselnd.When conveying information, you usually take turns speaking and listening. Ebenso interagiert Ihre sprachaktivierte Anwendung mit Benutzern durch abwechselndes Hören und Antworten, auch wenn bei Ihrer Anwendung in der Regel das Hören überwiegt.Likewise, your speech-enabled application interacts with users by alternately listening and responding, although your application usually does most of the listening. Die gesprochene Benutzereingabe und die Antwort des Diensts auf diese Eingabe wird als Turn bezeichnet.The user's spoken input and the service response to this input is called a turn. Ein Turn beginnt, wenn der Benutzer spricht, und endet, wenn Ihre Anwendung die Behandlung der Antwort des Spracherkennungsdiensts abgeschlossen hat.A turn starts when the user speaks and ends when your application has completed handling of the speech service response.

TelemetrieTelemetry

Das Erstellen eines sprachaktivierten Geräts oder einer Anwendung kann auch für erfahrene Entwickler eine Herausforderung sein.Creating a speech-enabled device or application can be challenging, even for experienced developers. Protokolle auf Datenstrombasis wirken auf den ersten Blick entmutigend, und wichtige Details wie die Erkennung der Stille sind möglicherweise völlig neu.Stream-based protocols often seem daunting at first glance, and important details like silence detection may be completely new. Da sehr viele Meldungen erfolgreich gesendet und empfangen werden müssen, um ein einzelnes Anforderung/Antwort-Paar abzuschließen, ist es sehr wichtig, vollständige und genaue Daten zu diesen Meldungen zu sammeln.With so many messages needing to be successfully sent and received to complete a single request/response pair, it is very important to collect complete and accurate data about those messages. Das Protokoll des Microsoft Speech Service sorgt für die Erfassung dieser Daten.The Microsoft Speech Service protocol provides for the collection of this data. Stellen Sie unbedingt sicher, dass Sie die erforderlichen Daten so genau wie möglich bereitstellen; mit vollständigen und genauen Daten helfen Sie sich selbst – sollten Sie jemals Hilfe vom Team des Microsoft Speech Service bei der Problembehandlung Ihrer Clientimplementierung benötigen, ist die Qualität der von Ihnen gesammelten Telemetriedaten für die Problemanalyse entscheidend.You should make every effort to supply the required data as accurately as possible; by supplying complete and accurate data, you will be helping yourself -- should you ever need help from the Microsoft Speech Service Team in troubleshooting your client implementation, the quality of the telemetry data you have gathered will be critical for problem analysis.

Hinweis

Diese Funktion wird bei Verwendung der Spracherkennungs-REST-API nicht unterstützt.This feature is not supported when using speech recognition REST API.

Anwendungszustände der SpracherkennungSpeech application states

Die Schritte, mit denen Sie die Spracheingabe in Ihrer Anwendung aktivieren, unterscheiden sich ein wenig von den Schritten für andere Formen der Eingabe, z.B. Mausklicks oder Tippen mit dem Finger.The steps you take to enable speech input in your application are a little different than the steps for other forms of input such as mouse clicks or finger taps. Sie müssen verfolgen, wann Ihre Anwendung auf das Mikrofon hört und Daten an den Spracherkennungsdienst sendet, wann sie auf eine Antwort des Diensts wartet, und wann sie sich im Leerlauf befindet.You must keep track of when your application is listening to the microphone and sending data to the speech service, when it is waiting for a response from the service and when it is in an idle state. Im folgenden Diagramm wird die Beziehung zwischen diesen Zuständen gezeigt.The relationship between these states is shown in the diagram below.

Diagramm der Zustände der Spracherkennungsanwendung

Da der Microsoft Speech Service an einigen der Zustände beteiligt ist, definiert das Dienstprotokoll Meldungen, die Ihrer Anwendung den Übergang zwischen Zuständen erleichtern.Since the Microsoft Speech Service participates in some of the states, the service protocol defines messages that help your application transition between states. Ihre Anwendung muss diese Protokollmeldungen interpretieren und verarbeiten, um die Zustände der Spracherkennungsanwendung zu verfolgen und zu verwalten.Your application needs to interpret and act on these protocol messages to track and manage the speech application states.

Nutzung des Spracherkennungsdiensts durch Ihre AppsUsing the speech recognition service from your apps

Der Spracherkennungsdienst von Microsoft bietet Entwicklern zwei Möglichkeiten, ihre Apps mit Sprachfunktionen zu erweitern.Microsoft speech recognition service provides two ways for developers to add Speech to their apps.

  • REST-APIs: Entwickler können in ihren Apps HTTP-Aufrufe an den Spracherkennungsdienst richten.REST APIs: Developers can use HTTP calls from their apps to the service for speech recognition.
  • Clientbibliotheken: Entwickler, die erweiterte Features nutzen möchten, können Microsoft Speech-Clientbibliotheken herunterladen und in ihre Apps einbinden.Client libraries: For advanced features, developers can download Microsoft Speech client libraries, and link into their apps. Die Clientbibliotheken sind für verschiedene Plattformen (Windows, Android, iOS) mit verschiedenen Sprachen (C#, Java, JavaScript, Objective-C) verfügbar.The client libraries are available on various platforms (Windows, Android, iOS) using different languages (C#, Java, JavaScript, ObjectiveC).
AnwendungsfälleUse cases REST-APIsREST APIs ClientbibliothekenClient Libraries
Konvertieren von kurzem gesprochenem Audio mit einer Länge von weniger als 15 Sekunden (beispielsweise Befehle) ohne ZwischenergebnisseConvert a short spoken audio, for example, commands (audio length < 15 s) without interim results JaYes JaYes
Konvertieren von langem Audio (länger als 15 Sekunden)Convert a long audio (> 15 s) Nein No JaYes
Streamen von Audio mit ZwischenergebnissenStream audio with interim results desired Nein No JaYes
Verstehen des aus Audio konvertierten Texts mithilfe von LUISUnderstand the text converted from audio using LUIS Nein No JaYes

Wenn Ihre Sprache oder Plattform nicht über ein SDK verfügt, können Sie eine eigene Implementierung auf Basis der Protokolldokumentation erstellen.If your language or platform does not yet have an SDK, you can create your own implementation based on the protocol documentation.

ErkennungsmodiRecognition modes

Es gibt drei Erkennungsmodi: interactive, conversation und dictation.There are three modes of recognition: interactive, conversation, and dictation. Der Erkennungsmodus passt Spracherkennung nach der Art und Weise an, wie Benutzer wahrscheinlich sprechen.The recognition mode adjusts speech recognition based on how the users are likely to speak. Wählen Sie den entsprechenden Erkennungsmodus für Ihre Anwendung aus.Choose the appropriate recognition mode for your application.

Hinweis

Erkennungsmodi zeigen möglicherweise im REST-Protokoll andere Verhaltensweisen als im WebSocket-Protokoll.Recognition modes might have different behaviors in the REST protocol than they do in the WebSocket protocol. Die REST-API unterstützt z.B. auch im Konversations- oder Diktiermodus keine kontinuierliche Erkennung.For example, the REST API does not support continuous recognition, even in conversation or dictation mode.

Hinweis

Diese Modi gelten, wenn Sie direkt das REST- oder WebSocket-Protokoll verwenden.These modes are applicable when you directly use the REST or WebSocket protocol. Die Clientbibliotheken verwenden verschiedene Parameter, um den Erkennungsmodus anzugeben.The client libraries use different parameters to specify recognition mode. Weitere Informationen finden Sie in der Clientbibliothek Ihrer Wahl.For more information, see the client library of your choice.

Der Microsoft Speech Service gibt nur ein Erkennungsausdruckergebnis für alle Erkennungsmodi zurück.The Microsoft Speech Service returns only one recognition phrase result for all recognition modes. Für jede einzelne Äußerung gilt ein Limit von 15 Sekunden.There is a limit of 15 seconds for any single utterance.

Interaktiver ModusInteractive mode

Im interactive-Modus stellt ein Benutzer kurze Anforderungen und erwartet, dass die Anwendung mit einer Aktion antwortet.In interactive mode, a user makes short requests and expects the application to perform an action in response.

Die folgenden Eigenschaften sind typisch für Anwendungen im interaktiven Modus:The following characteristics are typical of interactive mode applications:

  • Benutzer wissen, dass sie mit einem Computer und nicht mit einer anderen Person sprechen.Users know they are speaking to a machine and not to another human.
  • Anwendungsbenutzer wissen im Voraus, was sie sagen möchten, da sie von der Anwendung bestimmte Aktionen erwarten.Application users know ahead of time what they want to say, based on what they want the application to do.
  • Äußerungen dauern i.d.R. 2 bis 3 Sekunden.Utterances typically last about 2-3 seconds.

KonversationsmodusConversation mode

Im conversation-Modus sind Benutzer an einer Konversation zwischen Personen beteiligt.In conversation mode, users are engaged in a human-to-human conversation.

Die folgenden Eigenschaften sind typisch für Anwendungen im Konversationsmodus:The following characteristics are typical of conversation mode applications:

  • Benutzer wissen, dass sie mit einer anderen Person sprechen.Users know that they are talking to another person.
  • Spracherkennung verbessert menschliche Konversationen, weil ein oder beide Teilnehmer die Anzeige des gesprochenen Texts sehen können.Speech recognition enhances the human conversations by allowing one or both participants to see the spoken text.
  • Benutzer planen nicht immer, was sie sagen möchten.Users do not always plan what they want to say.
  • Benutzer verwenden häufig Umgangssprache und andere informelle Sprachformen.Users frequently use slang and other informal speech.

DiktiermodusDictation mode

Im dictation-Modus tragen Benutzer der Anwendung längere Äußerungen zur weiteren Verarbeitung vor.In dictation mode, users recite longer utterances to the application for further processing.

Die folgenden Eigenschaften sind typisch für Anwendungen im Diktiermodus:The following characteristics are typical of dictation mode applications:

  • Benutzer wissen, dass sie mit einem Computer sprechen.Users know that they are talking to a machine.
  • Benutzern werden die Textergebnisse der Spracherkennung angezeigt.Users are shown the speech recognition text results.
  • Benutzer planen häufig, was sie sagen möchten, und verwenden eine formalere Sprache.Users often plan what they want to say and use more formal language.
  • Benutzer sprechen in vollständigen Sätzen, die 5 bis 8 Sekunden dauern.Users employ full sentences that last 5-8 seconds.

Hinweis

Im Diktier- und Konversationsmodus gibt der Microsoft Speech Service keine Teilergebnisse zurück.In dictation and conversation modes, the Microsoft Speech Service does not return partial results. Stattdessen gibt der Dienst nach Stillephasen im Audiodatenstrom stabile Ausdrücke als Ergebnisse zurück.Instead, the service returns stable phrase results after silence boundaries in the audio stream. Microsoft könnte das Spracherkennungsprotokoll überarbeiten, um die Benutzerfreundlichkeit in diesen Modi der fortlaufenden Erkennung zu verbessern.Microsoft might enhance the speech protocol to improve the user experience in these continuous recognition modes.

ErkennungssprachenRecognition languages

Mit der Erkennungssprache wird die Sprache angegeben, die der Benutzer der Anwendung spricht.The recognition language specifies the language that your application user speaks. Geben Sie die Erkennungssprache mit dem URL-Abfrageparameter language für die Verbindung an.Specify the recognition language with the language URL query parameter on the connection. Der Wert des Abfrageparameters language verwendet das IETF-Sprachtag BCP-47 und muss eine der Sprachen sein, die von der Spracherkennungs-API unterstützt werden.The value of the language query parameter uses the IETF language tag BCP 47, and must be one of the languages that are supported by speech recognition API. Eine vollständige Liste mit den vom Microsoft Speech Service unterstützten Sprachen finden Sie unter Unterstützte Sprachen.The complete list of languages supported by the Speech Service can be found in the page Supported Languages.

Der Microsoft Speech Service weist ungültige Verbindungsanforderungen durch Anzeigen einer HTTP 400 Bad Request-Antwort zurück.The Microsoft Speech Service rejects invalid connection requests by displaying an HTTP 400 Bad Request response. Merkmale einer ungültigen Anforderung:An invalid request is one that:

  • Sie enthält keinen Wert für den language-Abfrageparameter.Does not include a language query parameter value.
  • Sie enthält einen falsch formatierten language-Abfrageparameter.Includes a language query parameter that is incorrectly formatted.
  • Sie enthält einen language-Abfrageparameter, der keiner unterstützten Anzeigesprache entspricht.Includes a language query parameter that is not one of the support languages.

Sie können wahlweise eine Anwendung erstellen, die eine oder alle Sprachen unterstützt, die vom Dienst unterstützt werden.You may choose to build an application that supports one or all of the languages that are supported by the service.

BeispielExample

Im folgenden Beispiel verwendet eine Anwendung den Konversationsmodus der Spracherkennung für einen US-Englisch sprechenden Benutzer.In the following example, an application uses conversation speech recognition mode for a US English speaker.

https://speech.platform.bing.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US

TranskriptionsantwortenTranscription responses

Die Transkriptionsantworten geben den aus Audiodaten konvertierten Text an Clients zurück.The transcription responses return the converted text from audio to clients. Eine Transkriptionsantwort enthält die folgenden Felder:A transcription response contains the following fields:

  • RecognitionStatus gibt den Status der Erkennung an.RecognitionStatus specifies the status of the recognition. In der folgenden Tabelle sind die möglichen Werte angegeben.The possible values are given in the table below.
StatusStatus BESCHREIBUNGDescription
ErfolgreichSuccess Die Erkennung war erfolgreich und das DisplayText-Feld ist vorhanden.The recognition was successful and the DisplayText field is present
NoMatchNoMatch Im Audiodatenstrom wurde Sprache erkannt, aber es wurde keine Übereinstimmung mit Wörtern aus der Zielsprache festgestellt.Speech was detected in the audio stream, but no words from the target language were matched. Weitere Details finden Sie unter [NoMatch-Erkennungsstatus(#nomatch-recognition-status)].See [NoMatch Recognition Status(#nomatch-recognition-status) for more details
InitialSilenceTimeoutInitialSilenceTimeout Der Anfang des Audiodatenstroms enthielt nur Stille, und beim Warten auf Sprache wurde der Timeout des Diensts aktiviert.The start of the audio stream contained only silence, and the service timed out waiting for speech
BabbleTimeoutBabbleTimeout Der Anfang des Audiodatenstroms enthielt nur Rauschen, und beim Warten auf Sprache wurde der Timeout des Diensts aktiviert.The start of the audio stream contained only noise, and the service timed out waiting for speech
ErrorError Der Erkennungsdienst hat einen internen Fehler erkannt und konnte nicht fortgesetzt werden.The recognition service encountered an internal error and could not continue
  • DisplayText stellt den erkannten Ausdruck nach Anwendung von Großschreibung, Interpunktion und Inverse Text Normalization sowie Maskierung anstößiger Ausdrücke mit Sternchen dar.DisplayText represents the recognized phrase after capitalization, punctuation, and inverse-text-normalization have been applied and profanity has been masked with asterisks. Das DisplayText-Feld ist nur vorhanden, wenn das RecognitionStatus-Feld den Wert Success hat.The DisplayText field is present only if the RecognitionStatus field has the value Success.

  • Offset gibt den Versatz (in Einheiten von 100 Nanosekunden) an, der zwischen der Erkennung des Ausdrucks und dem Beginn des Audiodatenstroms besteht.Offset specifies the offset (in 100-nanosecond units) at which the phrase was recognized, relative to the start of the audio stream.

  • Duration gibt die Dauer (in Einheiten von 100 Nanosekunden) dieses gesprochenen Ausdrucks an.Durationspecifies the duration (in 100-nanosecond units) of this speech phrase.

Eine Transkriptionsantwort gibt mehr Informationen zurück, falls gewünscht.A transcription response returns more information if desired. Unter Ausgabeformat erfahren Sie, wie ausführlichere Ausgaben zurückgegeben werden.See output format for how to return more detailed outputs.

Der Microsoft Speech Service unterstützt einen zusätzlichen Transkriptionsprozess, der Hinzufügen von Großschreibung und Interpunktion, Maskierung anstößiger Ausdrücke und Normalisieren von Text in häufig verwendete Formen beinhaltet.Microsoft Speech Service supports additional transcription process that includes adding capitalization and punctuation, masking profanity, and normalizing text to common forms. Wenn ein Benutzer z.B. einen Ausdruck verwendet, der mit den Wörtern „erinnere mich daran, sechs iPhones zu kaufen“ dargestellt wird, gibt der Microsoft Speech Service den transkribierten Text „Erinnere mich daran, sechs iPhones zu kaufen“ zurück.For example, if a user speaks a phrase represented by the words "remind me to buy six iPhones", Microsoft's Speech Services will return the transcribed text "Remind me to buy 6 iPhones." Der Prozess, der das Wort „sechs“ in die Zahl „6“ konvertiert, wird als Inverse Text Normalization (ITN) bezeichnet.The process that converts the word "six" to the number "6" is called Inverse Text Normalization (ITN for short).

NoMatch-ErkennungsstatusNoMatch recognition status

Die Transkriptionsantwort gibt NoMatch in RecognitionStatus zurück, wenn der Microsoft Speech Service Sprache im Audiodatenstrom erkennt, jedoch keine Übereinstimmung dieser Sprache mit der für die Anforderung verwendeten Grammatik feststellen kann.The transcription response returns NoMatch in RecognitionStatus when the Microsoft Speech Service detects speech in the audio stream but is unable to match that speech to the language grammar being used for the request. Eine NoMatch-Bedingung kann z.B. auftreten, wenn ein Benutzer etwas auf Deutsch sagt, während die Erkennung US-Englisch als gesprochenen Sprache erwartet.For example, a NoMatch condition might occur if a user says something in German when the recognizer expects US English as the spoken language. Das Wellenformmuster der Äußerung würde das Vorhandensein menschlicher Sprache angeben, aber keines der gesprochenen Wörter würde mit dem von der Erkennung für US-Englisch verwendeten Lexikon übereinstimmen.The waveform pattern of the utterance would indicate the presence of human speech, but none of the words spoken would match the US English lexicon being used by the recognizer.

Eine andere NoMatch-Bedingung liegt vor, wenn der Erkennungsalgorithmus keine genaue Übereinstimmung mit den im Audiodatenstrom enthaltenen Lauten finden kann.Another NoMatch condition occurs when the recognition algorithm is unable to find an accurate match for the sounds contained in the audio stream. Wenn dies der Fall ist, kann der Microsoft Speech Service speech.hypothesis-Meldungen erzeugen, die hypothetischen Text enthalten, er erzeugt jedoch eine speech.phrase-Meldung mit dem RecognitionStatus NoMatch.When this condition happens, the Microsoft Speech Service may produce speech.hypothesis messages that contain hypothesized text but will produce a speech.phrase message in which the RecognitionStatus is NoMatch. Diese Bedingung ist normal. Sie müssen keine Annahmen über die Genauigkeit des Texts in der speech.hypothesis-Meldung machen.This condition is normal; you must not make any assumptions about the accuracy or fidelity of the text in the speech.hypothesis message. Darüber hinaus dürfen Sie nicht davon ausgehen, dass der Dienst eine speech.phrase-Meldung mit dem RecognitionStatus Success produzieren kann, weil der Microsoft Speech Service speech.hypothesis-Meldungen produziert.Furthermore, you must not assume that because the Microsoft Speech Service produces speech.hypothesis messages that the service is able to produce a speech.phrase message with RecognitionStatus Success.

AusgabeformatOutput format

Microsoft Speech Service kann eine Vielzahl von Nutzlastformaten in Transkriptionsantworten zurückgeben.Microsoft Speech Service can return a variety of payload formats in transcription responses. Alle Nutzlasten sind JSON-Strukturen.All payloads are JSON structures.

Sie können das Ausdrucksergebnisformat durch Angeben des format-URL-Abfrageparameters festlegen.You can control the phrase result format by specifying the format URL query parameter. Standardmäßig gibt der Dienst simple-Ergebnisse zurück.By default, the service returns simple results.

FormatFormat BESCHREIBUNGDescription
simple Ein vereinfachtes Ausdrucksergebnis mit Erkennungsstatus und dem erkanntem Text in Darstellungsform.A simplified phrase result containing the recognition status and the recognized text in display form.
detailed Ein Erkennungsstatus und eine Liste der N besten Ausdrucksergebnisse, wo jedes Ausdrucksergebnis alle vier Erkennungsformen und eine Zuverlässigkeitsbewertung enthält.A recognition status and N-best list of phrase results where each phrase result contains all four recognition forms and a confidence score.

Die Antwort des detailed-Formats enthält N beste Werte ergänzend zu RecognitionStatus, Offset und duration.The detailed format contains N-best values, in addition to RecognitionStatus, Offset, and duration, in the response.

N beste WerteN-best values

Listener, ob Personen oder Computer, können nie sicher sein, dass sie genau das gehört haben, was gesprochen wurde.Listeners, whether human or machine, can never be certain that they heard exactly what was spoken. Ein Listener kann nur einer bestimmten Interpretation einer Äußerung eine Wahrscheinlichkeit zuweisen.A listener can assign a probability only to a particular interpretation of an utterance.

Unter normalen Umständen ist die Wahrscheinlichkeit hoch, dass Personen im Gespräch mit anderen, mit denen sie häufig interagieren, die gesprochenen Wörter erkennen.In normal conditions, when speaking to others with whom they frequently interact, people have a high probability of recognizing the words that were spoken. Sprachlistener auf Computerbasis streben ein ähnliches Genauigkeitsniveau an, und unter den richtigen Bedingungen erzielen sie einen Gleichstand mit Menschen.Machine-based speech listeners strive to achieve similar accuracy levels and, under the right conditions, they achieve parity with humans.

Die zur Spracherkennung verwendeten Algorithmen untersuchen im Rahmen der normalen Verarbeitung alternative Interpretationen einer Äußerung.The algorithms that are used in speech recognition explore alternative interpretations of an utterance as part of normal processing. Diese Alternativen werden in der Regel verworfen, sobald die Beweise zugunsten einer einzelnen Interpretation überzeugend sind.Usually, these alternatives are discarded as the evidence in favor of a single interpretation becomes overwhelming. Unter nicht optimalen Umständen endet die Spracherkennung jedoch mit einer Liste alternativer möglicher Interpretationen.In less than optimal conditions, however, the speech recognizer finishes with a list of alternate possible interpretations. Die oberen N Alternativen in dieser Liste werden als Liste der N besten bezeichnet.The top N alternatives in this list are called the N-best list. Jeder Alternative wird eine Zuverlässigkeitsbewertung zugewiesen.Each alternative is assigned a confidence score. Zuverlässigkeitsbewertungen liegen zwischen 0 und 1.Confidence scores range from 0 to 1. Eine Bewertung von 1 stellt das höchste Maß an Zuverlässigkeit dar.A score of 1 represents the highest level of confidence. Eine Bewertung von 0 stellt das niedrigste Maß an Zuverlässigkeit dar.A score of 0 represents the lowest level of confidence.

Hinweis

Die Anzahl der Einträge in der Liste der N besten variiert über mehrere Äußerungen.The number of entries in the N-best list vary across multiple utterances. Die Anzahl der Einträge kann über mehrere Erkennungen der gleichen Äußerung variieren.The number of entries can vary across multiple recognitions of the same utterance. Diese Variation ist ein natürliches und erwartetes Ergebnis des probabilistischen Wesens des Spracherkennungsalgorithmus.This variation is a natural and expected outcome of the probabilistic nature of the speech recognition algorithm.

Jeder in der Liste der N besten zurückgegebene Eintrag enthältEach entry returned in the N-best list contains

Zuverlässigkeitsbewertungen Confidence scores

Zuverlässigkeitsbewertungen sind integraler Bestandteil von Spracherkennungssystemen.Confidence scores are integral to speech recognition systems. Der Microsoft Speech Service erhält Zuverlässigkeitsbewertungen von einer Zuverlässigkeitsklassifizierung.The Microsoft Speech Service obtains confidence scores from a confidence classifier. Microsoft trainiert die Klassifizierung anhand eines Satzes von Features, die zur genauesten Unterscheidung zwischen richtiger und falscher Erkennung konzipiert sind.Microsoft trains the confidence classifier over a set of features that are designed to maximally discriminate between correct and incorrect recognition. Zuverlässigkeitsbewertungen werden für einzelne Wörter und gesamte Äußerungen durchgeführt.Confidence scores are evaluated for individual words and entire utterances.

Wenn Sie entscheiden, die vom Dienst zurückgegebenen Zuverlässigkeitsbewertungen zu verwenden, achten Sie auf folgendes Verhalten:If you choose to use the confidence scores that are returned by the service, be aware of the following behavior:

  • Zuverlässigkeitsbewertungen können nur im Rahmen desselben Erkennungsmodus und derselben Sprache verglichen werden.Confidence scores can be compared only within the same recognition mode and language. Vergleichen Sie Bewertungen nicht Sprachen oder Erkennungsmodi übergreifend.Do not compare scores between different languages or different recognition modes. Beispielsweise besteht keine Korrelation zwischen einer Zuverlässigkeitsbewertung im interaktivem Erkennungsmodus und einer Zuverlässigkeitsbewertung im Diktiermodus.For example, a confidence score in interactive recognition mode has no correlation to a confidence score in dictation mode.
  • Zuverlässigkeitsbewertungen werden am besten auf einen eingeschränkten Satz von Äußerungen angewendet.Confidence scores are best used on a restricted set of utterances. Bei einem großen Satz von Äußerungen liegt natürlich eine hohe Variabilität der Bewertungen vor.There is naturally a great degree of variability in the scores for a large set of utterances.

Wenn Sie entscheiden, einen Zuverlässigkeitsbewertungswert als Schwellenwert für Ihre Anwendung zu verwenden, legen Sie die Schwellenwerte mithilfe der Spracherkennung fest.If you choose to use a confidence score value as a threshold on which your application acts, use speech recognition to establish the threshold values.

  • Führen Sie die Spracherkennung für eine repräsentative Stichprobe von Äußerungen für Ihre Anwendung aus.Execute speech recognition on a representative sample of utterances for your application.
  • Erfassen Sie die Zuverlässigkeitsbewertungen für jede Erkennung im Stichprobensatz.Collect the confidence scores for each recognition in the sample set.
  • Legen Sie ein Zuverlässigkeitsquantil für diese Stichprobe als Grundlage des Schwellenwerts fest.Base your threshold value on some percentile of confidence for that sample.

Kein einzelner Schwellenwert eignet sich für alle Anwendungen.No single threshold value is appropriate for all applications. Eine akzeptable Zuverlässigkeitsbewertung für eine Anwendung ist möglicherweise für eine andere Anwendung inakzeptabel.An acceptable confidence score for one application might be unacceptable for another application.

Lexikalische Formlexical form

Die lexikalische Form ist der erkannte Text in genau der Form, in der er in der Äußerung vorkommt, ohne Interpunktion oder Großschreibung.The lexical form is the recognized text, exactly how it occurred in the utterance and without punctuation or capitalization. Beispielsweise wäre die lexikalische Form der Adresse „1020 Enterprise Way“ ten twenty enterprise way, vorausgesetzt, sie wird auf diese Weise ausgesprochen.For example, the lexical form of the address "1020 Enterprise Way" would be ten twenty enterprise way, assuming that it was spoken that way. Die lexikalische Form des Satzes „Remind me to buy 5 pencils“ ist remind me to buy five pencils.The lexical form of the sentence "Remind me to buy 5 pencils" is remind me to buy five pencils.

Die lexikalische Form ist am besten geeignet für Anwendungen, die eine nicht standardmäßige Textnormalisierung ausführen müssen.The lexical form is most appropriate for applications that need to perform non-standard text normalization. Die lexikalische Form eignet sich auch für Anwendungen, die nicht verarbeitete Erkennungswörter benötigen.The lexical form is also appropriate for applications that need unprocessed recognition words.

Anstößige Ausdrücke werden in der lexikalischen Form nie maskiert.Profanity is never masked in the lexical form.

ITN-FormITN form

Textnormalisierung ist das Konvertieren von Text von einer Form in eine andere „kanonische“ Form.Text normalization is the process of converting text from one form to another "canonical" form. Z.B. könnte die Telefonnummer „555-1212“ in die kanonische Form five five five one two one two konvertiert werden.For example, the phone number "555-1212" might be converted to the canonical form five five five one two one two. Inverse Text Normalization (ITN) kehrt diesen Prozess um und konvertiert die Wörter „five five five one two one two“ in die invertierte kanonische Form 555-1212.Inverse text normalization (ITN) reverses this process, converting the words "five five five one two one two" to the inverted canonical form 555-1212. Die ITN-Form eines Erkennungsergebnisses umfasst nicht Großschreibung oder Interpunktion.The ITN form of a recognition result does not include capitalization or punctuation.

Die ITN-Form eignet sich am besten für Anwendungen, die den erkannten Text bearbeiten.The ITN form is most appropriate for applications that act on the recognized text. Beispielsweise würde eine Anwendung, die einem Benutzer ermöglicht, Suchbegriffe zu sprechen, und diese Begriffe dann in einer Webabfrage verwendet, die ITN-Form verwenden.For example, an application that allows a user to speak search terms and then uses these terms in a web query would use the ITN form. Anstößige Ausdrücke werden in der ITN-Form nie maskiert.Profanity is never masked in the ITN form. Um anstößige Ausdrücke zu maskieren, verwenden Sie die maskierte ITN-Form.To mask profanity, use the Masked ITN form.

Maskierte ITN-FormMasked ITN form

Da anstößige Ausdrücke natürlich Teil der gesprochenen Sprache sind, erkennt der Microsoft Speech Service solche Wörter und Ausdrücke, wenn sie ausgesprochen werden.Because profanity is naturally a part of spoken language, the Microsoft Speech Service recognizes such words and phrases when they are spoken. Anstößige Ausdrücke sind sicher nicht in allen Anwendungen angemessen, insbesondere nicht in Anwendungen, deren Zielgruppe Kinder und Jugendliche sind.Profanity might not, however, be appropriate for all applications, especially those applications with a restricted, non-adult user audience.

Bei der maskierten ITN-Form wird die Maskierung anstößiger Ausdrücke auf die ITN-Form angewendet.The masked ITN form applies profanity masking to the inverse text normalization form. Legen Sie zur Maskierung anstößiger Ausdrücke den Wert des Parameters für anstößige Ausdrücke auf masked fest.To mask profanity, set the value of the profanity parameter value to masked. Bei der Maskierung anstößiger Ausdrücke werden Wörter, die als Teil des Lexikons für anstößige Ausdrücke der Sprache erkannt werden, durch Sternchen ersetzt.When profanity is masked, words that are recognized as part of the language's profanity lexicon are replaced with asterisks. Beispiel: remind me to buy 5 **** pencils.For example: remind me to buy 5 **** pencils. Die maskierte ITN-Form eines Erkennungsergebnisses umfasst nicht Großschreibung oder Interpunktion.The masked ITN form of a recognition result does not include capitalization or punctuation.

Hinweis

Wenn der Abfrageparameterwert für anstößige Ausdrücke auf raw festgelegt ist, entspricht die maskierte ITN-Form der ITN-Form.If the profanity query parameter value is set to raw, the masked ITN form is the same as the ITN form. Anstößige Ausdrücke werden nicht maskiert.Profanity is not masked.

DarstellungsformDisplay form

Interpunktion und Großschreibung signalisieren eine Hervorhebung, wo eine Pause einzulegen ist etc., um das Textverständnis zu erleichtern.Punctuation and capitalization signal where to put emphasis, where to pause, and so on, which makes text easier to understand. In der Darstellungsform werden Interpunktion und Großschreibung den Erkennungsergebnissen hinzugefügt, sodass sie die am besten geeignete Form für Anwendungen ist, die den gesprochenen Text darstellen.The display form adds punctuation and capitalization to recognition results, making it the most appropriate form for applications that display the spoken text.

Da die Darstellungsform eine Erweiterung der maskierten ITN-Form ist, können Sie den Parameterwert für anstößige Ausdrücke auf masked oder raw festlegen.Because the display form extends the masked ITN form, you can set the profanity parameter value to masked or raw. Wenn der Wert auf raw festgelegt ist, enthalten die Erkennungsergebnisse alle vom Benutzer ausgesprochenen anstößigen Ausdrücke.If the value is set to raw, the recognition results include any profanity spoken by the user. Wenn der Wert auf masked festgelegt ist, werden Wörter, die als Teil des Lexikons für anstößige Ausdrücke der Sprache erkannt werden, durch Sternchen ersetzt.If the value is set to masked, words recognized as part of the language's profanity lexicon are replaced with asterisks.

BeispielantwortenSample responses

Alle Nutzlasten sind JSON-Strukturen.All payloads are JSON structures.

Das Nutzlastformat des simple-Ausdrucksergebnisses:The payload format of the simple phrase result:

{
  "RecognitionStatus": "Success",
  "DisplayText": "Remind me to buy 5 pencils.",
  "Offset": "1236645672289",
  "Duration": "1236645672289"
}

Das Nutzlastformat des detailed-Ausdrucksergebnisses:The payload format of the detailed phrase result:

{
  "RecognitionStatus": "Success",
  "Offset": "1236645672289",
  "Duration": "1236645672289",
  "NBest": [
      {
        "Confidence" : "0.87",
        "Lexical" : "remind me to buy five pencils",
        "ITN" : "remind me to buy 5 pencils",
        "MaskedITN" : "remind me to buy 5 pencils",
        "Display" : "Remind me to buy 5 pencils.",
      },
      {
        "Confidence" : "0.54",
        "Lexical" : "rewind me to buy five pencils",
        "ITN" : "rewind me to buy 5 pencils",
        "MaskedITN" : "rewind me to buy 5 pencils",
        "Display" : "Rewind me to buy 5 pencils.",
      }
  ]
}

Behandlung anstößiger Ausdrücke in der SpracherkennungProfanity-handling in speech recognition

Der Microsoft Speech Service erkennt alle Formen der menschlichen Sprache, einschließlich solcher Wörter und Ausdrücke, die häufig als „anstößig“ klassifiziert werden.The Microsoft Speech Service recognizes all forms of human speech, including words and phrases that many people would classify as "profanity." Mit dem profanity-Abfrageparameter können Sie steuern, wie der Dienst anstößige Ausdrücke behandelt.You can control how the service handles profanity by using the profanity query parameter. Standardmäßig maskiert der Dienst anstößige Ausdrücke in speech.phrase-Ergebnissen und gibt keine speech.hypothesis-Meldungen zurück, die anstößige Ausdrücke enthalten.By default, the service masks profanity in speech.phrase results and does not return speech.hypothesis messages that contain profanity.

Profanity-WertProfanity value BESCHREIBUNGDescription
masked Maskiert anstößige Ausdrücke mit Sternchen.Masks profanity with asterisks. Dies ist das Standardverhalten.This behavior is the default.
removed Entfernt anstößige Ausdrücke aus allen Ergebnissen.Removes profanity from all results.
raw Erkennt anstößige Ausdrücke in allen Ergebnissen und gibt sie zurück.Recognizes and returns profanity in all results.

Profanity-Wert MaskedProfanity value Masked

Legen Sie zur Maskierung anstößiger Ausdrücke masked als Wert des profanity-Abfrageparameters fest.To mask profanity, set the profanity query parameter to the value masked. Wenn der profanity-Abfrageparameter diesen Wert aufweist oder nicht für eine Anforderung angegeben ist, maskiert der Dienst anstößige Ausdrücke.When the profanity query parameter has this value or is not specified for a request, the service masks profanity. Der Dienst führt die Maskierung durch, indem anstößige Ausdrücke in den Erkennungsergebnissen durch Sternchen ersetzt werden.The service performs masking by replacing profanity in the recognition results with asterisks. Wenn Sie die Maskierung anstößiger Ausdrücke angeben, gibt der Dienst keine speech.hypothesis-Meldungen zurück, die anstößige Ausdrücke enthalten.When you specify profanity-masking handling, the service does not return speech.hypothesis messages that contain profanity.

Profanity-Wert RemovedProfanity value Removed

Wenn der profanity-Abfrageparameter den Wert removed hat, entfernt der Dienst anstößige Ausdrücke sowohl aus speech.phrase- als auch speech.hypothesis-Meldungen.When the profanity query parameter has the value removed, the service removes profanity from both speech.phrase and speech.hypothesis messages. Die Ergebnisse sind dann so, als ob die anstößigen Ausdrücke nicht gesprochen worden seien.The results are the same as if the profanity words were not spoken.

Äußerungen, die nur aus anstößigen Ausdrücken bestehenProfanity-only utterances

Angenommen, ein Benutzer spricht nur anstößige Ausdrücke, wenn eine Anwendung den Dienst so konfiguriert hat, dass anstößige Ausdrücke entfernt werden.A user might speak only profanity when an application has configured the service to remove profanity. Wenn der Erkennungsmodus in diesem Szenario Diktat oder Konversation ist, gibt der Dienst kein speech.result zurück.For this scenario, if the recognition mode is dictation or conversation, the service does not return a speech.result. Wenn der Erkennungsmodus interaktiv ist, gibt der Dienst ein speech.result mit dem Statuscode NoMatch zurück.If the recognition mode is interactive, the service returns a speech.result with the status code NoMatch.

Profanity-Wert RawProfanity value Raw

Wenn der profanity-Abfrageparameter den Wert raw hat, entfernt der Dienst anstößige Ausdrücke weder aus speech.phrase- noch speech.hypothesis-Meldungen und maskiert sie auch nicht.When the profanity query parameter has the value raw, the service does not remove or mask profanity in either the speech.phrase or speech.hypothesis messages.