声纹识别
服务返回信息的公共结构
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
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
任务结果数据结构:
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
details | Array | 是 | 详细结果信息,没有命中的人物声纹时为空数组 |
details数据结构:
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
personName | String | 是 | 命中的人物名称 |
similarity | String | 是 | 相似度,0到1 |
typeName | String | 是 | 人物类型 |
startTime | Number | 是 | 识别出来的声纹在语音中的起始时间 |
endTime | Number | 是 | 识别出来的声纹在语音中的结束时间 |
review | Boolean | 是 | 是否需要复审,true:需要,false:不需要 |
回调数据的json字段示例(声纹识别):
{
"code": 0,
"message": "success",
"nonce": "0.01627771095362096",
"timestamp": 1552391372490,
"requestId": "tupu_request_id",
"roomId": "your_room_id",
"userId": "your_user_id",
"forumId": "your_forum_id",
"5e6b0164836eb77597849087": {
"details": [
{
"personName":"胡锦涛",
"similarity":1,
"typeName":"国家或地区领导人",
"startTime":0,
"endTime":8,
"review":false
},
{
"personName":"胡锦涛",
"similarity":1,
"typeName":"国家或地区领导人",
"startTime":4,
"endTime":12,
"review":false
}
]
}
}