Schnellstart: Verwenden der REST-API der Bing-Spracheingabe-APIQuickstart: Use the Bing Speech recognition REST API

Hinweis

Der neue Spracherkennungsdienst und das SDK ersetzen die Bing-Spracheingabe, die ab dem 14. Januar 2020 nicht mehr genutzt werden kann.The new Speech Service and SDK is replacing Bing Speech, which will no longer work starting January 14, 2020. 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.

Mit dem cloudbasierten Bing-Spracheingabe-Dienst können Sie Anwendungen entwickeln und dabei die REST-API nutzen, um Sprache in Text umzuwandeln.With the cloud-based Bing Speech Service, you can develop applications by using the REST API to convert spoken audio to text.

VoraussetzungenPrerequisites

Abonnieren der Sprach-API und Abrufen eines Schlüssels für ein kostenloses ProbeabonnementSubscribe to the Speech API, and get a free trial subscription key

Die Sprach-API ist Teil von Cognitive Services (ehemals Project Oxford).The Speech API is part of Cognitive Services (previously Project Oxford). Über die Seite Cognitive Services ausprobieren können Sie Schlüssel für ein kostenloses Probeabonnement abrufen.You can get free trial subscription keys from the Cognitive Services subscription page. Wählen Sie zunächst die Option für die Sprach-API aus, und klicken Sie anschließend auf API-Schlüssel abrufen, um den Schlüssel abzurufen.After you select the Speech API, select Get API Key to get the key. Daraufhin werden ein Primär- und ein Sekundärschlüssel zurückgegeben.It returns a primary and secondary key. Beide Schlüssel sind an das gleiche Kontingent gebunden. Es spielt daher keine Rolle, welchen Schlüssel Sie verwenden.Both keys are tied to the same quota, so you can use either key.

Wichtig

  • Rufen Sie einen Abonnementschlüssel ab.Get a subscription key. Für den Zugriff auf die REST-API benötigen Sie einen Abonnementschlüssel.Before you can access the REST API, you must have a subscription key.

  • Verwenden Sie Ihren Abonnementschlüssel.Use your subscription key. Ersetzen Sie „YOUR_SUBSCRIPTION_KEY“ in den folgenden REST-Beispielen durch Ihren eigenen Abonnementschlüssel.In the following REST samples, replace YOUR_SUBSCRIPTION_KEY with your own subscription key.

  • Eine Anleitung zum Abrufen eines Abonnementschlüssels finden Sie auf der Seite Authentifizierung.Refer to the authentication page for how to get a subscription key.

Vorab aufgezeichnete AudiodateiPrerecorded audio file

In diesem Beispiel wird die Verwendung der REST-API anhand einer aufgezeichneten Audiodatei veranschaulicht.In this example, we use a recorded audio file to illustrate how to use the REST API. Zeichnen Sie eine Audiodatei auf mit einem kurzen gesprochenen Satz auf.Record an audio file of yourself saying a short phrase. Sagen Sie beispielsweise: „Wie ist das Wetter heute?“For example, say "What is the weather like today?" Oder: „Suche nach lustigen Filmen.“or "Find funny movies to watch." Die Spracherkennungs-API unterstützt auch Eingaben über ein externes Mikrofon.The speech recognition API also supports external microphone input.

Hinweis

Das aufgezeichnete Audio muss als WAV-Datei mit PCM (einzelner Kanal/Mono) und 16 kHz vorliegen.The example requires that audio is recorded as a WAV file with PCM single channel (mono), 16 KHz.

Erstellen einer Erkennungsanforderung und Senden der Anforderung an den SpracherkennungsdienstBuild a recognition request, and send it to the speech recognition service

Im nächsten Schritt für die Spracherkennung wird eine POST-Anforderung mit korrektem Anforderungsheader und Hauptteil an die Speech-HTTP-Endpunkte gesendet.The next step for speech recognition is to send a POST request to the Speech HTTP endpoints with the proper request header and body.

Dienst-URIService URI

Der Spracherkennungsdienst-URI wird auf der Grundlage von Erkennungsmodi und Erkennungssprachen definiert:The speech recognition service URI is defined based on recognition modes and recognition languages:

https://speech.platform.bing.com/speech/recognition/<RECOGNITION_MODE>/cognitiveservices/v1?language=<LANGUAGE_TAG>&format=<OUTPUT_FORMAT>

<RECOGNITION_MODE> gibt den Erkennungsmodus an und muss einen der folgenden Werte haben: interactive, conversation oder dictation.<RECOGNITION_MODE> specifies the recognition mode and must be one of the following values: interactive, conversation, or dictation. Hierbei handelt es sich um einen erforderlichen Ressourcenpfad im URI.It's a required resource path in the URI. Weitere Informationen finden Sie unter Recognition modes (Erkennungsmodi).For more information, see Recognition modes.

<LANGUAGE_TAG> ist ein erforderlicher Parameter in der Abfragezeichenfolge.<LANGUAGE_TAG> is a required parameter in the query string. Er definiert die Zielsprache für die Audiokonvertierung (beispielsweise en-US für „Englisch (USA)“).It defines the target language for audio conversion: for example, en-US for English (United States). Weitere Informationen finden Sie unter Recognition languages (Erkennungssprachen).For more information, see Recognition languages.

<OUTPUT_FORMAT> ist ein optionaler Parameter in der Abfragezeichenfolge.<OUTPUT_FORMAT> is an optional parameter in the query string. Zulässige Werte sind simple und detailed.Its allowed values are simple and detailed. Standardmäßig gibt der Dienst Ergebnisse im simple-Format zurück.By default, the service returns results in simple format. Weitere Informationen finden Sie unter Output format (Ausgabeformat).For more information, see Output format.

Die folgende Tabelle enthält einige Beispiele für Dienst-URIs:Some examples of service URIs are listed in the following table.

ErkennungsmodusRecognition mode SpracheLanguage AusgabeformatOutput format Dienst-URIService URI
interactive pt-BRpt-BR StandardDefault https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=pt-BRhttps://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=pt-BR
conversation en-USen-US DetailliertDetailed https://speech.platform.bing.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailedhttps://speech.platform.bing.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed
dictation fr-FRfr-FR EinfachSimple https://speech.platform.bing.com/speech/recognition/dictation/cognitiveservices/v1?language=fr-FR&format=simplehttps://speech.platform.bing.com/speech/recognition/dictation/cognitiveservices/v1?language=fr-FR&format=simple

Hinweis

Der Dienst-URI ist nur erforderlich, wenn Ihre Anwendung REST-APIs verwendet, um den Spracherkennungsdienst aufzurufen.The service URI is needed only when your application uses REST APIs to call the speech recognition service. Bei Verwendung einer der Clientbibliotheken müssen Sie in der Regel nicht wissen, welcher URI verwendet wird.If you use one of the client libraries, you usually don't need to know which URI is used. Die Clientbibliotheken verwenden möglicherweise unterschiedliche Dienst-URIs, die jeweils nur für eine bestimmte Clientbibliothek relevant sind.The client libraries might use different service URIs, which are applicable only for a specific client library. Weitere Informationen finden Sie in der Clientbibliothek Ihrer Wahl.For more information, see the client library of your choice.

AnforderungsheaderRequest headers

Folgende Felder müssen im Anforderungsheader festgelegt werden:The following fields must be set in the request header:

  • Ocp-Apim-Subscription-Key: Bei jedem Aufruf des Diensts müssen Sie im Header Ocp-Apim-Subscription-Key Ihren Abonnementschlüssel übergeben.Ocp-Apim-Subscription-Key: Each time that you call the service, you must pass your subscription key in the Ocp-Apim-Subscription-Key header. Der Speech-Dienst unterstützt auch die Übergabe von Autorisierungstoken anstelle von Abonnementschlüsseln.Speech Service also supports passing authorization tokens instead of subscription keys. Weitere Informationen finden Sie unter Authentifizierung.For more information, see Authentication.
  • Content-type: Das Feld Content-type beschreibt das Format und den Codec des Audiostreams.Content-type: The Content-type field describes the format and codec of the audio stream. Aktuell werden nur WAV-Dateien und die Codierung „PCM Mono 16.000“ unterstützt.Currently, only WAV file and PCM Mono 16000 encoding is supported. Der Content-type-Wert für dieses Format lautet audio/wav; codec=audio/pcm; samplerate=16000.The Content-type value for this format is audio/wav; codec=audio/pcm; samplerate=16000.

Das Feld Transfer-Encoding ist optional.The Transfer-Encoding field is optional. Wenn Sie dieses Feld auf chunked festlegen, können Sie die Audiodaten in kleine Segmente aufteilen.If you set this field to chunked, you can chop the audio into small chunks. Weitere Informationen finden Sie unter Chunked transfer encoding (Segmentierte Übertragungscodierung).For more information, see Chunked transfer.

Das folgende Beispiel zeigt einen exemplarischen Anforderungsheader:The following is a sample request header:

POST https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=en-US&format=detailed HTTP/1.1
Accept: application/json;text/xml
Content-Type: audio/wav; codec=audio/pcm; samplerate=16000
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: speech.platform.bing.com
Transfer-Encoding: chunked
Expect: 100-continue

Senden einer Anforderung an den DienstSend a request to the service

Das folgende Beispiel zeigt, wie Sie eine Spracherkennungsanforderung an Speech-REST-Endpunkte senden.The following example shows how to send a speech recognition request to Speech REST endpoints. In dem Beispiel wird der Erkennungsmodus interactive verwendet.It uses the interactive recognition mode.

Hinweis

Ersetzen Sie YOUR_AUDIO_FILE durch den Pfad Ihrer aufgezeichneten Audiodatei.Replace YOUR_AUDIO_FILE with the path to your prerecorded audio file. Ersetzen Sie YOUR_SUBSCRIPTION_KEY durch Ihren eigenen Abonnementschlüssel.Replace YOUR_SUBSCRIPTION_KEY with your own subscription key.


$SpeechServiceURI =
'https://speech.platform.bing.com/speech/recognition/interactive/cognitiveservices/v1?language=en-us&format=detailed'

# $OAuthToken is the authorization token returned by the token service.
$RecoRequestHeader = @{
  'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY';
  'Transfer-Encoding' = 'chunked';
  'Content-type' = 'audio/wav; codec=audio/pcm; samplerate=16000'
}

# Read audio into byte array
$audioBytes = [System.IO.File]::ReadAllBytes("YOUR_AUDIO_FILE")

$RecoResponse = Invoke-RestMethod -Method POST -Uri $SpeechServiceURI -Headers $RecoRequestHeader -Body $audioBytes

# Show the result
$RecoResponse

Verarbeiten der SpracherkennungsantwortProcess the speech recognition response

Nach der Verarbeitung der Anforderung gibt der Speech-Dienst die Ergebnisse in einer Antwort im JSON-Format zurück.After processing the request, Speech Service returns the results in a response as JSON format.

Hinweis

Sollte der vorherige Code einen Fehler zurückgeben, lesen Sie den Abschnitt zur Problembehandlung, um die mögliche Ursache zu ermitteln.If the previous code returns an error, see Troubleshooting to locate the possible cause.

Der folgende Codeausschnitt zeigt anhand eines Beispiels, wie Sie die Antwort aus dem Datenstrom lesen.The following code snippet shows an example of how you can read the response from the stream.

# show the response in JSON format
ConvertTo-Json $RecoResponse

Das folgende Beispiel zeigt eine JSON-Antwort:The following sample is a JSON response:

OK
{
  "RecognitionStatus": "Success",
  "Offset": 22500000,
  "Duration": 21000000,
  "NBest": [{
    "Confidence": 0.941552162,
    "Lexical": "find a funny movie to watch",
    "ITN": "find a funny movie to watch",
    "MaskedITN": "find a funny movie to watch",
    "Display": "Find a funny movie to watch."
  }]
}

EinschränkungenLimitations

Für die REST-API gelten bestimmte Einschränkungen:The REST API has some limitations:

  • Sie unterstützt nur Audiostreams mit einer Länge von maximal 15 Sekunden.It supports audio stream only up to 15 seconds.
  • Zwischenergebnisse während der Erkennung werden nicht unterstützt.It doesn't support intermediate results during recognition. Benutzer erhalten nur das Endergebnis der Erkennung.Users receive only the final recognition result.

Bei Verwendung der Clientbibliotheken von Speech gelten diese Einschränkungen nicht.To remove these limitations, use Speech client libraries. Alternativ können Sie direkt das WebSocket-Protokoll des Speech-Diensts verwenden.Or you can work directly with the Speech WebSocket protocol.

Nächste SchritteWhat's next

LizenzLicense

Alle Cognitive Services-SDKs und -Beispiele sind mit der MIT-Lizenz lizenziert.All Cognitive Services SDKs and samples are licensed with the MIT License. Weitere Informationen finden Sie hier.For more information, see License.