2016-07-11 4 views
1

Ich konnte kurze Diktierantworten von der REST API von Bing Voice Recognition erhalten. Mein Ziel ist es, Antworten für Audiodateien zu erhalten, die länger als 15-30 Sekunden sind (langer Diktiermodus). Also, was mich für die kurzen Antworten bekommen ist die folgende (Ich bin ein HTML UWP App Entwicklung):Wie kann ich lange Diktierergebnisse von der REST-Spracherkennungs-API von Microsofts Cognitive Services erhalten?

  1. ein ArrayBuffer Generieren von einer Audio-Datei (wav)
  2. Authentifizierung über Access Token
  3. Senden Audiodaten an REST-API mit den folgenden Einstellungen:
var accessToken = [[accessTocken]]; 
var url = 'https://speech.platform.bing.com/recognize?'; 
var params = { 
    'version': '3.0', 
    'format': 'json', 
    'locale': 'en-US', 
    'device.os': 'Windows OS', 
    'scenarios': 'smd', 
    'appid': 'D4D52672-91D7-4C74-8AD8-42B1D98141A5', 
    'requestid': guid(), 
    'instanceid': guid() 
}; 
var options = { 
    url: url + $.param(params), 
    type: "POST", 
    headers: { 
     'Authorization': 'Bearer ' + accessToken, 
     'Content-Type': 'audio/wav; samplerate=16000' 
    }, 
    data: data 
}; 
return WinJS.xhr(options); 

Also das funktioniert! Aber wie kann ich das für lange Diktatszenarien tun?

Bitte verweisen Sie nicht auf das JavaScript GitHub-Repository unter https://github.com/microsoft/Cognitive-Speech-STT-Javascript. Dies funktioniert nur für kurze Diktat und funktioniert nicht im Edge-Browser.

Antwort

1

Von API-Dokumentation:

Ihre Anwendung muss die Audio-Endpunkt Anfang und Ende der Rede, um zu bestimmen, die wiederum durch den Dienst verwendet wird, um den Start und Ende der Anforderung zu bestimmen. Sie dürfen nicht mehr als 10 Sekunden von Audio in einer Anfrage hochladen und die Gesamtanforderungsdauer darf 14 Sekunden nicht überschreiten.

Ref: https://www.microsoft.com/cognitive-services/en-us/Speech-api/documentation/API-Reference-REST/BingVoiceRecognition

Vielleicht müssen Sie die Client-Bibliothek implementieren, um die differents Modi zu verwenden.

ShortPhrase-Modus: eine Äußerung von bis zu 15 Sekunden. Wenn Daten an den Server gesendet werden , erhält der Client mehrere Teilergebnisse und ein endgültiges multiples N-bestes Auswahlergebnis.

LongDictation-Modus: eine Äußerung bis zu 2 Minuten lang. Wenn Daten an den Server gesendet werden, erhält der Client mehrere Teilergebnisse und mehrere Endergebnisse, basierend darauf, wo der Server den Satz pausiert.

Absichtserkennung: Der Server gibt zusätzliche strukturierte Informationen über die Spracheingabe zurück. Um Intent zu verwenden, müssen Sie zuerst ein Modell trainieren. Siehe Details hier.

Ref: https://www.microsoft.com/cognitive-services/en-us/Speech-api/documentation/GetStarted/GetStartedCSharpDesktop

Verwandte Themen