Jquery 如何使用Microsoft认知服务-说话人识别API
我对微软认知服务是完全陌生的。我想建立一个完全由语音控制的webproject。对于语音控制,我使用的是arytom.js,这是一个非常简单、非常好的API。这对我来说很好,对于TTS和STT。我现在想做的是,我想识别谁在讲话,并将其与数据库进行比较。我刚刚发现了微软开发的说话人识别API。我已经获得了一个API密钥,现在我想创建注册,并将录制的语音样本与存储在MicrosoftSFT服务器上的我的语音进行比较。 官方API的代码示例如下所示:Jquery 如何使用Microsoft认知服务-说话人识别API,jquery,voice-recognition,speaker,Jquery,Voice Recognition,Speaker,我对微软认知服务是完全陌生的。我想建立一个完全由语音控制的webproject。对于语音控制,我使用的是arytom.js,这是一个非常简单、非常好的API。这对我来说很好,对于TTS和STT。我现在想做的是,我想识别谁在讲话,并将其与数据库进行比较。我刚刚发现了微软开发的说话人识别API。我已经获得了一个API密钥,现在我想创建注册,并将录制的语音样本与存储在MicrosoftSFT服务器上的我的语音进行比较。 官方API的代码示例如下所示: <!DOCTYPE html> &l
<!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>
JSSample
$(函数(){
变量参数={
//请求参数
“shortAudio”:“{boolean}”,
};
$.ajax({
url:“https://westus.api.cognitive.microsoft.com/spid/v1.0/identify?identificationProfileIds={identificationProfileIds}&“+$.param(params),
发送前:函数(xhrObj){
//请求头
setRequestHeader(“内容类型”、“应用程序/八位字节流”);
setRequestHeader(“Ocp Apim订阅密钥”,“{Subscription Key}”);
},
类型:“POST”,
//请求主体
数据:“{body}”,
})
.完成(功能(数据){
警惕(“成功”);
})
.fail(函数(){
警报(“错误”);
});
});
根据MicrosoftSFT“shortAudio”:如果您希望使用任意数量的语音时间开始识别,则应包括“shortAudio”参数。它指示服务放弃执行识别所需的建议30秒音频。执行此操作时,您可以从1秒开始发送音频文件,但不超过5分钟
我有一个“Ocp Apim订阅密钥,我必须把它放在头中,但是我如何才能将.wav文件发送到他们的服务器。
有人知道如何开始使用这个API吗?不幸的是,微软没有真正的文档
更新:现在我知道了,我必须将.wav文件转换成二进制文件。有没有人有示例代码,如何使用这个API进行调用
提前感谢!二进制数据需要是特定格式的WAV文件:
- 容器:WAV
- 编码:PCM
- 费率:16K
- 样本格式:16位
- 频道:单声道
没有人能解决这个问题吗?你找到答案了吗?我遇到了一个类似的问题:如何设置数据:“{body}”标签在Javascript中,“{body}”是编码的音频对象。如果你使用的是
var request=new XMLHttpRequest();
那么当你调用request.send(你的编码对象)
时,就会设置主体。