# 语音评测suntone API 文档

# 接口说明

• 语音评测suntone是基于智能语音分析技术,自动对发音水平、发音错误、缺陷定位和问题分析的能力接口。

• 部分开发语言demo如下,其他开发语言请参照文档进行开发,也欢迎热心的开发者到 讯飞开放平台社区 (opens new window) 分享你们的demo。
语音评测suntone demo java语言 (opens new window)
语音评测suntone demo python语言 (opens new window)

• 集成语音评测suntoneAPI时,需按照以下要求:

内容 说明
请求协议 ws[s](为提高安全性,强烈推荐wss)
请求地址 中文评测:ws(s): //cn-east-1.ws-api.xf-yun.com/v1/private/s8e098720
其他语种评测:ws(s): //cn-east-1.ws-api.xf-yun.com/v1/private/sffc17cdb
请求行 中文评测:GET /v1/private/s8e098720 HTTP/1.1
其他语种评测:GET /v1/private/sffc17cdb HTTP/1.1
接口鉴权 签名机制,详情请参照下方鉴权说明
字符编码 UTF-8
响应格式 统一采用JSON格式
音频属性 采样率16/8k、位长16/8bit、单声道
音频格式 mp3、speex、speex-wb
音频大小 base64编码后不得超过10M
语言种类 中文、日语、韩语、法语、德语、俄语、西班牙语

# 鉴权说明

在调用业务接口时,请求方需要对请求进行签名,服务端通过签名来校验请求的合法性。 通过在请求地址后面加上鉴权相关参数的方式,参数具体如下: 示例url:

wss://cn-east-1.ws-api.xf-yun.com/v1/private/s8e098720?host=cn-east-1.ws-api.xf-yun.com&date=Tue%2C+16+Aug+2022+08%3A28%3A38+GMT&authorization=YXBpX2tleT0iYXBpa2V5WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0iS3NIa2xFWWJ2Y0hiYldLSnpDQ1J2aEZnSXl1VkowTEcxczVNQ04vMDJzWT0i

鉴权参数:

参数 类型 必须 说明 示例
host string 请求主机 cn-east-1.ws-api.xf-yun.com
date string 当前时间戳,RFC1123格式("EEE, dd MMM yyyy HH:mm:ss z") Tue, 16 Aug 2022 08:28:38 GMT
authorization string 使用base64编码的签名相关信息(签名基于hamc-sha256计算) 参考下方详细生成规则

• date参数生成规则:

date必须是UTC+0或GMT时区,RFC1123格式(Tue, 16 Aug 2022 08:28:38 GMT)。
服务端会对date进行时钟偏移检查,最大允许300秒的偏差,超出偏差的请求都将被拒绝。

• authorization参数生成格式:

1)获取接口密钥APIKey 和 APISecret。
在讯飞开放平台控制台,创建一个应用后打开语音评测页面可以获取,均为32位字符串。
2)参数authorization base64编码前(authorization_origin)的格式如下。

api_key="$api_key",algorithm="hmac-sha256",headers="host date request-line",signature="$signature"

其中 api_key 是在控制台获取的APIKey,algorithm 是加密算法(仅支持hmac-sha256),headers 是参与签名的参数(见下方注释)。
signature 是使用加密算法对参与签名的参数签名后并使用base64编码的字符串,详见下方。

注: headers是参与签名的参数,请注意是固定的参数名("host date request-line"),而非这些参数的值。

3)signature的原始字段(signature_origin)规则如下。

signature原始字段由 host,date,request-line三个参数按照格式拼接成,
拼接的格式为(\n为换行符,’:’后面有一个空格):

host: $host\ndate: $date\n$request-line

假设

请求url =  wss://cn-east-1.ws-api.xf-yun.com/v1/private/s8e098720
date = "Tue, 16 Aug 2022 08:28:38 GMT"

那么 signature原始字段(signature_origin)则为:

host: cn-east-1.ws-api.xf-yun.com
date: Tue, 16 Aug 2022 08:28:38 GMT
GET /v1/private/s8e098720 HTTP/1.1

4)使用hmac-sha256算法结合apiSecret对signature_origin签名,获得签名后的摘要signature_sha。

signature_sha=hmac-sha256(signature_origin,$apiSecret)

其中 apiSecret 是在控制台获取的APISecret

5)使用base64编码对signature_sha进行编码获得最终的signature。

signature=base64(signature_sha)

假设

APISecret = "apisecretXXXXXXXXXXXXXXXXXXXXXXX"	
date = "Tue, 16 Aug 2022 08:28:38 GMT"

则signature为

signature="KsHklEYbvcHbbWKJzCCRvhFgIyuVJ0LG1s5MCN/02sY="

6)根据以上信息拼接authorization base64编码前(authorization_origin)的字符串,示例如下。

api_key="apikeyXXXXXXXXXXXXXXXXXXXXXXXXXX", algorithm="hmac-sha256", headers="host date request-line", signature="KsHklEYbvcHbbWKJzCCRvhFgIyuVJ0LG1s5MCN/02sY="

注: headers是参与签名的参数,请注意是固定的参数名("host date request-line"),而非这些参数的值。

7)最后再对authorization_origin进行base64编码获得最终的authorization参数。

authorization = base64(authorization_origin)
示例结果为:
authorization=YXBpX2tleT0iYXBpa2V5WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0iS3NIa2xFWWJ2Y0hiYldLSnpDQ1J2aEZnSXl1VkowTEcxczVNQ04vMDJzWT0i

# 鉴权结果

如果鉴权失败,则根据不同错误类型返回不同HTTP Code状态码,同时携带错误描述信息,详细错误说明如下:

HTTP Code 说明 错误描述信息 解决方法
401 缺少authorization参数 {"message":"Unauthorized"} 检查是否有authorization参数,详情见authorization参数详细生成规则
401 签名参数解析失败 {“message”:”HMAC signature cannot be verified”} 检查签名的各个参数是否有缺失是否正确,特别确认下复制的api_key是否正确
401 签名校验失败 {“message”:”HMAC signature does not match”} 签名验证失败,可能原因有很多。
1. 检查api_key,api_secret 是否正确 。
2.检查计算签名的参数host,date,request-line是否按照协议要求拼接 。
3. 检查signature签名的base64长度是否正常(正常44个字节) 。
403 时钟偏移校验失败 {“message”:”HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication”} 检查服务器时间是否标准,相差5分钟以上会报此错误

时钟偏移校验失败示例:

HTTP/1.1 403 Forbidden
Date: Mon, 30 Nov 2020 02:34:33 GMT
Content-Length: 116
Content-Type: text/plain; charset=utf-8
{
    "message": "HMAC signature does not match, a valid date or x-date header is required for HMAC Authentication"
}

# 请求参数

在调用业务接口时,都需要配置以下参数,请求数据均为json字符串。
请求参数示例:

{
	"header": {
		"app_id": "123456",
		"status": 0
	},
	"parameter": {
		"st": {
			"lang": "cn",
			"core": "para",
			"refText": "您好,欢迎来到科大讯飞。",
			"result": {
				"encoding": "utf8",
				"compress": "raw",
				"format": "plain"
			}
		}
	},
	"payload": {
		"data": {
			"encoding": "lame",
			"sample_rate": 16000,
			"channels": 1,
			"bit_depth": 16,
			"status": 0,
			"seq": 0,
			"audio": "O8L/5LpzMJAMg......",
			"frame_size": 0
		}
	}
}

请求参数说明:

参数名 类型 必传 描述
header Object 协议头部,用于描述平台特性的参数
header.app_id string 在平台申请的app id信息
header.status int 请求状态,可选值为:
0-开始
1-继续
2-结束
parameter Object AI 特性参数,用于控制 AI 引擎特性的开关
parameter.st Object 服务别名
parameter.st.lang string 评测语种
cn:中文
kr:韩语
fr:法语
de:德语
ru:俄语
sp:西班牙语
jp:日语
注:中文评测与其他语种评测请求地址不一样,使用其他语种评测时需要更改请求地址
parameter.st.core string 评测类型
word:字
sent:句子
para:段落
parameter.st.refText string 参考文本,最小长度:1,最大长度:4096。
可以传指定发音,如:
"我们的会{kuai4}计会{hui4}给你的"
注:
1、使用这种方式传拼音的时候拼音必须紧跟着中文,拼音左侧不能是非中文,如不能传“会&{kuai4}”
2、指定发音不能和refPinyin 一起使用,优先级reftext>customized_lexicon)
parameter.st.getParam int 返回结果是否含请求参数,可选值:
0-不返回
1-返回
parameter.st.dict_type string 自定义音标显示 (仅日语评测的单词、句子评测支持该参数),origin以原始音素显示,hiragana以片假名显示(默认)
parameter.st.attachAudioUrl int 返回结果是否含音频下载地址,可选值:
0-不包含
1-包含
parameter.st.vad int 是否启用VAD,可选值:
0-关闭
1-开启
parameter.st.seek int 仅支持vad的sdk,设置后防止没声音立即返回结束说话的状态,单位 10ms,最小值:0,最大值:120
注意:仅在开启vad的时候有效。
parameter.st.ref_length int 仅支持vad的sdk,设置后防止seek检测到停止说话提前返回停止录音的状态,单位 10ms,最小值:0,最大值:120
注意:仅在开启vad的时候有效
parameter.st.phoneme_output int 返回结果是否含音素维度(段落模式不支持),可选值:
0-关闭
1-打开
parameter.st.slack float 打分松紧度,最小值: -1,最大值: 1
parameter.st.scale int 分制,最小值: 0,最大值: 100
parameter.st.precision float 得分精度,最小值: 0,最大值: 1
parameter.st.customized_lexicon string 指定特定字的期望发音,支持直接用声调显示或者数字显示声调,可选值:
1:第一声
2:第二声
3:第三声
4:第四声
5:轻声
如:
"customized_lexicon":"{\"会\":[\"hui3\"]}"
“customized_lexicon":{\"会\": [\"huì\"]}
“customized_lexicon":{\ "会@1\": [\"hui4\"], "\ 会@2 \": [\ "kuai4 \"]}
(@后面跟数字表示文本中的第几个“会”字,这几种写法优先级有@的高)
注:refPinyin和customized_lexicon不能同时使用
parameter.st.refPinyin string 参考拼音,reftext (不指定发音) 和refPinyin可以同时传入,或只传refText,或只传refPinyin,且reftext不能传空值。
同时传入需要reftext和refPinyin一一对应,如:
(1)只传refPinyin,支持数字写法和声调写法两种:如 "refPinyin":"ni3 hao3"或者"refPinyin":"nǐ hǎo"
(2)同时传refText跟refPinyin,只支持数字写法:如 "refPinyin":"ni3 hao3","refText":"你好"
注:同时传入reftext和refPinyin时,refPinyin只支持拼音+数字的写法,不支持加声调
parameter.st.output_rawtext int 保留标点符号(句子和段落模式下可用),可选值:
0-关闭
1-打开
parameter.st.realtime_feedback int 支持评测结果实时反馈(仅支持句子模式下可用),可选值:
0-关闭
1-打开
parameter.st.paragraph_need_word_score int 返回结果是否含单词维度(仅段落模式下可用),可选值:1、0 (默认)
parameter.st.result Object 响应数据
parameter.st.result.encoding string 文本编码,可选值:
utf8 (默认)、gb2312
parameter.st.result.compress string 文本压缩格式,可选值:raw、gzip
parameter.st.result.format string 文本格式,可选值:plain、json、 xml
payload Object 输入数据段,携带请求的数据
payload.data Object 输入数据
payload.data.encoding string 音频编码,可选值:
lame、speex、speex-wb (默认)
注:speex格式仅支持标准开源的speex,不支持讯飞定制的speex
payload.data.sample_rate int 采样率,可选值:
16000、8000
payload.data.channels int 声道数,可选值:
1
payload.data.bit_depth int 位深,可选值:
16 (默认)、8
payload.data.status int 数据状态,可选值:
0-开始
1-开始
2-结束
payload.data.seq int 数据序号,最小值:0,最大值:9999999
payload.data.audio string 音频数据,base64编码后不得超过10M
payload.data.frame_size int 帧大小,最小值:0 (默认), 最大值:1024

# 返回结果

如出现错误码,可到 这里 (opens new window) 查询。
返回参数示例:

{
	"header": {
		"code": 0,
		"message": "success",
		"sid": "ase000f44d2@hu1809374610f05c2882",
		"status": 2
	},
	"payload": {
		"result": {
			"text": "eyJkdExhc3RS......",
			"seq": 1,
			"format": "plain",
			"encoding": "utf8",
			"compress": "raw",
			"status": 2
		}
	}
}

返回参数说明:

参数名 类型 描述
header Object 协议头部,用于描述平台特性的参数
header.code int 返回码,0表示成功,其它表示异常
header.message string 错误描述
header.sid string 本次会话的id
header.status int 响应状态
payload Object 数据段,携带响应的数据
payload.result Object 输出数据
payload.result.text string 响应结果,采用base64编码
payload.result.seq int 数据序号
payload.result.format string 文本格式
payload.result.encoding string 文本编码
payload.result.compress string 文本压缩格式
payload.result.status int 数据状态

text字段base64解码示例(core = sent):

{
	"refText": "您好,欢迎来到科大讯飞。",
	"tokenId": "xfst",
	"result": {
		"words": [{
			"span": {
				"end": 23,
				"start": 0
			},
			"charType": 0,
			"word": "您",
			"phonemes": [{
				"span": {
					"end": 17,
					"start": 0
				},
				"tone_index": "0",
				"phone": "n",
				"pronunciation": 94,
				"phoneme": "N"
			}, {
				"span": {
					"end": 23,
					"start": 17
				},
				"tone_index": "1",
				"phone": "in",
				"pronunciation": 100,
				"phoneme": "IN"
			}],
			"pinyin": "nin",
			"tone": "tone2",
			"readType": 2,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 97,
				"prominence": 1,
				"overall": 97
			}
		}, {
			"span": {
				"end": 52,
				"start": 23
			},
			"charType": 0,
			"word": "好",
			"phonemes": [{
				"span": {
					"end": 33,
					"start": 23
				},
				"tone_index": "0",
				"phone": "h",
				"pronunciation": 100,
				"phoneme": "H"
			}, {
				"span": {
					"end": 52,
					"start": 33
				},
				"tone_index": "1",
				"phone": "ao",
				"pronunciation": 100,
				"phoneme": "AO"
			}],
			"pinyin": "hao",
			"tone": "tone3",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 0,
				"overall": 100
			}
		}, {
			"span": {
				"end": 84,
				"start": 64
			},
			"charType": 0,
			"word": "欢",
			"phonemes": [{
				"span": {
					"end": 78,
					"start": 64
				},
				"tone_index": "0",
				"phone": "h",
				"pronunciation": 98,
				"phoneme": "H"
			}, {
				"span": {
					"end": 84,
					"start": 78
				},
				"tone_index": "2",
				"phone": "uan",
				"pronunciation": 100,
				"phoneme": "UAN"
			}],
			"pinyin": "huan",
			"tone": "tone1",
			"readType": 0,
			"pause": {
				"duration": 12,
				"type": 1
			},
			"scores": {
				"tone": 100,
				"pronunciation": 99,
				"prominence": 1,
				"overall": 99
			}
		}, {
			"span": {
				"end": 94,
				"start": 84
			},
			"charType": 0,
			"word": "迎",
			"phonemes": [{
				"span": {
					"end": 89,
					"start": 84
				},
				"tone_index": "0",
				"phone": "y",
				"pronunciation": 100,
				"phoneme": "II"
			}, {
				"span": {
					"end": 94,
					"start": 89
				},
				"tone_index": "1",
				"phone": "ing",
				"pronunciation": 97,
				"phoneme": "ING"
			}],
			"pinyin": "ying",
			"tone": "tone2",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 69,
				"pronunciation": 99,
				"prominence": 1,
				"overall": 99
			}
		}, {
			"span": {
				"end": 112,
				"start": 94
			},
			"charType": 0,
			"word": "来",
			"phonemes": [{
				"span": {
					"end": 101,
					"start": 94
				},
				"tone_index": "0",
				"phone": "l",
				"pronunciation": 100,
				"phoneme": "L"
			}, {
				"span": {
					"end": 112,
					"start": 101
				},
				"tone_index": "1",
				"phone": "ai",
				"pronunciation": 100,
				"phoneme": "AI"
			}],
			"pinyin": "lai",
			"tone": "tone2",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 1,
				"overall": 100
			}
		}, {
			"span": {
				"end": 130,
				"start": 112
			},
			"charType": 0,
			"word": "到",
			"phonemes": [{
				"span": {
					"end": 119,
					"start": 112
				},
				"tone_index": "0",
				"phone": "d",
				"pronunciation": 100,
				"phoneme": "D"
			}, {
				"span": {
					"end": 130,
					"start": 119
				},
				"tone_index": "1",
				"phone": "ao",
				"pronunciation": 100,
				"phoneme": "AO"
			}],
			"pinyin": "dao",
			"tone": "tone4",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 1,
				"overall": 100
			}
		}, {
			"span": {
				"end": 149,
				"start": 130
			},
			"charType": 0,
			"word": "科",
			"phonemes": [{
				"span": {
					"end": 145,
					"start": 130
				},
				"tone_index": "0",
				"phone": "k",
				"pronunciation": 100,
				"phoneme": "K"
			}, {
				"span": {
					"end": 149,
					"start": 145
				},
				"tone_index": "1",
				"phone": "e",
				"pronunciation": 100,
				"phoneme": "E"
			}],
			"pinyin": "ke",
			"tone": "tone1",
			"readType": 1,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 1,
				"overall": 100
			}
		}, {
			"span": {
				"end": 163,
				"start": 149
			},
			"charType": 0,
			"word": "大",
			"phonemes": [{
				"span": {
					"end": 155,
					"start": 149
				},
				"tone_index": "0",
				"phone": "d",
				"pronunciation": 100,
				"phoneme": "D"
			}, {
				"span": {
					"end": 163,
					"start": 155
				},
				"tone_index": "1",
				"phone": "a",
				"pronunciation": 100,
				"phoneme": "A"
			}],
			"pinyin": "da",
			"tone": "tone4",
			"readType": 1,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 67,
				"pronunciation": 100,
				"prominence": 1,
				"overall": 100
			}
		}, {
			"span": {
				"end": 184,
				"start": 163
			},
			"charType": 0,
			"word": "讯",
			"phonemes": [{
				"span": {
					"end": 177,
					"start": 163
				},
				"tone_index": "0",
				"phone": "x",
				"pronunciation": 100,
				"phoneme": "X"
			}, {
				"span": {
					"end": 184,
					"start": 177
				},
				"tone_index": "1",
				"phone": "un",
				"pronunciation": 100,
				"phoneme": "VN"
			}],
			"pinyin": "xun",
			"tone": "tone4",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 1,
				"overall": 100
			}
		}, {
			"span": {
				"end": 221,
				"start": 184
			},
			"charType": 0,
			"word": "飞",
			"phonemes": [{
				"span": {
					"end": 194,
					"start": 184
				},
				"tone_index": "0",
				"phone": "f",
				"pronunciation": 100,
				"phoneme": "F"
			}, {
				"span": {
					"end": 221,
					"start": 194
				},
				"tone_index": "1",
				"phone": "ei",
				"pronunciation": 100,
				"phoneme": "EI"
			}],
			"pinyin": "fei",
			"tone": "tone1",
			"readType": 0,
			"pause": {
				"duration": 0,
				"type": 0
			},
			"scores": {
				"tone": 100,
				"pronunciation": 100,
				"prominence": 0,
				"overall": 100
			}
		}],
		"tone": 94,
		"pronunciation": 100,
		"kernel_version": "1.8.2",
		"overall": 89,
		"integrity": 100,
		"rhythm": 53,
		"rear_tone": "rise",
		"speed": 271,
		"resource_version": "1.4.3",
		"fluency": 95,
		"duration": "10.260",
		"warning": [{
			"message": "Audio noisy!",
			"code": 1004
		}]
	},
	"applicationId": "16357353960000ba",
	"dtLastResponse": "2022-05-11 15:16:58:875",
	"eof": 1,
	"recordId": "627b62ea4aa5c2200001566d"
}

text字段参数说明:

参数名 类型 描述
eof int 结果标识,0:中间结果,1:最终结果
tokenId string 终端用户请求id
applicationId string appKey
refText string 参考信息
recordId string 评分唯一id
audioUrl string 音频文件地址
注:需开启attachAudioUrl
params Object 请求参数
注:需开启getParam
params.app.timestamp string 当前时间戳
params.app.applicationId string appkey
params.app.userId string 用户标识
params.app.sig string 评分校验码
params.audio.audioType string 音频格式
params.audio.sampleRate int 音频的采样率
params.audio.sampleByte int 音频的采样字节
params.audio.channel int 音频声道
result Object 评分结果

result字段参数说明:
1、单词评测 core = word

参数名 类型 描述
tone int / float 声调得分
warning array 忽略
overall int / float 总分
duration string 音频时长
pronunciation int / float 发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
kernel_version string 内核版本
resource_version string 资源版本
words array 汉字
words.charType int 0:非标点符号,1:标点符号
words.word string 汉字
words.tone string 发音声调
tone1:第一声
tone2:第二声
tone3:第三声
tone4:第四声
tone5:轻声
words.scores object 汉字拆分成音标得分详情
words.scores.overall int / float 汉字总分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.scores.pronunciation int / float 发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.scores.tone int / float 声调得分
words.readType int 0:正常读,1:增读,3:重复读,4:错读
words.pinyin string 拼音
words.span object 汉字在音轨上的时间范围
words.span.end int 汉字在音轨上的结束时间,单位10ms
words.span.start int 汉字在音轨上的开始时间,单位10ms
words.phonemes array 音素信息
注: 需要开启 phoneme_output
words.phonemes.pronunciation int / float 音素发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.phonemes.phoneme string 音素的发音
words.phonemes.span int 音素在音轨上的时间
words.phonemes.span.end int 音素在音轨上的结束时间,单位10ms
words.phonemes.span.start int 音素在音轨上的开始时间,单位10ms
words.phonemes.phone string 用于对应原始音标的中文音标
words.phonemes.tone_index string 用于标注声调的位置,0:无声音,起始位置为1

2、句子评测 core = sent

参数名 类型 描述
fluency int / float 流利度
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
duration string 音频时长
kernel_version string 内核版本
rear_tone string 句末语调
rise:升调,fall:降调
speed int 语速
integrity int / float 完整度
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
pronunciation int / float 发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
overall int / float 总分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
resource_version string 资源版本
rhythm int / float 韵律度得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
warning array 可忽略
tone int / float 声调得分
words Object 各汉字得分
words.scores Object 句子中的汉字得分情况
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.scores.prominence int 汉字重读,0 :非重读 ,1:重读
words.scores.overall int / float 总分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.scores.pronunciation int / float 句子中的汉字发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.scores.tone int / float 句子中汉字的声调得分
words.span Object 汉字在音轨上的时间范围
words.span.span int 音素在音轨上的时间
words.span.phoneme string 音素在音轨上的时间
words.span.pronunciation int / float 音素发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.word string 汉字或者标点符号(output_rawtext 开启的时候会显示标点符号)
words.charType int 0:非标点符号,1:标点符号
words.phonemes array 音素信息, 需要开启 phoneme_output
words.phonemes.span int 音素在音轨上的时间
words.phonemes.span.end int 音素在音轨上的结束时间,单位10ms
words.phonemes.span.start int 音素在音轨上的开始时间,单位10ms
words.phonemes.phoneme string 音素的发音
words.phonemes.pronunciation int / float 音素发音得分
若 precision(精度)设置为浮点型时,该值显示为浮点型(若该值小数点后为 0,则显示成整型)
若scale(分制)设置为(0,1),该值显示为浮点型,否则为整型
words.phonemes.tone_index string 用于标注声调的位置,0: 无声音,起始位置为1
words.phonemes.phone string 用于对应原始音标的中文音标
words.tone string 发音声调
tone1:第一声
tone2:第二声
tone3:第三声
tone4:第四声
tone5:轻声
words.readType int 0: 正常读,1: 当前字前面有插入情况,2: 漏读
words.pinyin string 拼音
words.pause Object 停顿检测
words.pause.type int 1: 停顿,0: 未停顿
words.pause.duration int 停顿时间,单位10ms

3、段落评测 core = para

参数名 类型 描述
fluency int / float 流利度
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
duration string 音频时长
kernel_version string 内核版本
speed int 语速
integrity int / float 完整度
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
overall int / float 总分
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
resource_version string 资源版本
rhythm int / float 韵律度得分
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
warning array 可忽略
tone int / float 声调得分
sentences array 段落信息
sentences.prominence int 句子中单词重读,0: 非重读 ,1: 重读
sentences.charType int 0:非标点符号,1:标点符号
sentences.overall int / float 句子单词的总分
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
sentences.word string 句子中的单词
sentences.start int 句子中单词开始在音轨上的时间
sentences.end int 句子中单词结束在音轨上的时间
sentences.tone int / float 声调得分
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型
sentences.readType int 0:正常读,1:当前字前面有插入情况,2:漏读
sentences.pinyin string 句子汉字的拼音
pronunciation int / float 发音得分
若 precision (精度) 设置为浮点型时,该值显示为浮点型 (若该值小数点后为 0,则显示成整型)
若scale (分制) 设置为 (0,1) ,该值显示为浮点型,否则为整型

# 常见问题

# 语音评测的主要功能是什么?

答:通过智能语音技术自动对发音水平进行评价、发音错误、缺陷定位和问题分析的能力接口。

# 语音评测支持生成什么音频格式?

答:目前支持采样率16/8k、位长16/8bit、单声道的mp3或speex格式的音频。

# 语音评测支持什么应用平台?

答:目前支持WebAPI应用平台。

在线
咨询
建议
反馈
体验
中心