2017-01-23 6 views
2

Ich bin komplett neu in Microsoft Cognitive Services. Ich möchte ein Webprojekt aufbauen, das vollständig sprachgesteuert ist. Für die Sprachsteuerung verwende ich arytom.js, was eine sehr einfache und großartige API für meine Verwendung ist. Es funktioniert gut für mich, für TTS und STT. Was ich jetzt tun möchte, ist, ich möchte erkennen, wer spricht und es mit einer Datenbank vergleichen. Ich habe gerade die von Microsoft entwickelte Speaker Recognition API gefunden. Ich habe bereits einen API-Schlüssel und möchte nun die Registrierung erstellen und eine aufgezeichnete Sprachprobe mit meiner auf den Micrososft-Servern gespeicherten Stimme vergleichen. Das Codebeispiel der offiziellen API sieht wie folgt aus:Wie Sie mit den Microsoft Cognitive Services arbeiten - Speaker Recognition API

<!DOCTYPE html> 
<html> 
<head> 
    <title>JSSample</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
</head> 
<body> 

<script type="text/javascript"> 
    $(function() { 
     var params = { 
      // Request parameters 
      "shortAudio": "{boolean}", 
     }; 

     $.ajax({ 
      url: "https://westus.api.cognitive.microsoft.com/spid/v1.0/identify?identificationProfileIds={identificationProfileIds}&" + $.param(params), 
      beforeSend: function(xhrObj){ 
       // Request headers 
       xhrObj.setRequestHeader("Content-Type","application/octet-stream"); 
       xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{subscription key}"); 
      }, 
      type: "POST", 
      // Request body 
      data: "{body}", 
     }) 
     .done(function(data) { 
      alert("success"); 
     }) 
     .fail(function() { 
      alert("error"); 
     }); 
    }); 
</script> 
</body> 
</html> 

Nach Micrososft „shortAudio“: Im Fall, dass Sie mögen jede Menge Sprechzeit starten Identifizierung verwenden, sollten Sie die „shortAudio“ Parameter umfassen . Er weist den Dienst an, auf die empfohlenen 30 Sekunden Audio zu verzichten, die für die Identifizierung erforderlich sind. Sie können Audiodateien ab einer Sekunde, aber nicht länger als 5 Minuten senden.

Ich habe einen "Ocp-Apim-Subscription-Key, den ich in den Header setzen muss, aber wie kann ich eine WAV-Datei an ihren Server senden. Weiß jemand, wie man mit dieser API beginnt . Leider hat Microsoft keine wirkliche doc darüber

Update:. Jetzt weiß ich, dass ich die WAV-Datei in das Binärformat konvertieren hat jemand ein Beispiel-Code haben, wie diese API zu verwenden, um Anrufe zu tätigen

.?

Vielen Dank im Voraus!

+0

Hat niemand eine Lösung für dieses Problem? – Mixmarcil

+0

Haben Sie die Antwort gefunden? Ich stehe auf ein ähnliches Problem –

Antwort

0

Die Binärdaten müssen eine WAV-Datei eines bestimmten Formats sein:

  • Container: WAV
  • Encoding: PCM
  • Rate: 16K
  • Probe Format: 16-Bit-
  • Kanäle: Mono

Sie können über ein funktionsfähiges Beispiel Web-Seite an here - Ich habe eine veränderte Kopie von recorderjs verwendet (geändert durch Reverse Engineering der Speaker Recognition API Beispielseite), um die richtige Bitrate und Samplerate zu erhalten. WAV:

https://rposbo.github.io/speaker-recognition-api/

Verwandte Themen