我是Microsoft认知服务的新手。我想建立一个完全语音控制的webproject。对于语音控制,我使用的是arytom.js,这是一个非常简单和出色的API供我使用。对于TTS和STT,它对我来说很好。我现在要做的是,我想知道谁在说话并将其与数据库进行比较。我刚刚发现了由Microsoft开发的Speaker Recognition API。我已经有了一个API密钥,现在我想创建注册并将录制的语音样本与存储在Micrososft服务器上的语音进行比较。 官方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>
根据Micrososft&#34; shortAudio&#34; :如果您希望使用任意数量的语音时间开始识别,您应该包括&#34; shortAudio&#34;参数。它指示服务放弃进行识别所需的建议30秒音频。这样做时,您可以发送1秒长但不超过5分钟的音频文件。
我有一个&#34; Ocp-Apim-Subscription-Key,我必须把它放在Header中,但是如何将.wav文件发送到他们的服务器。 有谁知道,如何开始使用这个API。不幸的是,微软没有关于它的真实文档。
更新:现在我知道,我必须将.wav文件转换为二进制文件。有人有一个示例代码,如何使用此API进行调用?
提前谢谢!
答案 0 :(得分:0)
二进制数据需要是特定格式的WAV文件:
你可以在这里查看一个工作示例网页 - 我使用了一个改进的recorderjs副本(通过反向工程改进了Speaker Recognition API示例页面)来获得正确的比特率和采样率WAV: