声纹识别
服务返回信息的公共结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
signature | String | 是 | 我们采用的数字证书签名算法是:"RSA-SHA256" ,签名输出类型是:"base64" ,首先下载图普科技的公钥证书,然后按如下步骤认证:1、收到的JSON数据经过JSON.parse(),得到JSON对象,记为data; 2、data含两个字段:signature、json;signature是数字签名,json是真正的有效数据的字符串格式; 3、用signature对json进行签名认证,算法: RSA-SHA256 ,输出类型:base64 ,得到认证结果;4、认证通过后,对json进行JSON.parse(),得到JSON数据,详见"json"字段说明。 |
json | String | 是 | json 字段经过JSON.parse(json)后,得到具体的结果,含: message:与code相关的文本信息 timestamp:当前的服务器的Unix时间戳。 nonce:随机数。 |
json内容解析后的结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
code | Number | 是 | 请求的状态码,参考服务公共状态码解析 |
message | String | 是 | 请求的状态信息 |
timestamp | Number | 是 | 当前的服务器的Unix时间戳 |
nonce | Number | 是 | 随机数 |
[taskId] | Object | 是 | 识别任务的结果,不同识别任务会有特定的taskId和[taskId]信息结构 |
... | ... | 否 | 其它识别及请求响应结果信息 |
示例
{
"signature": "signature_from_tupu_service",
"json": "{\"code\":0,\"message\":\"success\",\"nonce\":\"0.5442530125172196\",\"timestamp\":1595318082309}"
}
任务结果信息
taskId
5e6b0164836eb77597849087
taskId参数数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
speeches | Array | 是 | 识别的详细结果,具体数据结构如下 |
speeches参数数据结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
name | String | 是 | 上传的语音文件名称或者url |
details | Array | 是 | 详细结果信息,没有命中的人物声纹时为空数组 |
details数据结构:
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
personName | String | 是 | 命中的人物名称 |
similarity | String | 是 | 相似度,0到1 |
typeName | String | 是 | 人物类型 |
startTime | Number | 是 | 识别出来的声纹在语音中的起始时间 |
endTime | Number | 是 | 识别出来的声纹在语音中的结束时间 |
review | Boolean | 是 | 是否需要复审,true:需要,false:不需要 |
返回示例
{
"5e6b0164836eb77597849087": {
"speeches": [
{
"name": "13.mp3",
"details": [
{
"personName": "韩正",
"similarity": 0.5712890625,
"typeName": "国家或地区领导人",
"startTime": 20,
"endTime": 28,
"review": false
},
{
"personName": "习近平",
"similarity": 0.5712890625,
"typeName": "国家或地区领导人",
"startTime": 30,
"endTime": 40,
"review": false
}
]
}
]
},
"code": 0,
"message": "success",
"nonce": "0.01627771095362096",
"timestamp": 1552391372490
}