选读
该文档是开发者在产品功能集成阶段 使用的英文句子选读题型的语音评测技术文档
本题型适用场景:
设定几个答案,用户读哪个,就会返回哪个句子的得分。
可以根据返回结果知道用户实际读的哪个句子,并且获得句子中每个单词的得分。
评测请求参数
字段 | 类型 | 可选 | 说明 |
coreType | String | 必选 | en.pcha.score表示选择句子选读评分题型 |
rank | int | 可选 | 总分评分分制 |
precision | double | 可选 | 设置打分精度,只支持0.1、0.5或者1,默认值为1(如果设置的值不是0.1或0.5则按1处理) |
lm | array | 必选 | 每个text表示一个句子; (注:lm字段是LM的小写形式) |
cmd_word | int | 可选 | 0:表示使用常规的解码网络(默认是0) 1:表示使用精简的解码网络(解码速度会快一些,但是效果会下降;当参数文本较多时,可以设置此项) |
attachAudioUrl | int | 可选 | 评测结果中是否返回音频url |
参数示例
{
"coreType": "en.pcha.score",
"rank": 2,
"precision": 0.5,
"attachAudioUrl":1,
"lm": [
{
"text": "In an office."
},
{
"text": "In a store."
},
{
"text": "In the street."
}
]
}返回结果示例
{
"tokenId": "6128911b88bf5b0000010001",
"applicationId": "a148",
"audioUrl": "http:\/\/files.cloud.ssapi.cn:8080\/a148\/11ec0706927891bcb926a148a2611b16",
"connect": {
"param": {
"app": {
"timestamp": "1630048539",
"applicationId": "a148",
"sig": "4ed2c46a91797df21ab073c83da52deb3d59e157"
},
"sdk": {
"os": "6.2(9200)1",
"product": "",
"source": 7,
"protocol": 1,
"os_version": "6.2(9200)",
"arch": "586",
"version": 16778752
}
},
"cmd": "connect"
},
"params": {
"app": {
"timestamp": "1630048539",
"userId": "ssound_text",
"sig": "4ed2c46a91797df21ab073c83da52deb3d59e157",
"connect_id": "6128911b88bf5b0000030002",
"clientId": "",
"applicationId": "a148"
},
"audio": {
"sampleBytes": 2,
"audioType": "ogg",
"sampleRate": 16000,
"channel": 1
},
"request": {
"lm": [
{
"text": "In an office."
},
{
"text": "In a store."
},
{
"text": "In the street."
}
],
"tokenId": "6128911b88bf5b0000010001",
"precision": 0.5,
"attachAudioUrl": 1,
"request_id": "6128911b88bf5b0000020001",
"rank": 2,
"coreType": "en.pcha.score"
}
},
"recordId": "11ec0706927891bcb926a148a2611b16",
"eof": 1,
"result": {
"index": 3,
"wavetime": 2990,
"precision": 0.5,
"systime": 2896,
"res": "eng.pcha.mfcc.0.1",
"version": "0.0.80.2021.7.24.00:01:28",
"info": {
"tipId": 0,
"clip": 0,
"snr": 24.283798,
"volume": 86
},
"rank": 2,
"delaytime": 81,
"details": [
{
"accent": "ea",
"char": "In",
"dur": 310,
"score": 2,
"end": 1130,
"start": 820
},
{
"accent": "ea",
"char": "the",
"dur": 160,
"score": 2,
"end": 1290,
"start": 1130
},
{
"accent": "ea",
"char": "street",
"dur": 660,
"score": 2,
"end": 1950,
"start": 1290
}
],
"pretime": 2,
"overall": 1.5
},
"dtLastResponse": "2021-08-27 15:15:38:989",
"cloud_platform": {
"origin_audio_length": 11600
}
}返回结果说明
键 | 类型 | 说明 | 使用建议 |
recordId | string | 音频文件的唯一标识 | 可供参考 |
tokenId | string | 用户请求的唯一标识 | 可供参考 |
applicationId | string | 授权账号,即提供的Appkey | 内部参数 |
audioUrl | string | 用户音频地址,在云端默认只保存一个月,建议保存到产品端服务器 | 可供参考 |
dtLastResponse | string | 云端响应的时间点 | 内部参数 |
eof | Int | 0表示返回未结束,后续还有其它的返回结果 1:表示本次评测所有的返回结束 | 内部参数 |
params | object | 回显客户端传入的评测请求参数 | |
- app | object | ||
- - applicationId | string | 授权账号,即提供的Appkey | |
- - userId | string | 用户标识 ,自定义字符串,方便定位排查问题 | |
- - timestamp | string | start时间 | |
- - sig | string | 校验码 | |
- - clientId | string | ||
- request | object | 评分请求参数节点 | |
- audio | object | 评分请求的音频参数节点 | |
result | object | 评测结果 | |
- res | string | 评测本题型时,使用的资源名称 | 内部参数 |
- version | string | 引擎的版本,包含发布时间 | 内部参数 |
- rank | int | 评分分制 | 内部参数 |
- precision | float | 评分精度 | 内部参数 |
- pretime | int | 云端调用Start接口本身耗时,单位ms | 内部参数 |
- systime | int | 评测整个过程的总耗时,单位ms | 内部参数 |
- delaytime | int | 云端从feed音频结束到获取结果的耗时,单位ms | 内部参数 |
- wavetime | int | 音频时长,单位ms | 可供参考 |
- overall | float | 总分 | 建议字段 |
- index | int | 表示读的第几个句子(从1开始) | 建议字段 |
- details | array | 选读句子的评分详情 | 建议字段 |
- - char | string | 单词 | |
- - score | int | 单词发音得分 | |
- - start | int | 单词在音频中的起始时间,单位为毫秒(ms) | |
- - dur | int | 单词在音频中的结束时间,单位为毫秒(ms) | |
- - end | int | 单词发音时间,单位为毫秒(ms) | |
- info | object | ||
- - snr | float | 信噪比,值越高越清晰,范围(0~40dB) 此参数影响评分时,会设置相应的tipId值 | 可供参考 |
- - clip | float | 音频声音太高,出现截幅,范围(0\~1)。 此参数影响评分时,会设置相应的tipId值 | 内部参数 |
- - volume | int | 录音音量,范围(0~180dB) | 可供参考 |
- - tipId | int | 音频质量,详情请参考 tipId提示信息说明 | 建议字段 |
评测结果展现建议
维度 | 说明 | 详细 |
overall | 发音总分 | 对选读句子的发音情况进行总体评价 |
index | 句子的编号 | 显示评测的是第几个句子 |
detailss.score | 每个单词的得分 | 选读句子中每个单词的得分 |
评测失败时的返回结果
如果返回的评测结果中result结构为空,说明评测失败。通过返回结果可以获取 errId 和 error,需要根据相应错误码进行后续判断和处理。
错误码
错误码参考:评测错误码