请求示例

最近更新时间:2024-06-13 16:15:52

我的收藏

一次性评测

使用中文单词模式做演示。适合初次接入,使用较短文件来进行评测。 单词模式只支持单词(缩写,组合词)/单字。

请求参数

UserVoiceData 需要使用音频数据的 base64 格式。音频数据转成 base64。格式要求参考 音频上传格式
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZPSUNSRBEAAAAyMDIxLTA3LTAxIDEzOjQzAABJU0ZUDgAAAE*"
SessionId 是音频的唯一标识,为了避免重复,推荐使用 uuid 作为唯一标识
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
EvalMode 是评测模式,参考 评测模式介绍
EvalMode = 0
其他参数信息可以参考 官方文档
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
RefText = "我"
WorkMode = 1
ScoreCoeff = 1.0
ServerType = 1

返回结果

所有评测模式都需要关注的字段。
SuggestedScore:作为总分使用
PronAccuracy:准确度
PronFluency:流利度
PronCompletion:完整度
Phone:音素
DetectedStress:用户是否重音
Stress:是否应该重音
MatchTag:当前词匹配情况。评分为0情况下观察是否漏读,错读。

流式评测

使用英文句子演示流式评测。由于一次性评测评测不了过长的音频数据,所以需要使用流式评测,将音频数据分片传输。 句子模式可以支持30单词/单字以下的文本。

请求参数

流式评测情况下 SeqId 从1开始依次累加(index+1),IsEnd 在尾包的时为1,其他时候为0。UserVoiceData 需要音频 base64 的数据,会根据 SeqId 顺序拼接成完整的音频。使用流式评测需要将 WorkMode 设置为0。 流式分片评测可以根据我们 SDK 的方法实现,或者百度搜索大文件分片传输,如图所示(将音频分成三个分片):


SeqId = 1
IsEnd = 0
WorkMode = 0
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZPSU*"
SeqId = 2
IsEnd = 0
WorkMode = 0
UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
SeqId = 3
IsEnd = 1
WorkMode = 0
UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
句子模式支持实时,可以通过设置 SentenceInfoEnabled=1,获取实时中间结果。
SentenceInfoEnabled = 1
其他参数信息可以参考 官方文档 或上方参数描述。
VoiceFileType = 3
VoiceEncodeType = 1
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
RefText = "i have a car"
EvalMode = 1
ScoreCoeff = 1.0
ServerType = 0
TextMode = 0

返回结果

实时评测需要关注参数。
SentenceInfo:可以返回评测中间结果
Status:中间结果为Evaluating,最终结果为Finished

指定单词发音

使用英文句子模式演示指定单词发音。 当需要使用音标评测或文本中出现不常见人名,地名,返回结果 MatchTag:4(不在字典)的时候,需要指定单词发音,否则会按照我们词库生成发音或报错。

请求参数

使用指定发音需要设置 TextMode = 1。使用 Wordlist 的结构来表示音素结构。音素结构 Word 需要填写指定的单词,Pron 需要填写智聆音素(可以参考音素映射表)。没有 Pron 则不指定发音,Pron 为空或非智聆音素会报错。
RefText = "{\\"wordlist\\": [{\\"word\\": \\"english\\"},{\\"word\\": \\"tencent\\",\\"pron\\": [[\\"t\\",\\"ah\\",\\"n\\",\\"s\\",\\"ah\\",\\"n\\",\\"t\\"]]},{\\"word\\": \\"smart oral evaluation\\"}]}"
TextMode = 1

音标评测

不指定音标的情况下一般发字母音或报错,所以需要对音标进行评测。

请求参数

文本参考
Word 需要填入国际音标,Pron 需要填入智聆音素,例如国际音标 e,对应智聆音素 eh。详情参考音素映射表
RefText = "{\\"wordlist\\": [{\\"word\\": \\"e\\",\\"pron\\": [[\\"eh\\"]]}]}"
TextMode = 1
Word 无法直接传入部分音标,所以需要做替换处理。例如 æ,可以使用 ae。
文本参考
RefText = "{"wordlist": [{"word": "ae","pron": [["ae"]]}]}"
TextMode = 1

多音词评测

当一个单词有是多音词且发音都算正确时,可以使用多音词评测。

请求参数

文本参考
RefText = "{\\"wordlist\\": [{\\"word\\": \\"bikeOrabout\\",\\"pron\\": [[\\"b\\",\\"ay\\",\\"k\\"],[\\"ah\\",\\"b\\",\\"ao\\",\\"t\\"]]}]}"
TextMode = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
EvalMode = 1
ScoreCoeff = 1.0
ServerType = 0

指定汉字发音

使用中文段落模式演示指定汉字发音。

请求参数

指定汉字发音和指定单词发音类似,都是属于指定发音。Word 填入需要指定的汉字,Pron 填入拼音。
RefText = "{\\"wordlist\\": [{\\"word\\": \\"靠山吃山,靠水吃水。仪\\"},{\\"word\\": \\"陇\\",\\"pron\\": [[\\"long2\\"]]},{\\"word\\": \\"是山区,有山林竹木,有山货药材,一定要根据山区特点,多搞副业,广开财路。除了粮食,还要抓好棉花、油料生产。多养猪,多喂鸡鸭牛羊,把改善老百姓的生活作为大事来抓。还要动员老百姓在田边地角、河坡路旁多种树,比如桑树、果树、茶树、白蜡树等。要搞好发展规划,定目标要切合实际,不要搞一刀切、瞎指挥。办事要老老实实,统计的数字要真实,遇事多和群众商量。\\"}]}"
TextMode = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
EvalMode = 2
ScoreCoeff = 1.0
ServerType = 1

异步轮询

使用中文自由说模式演示结果查询。

请求参数

自由说模块可以不填写参考文本,根据用户阅读的内容来进行打分。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"
RefText = ""
WorkMode = 1
EvalMode = 3
ScoreCoeff = 1.0
ServerType = 1
IsAsync = 1
在请求结束之后,一般会返回评测结果。如果需要再次对结果查询(10分钟内),可以设置 IsQuery = 1,使用对应 SessionId 查询相应的结果。如果不存在会报错:结果缓存已过期。
IsQuery = 1
SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData ="UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
RefText = ""
WorkMode = 1
EvalMode = 3
ScoreCoeff = 1.0
ServerType = 1


音素到字母映射

使用英文单词纠错模式做演示。

请求参数

音素纠错模式可以返回用户发音内容和文本标准内容,标明客户读错的具体内容。RefText 与单词模式一致。
RefText = "hello"
EvalMode = 4
音素到字母的映射 RefText 需要使用 {::cmd{F_P2L=true}} + 单词开启音素到字母映射。
RefText = "{::cmd{F_P2L=true}}hello"
EvalMode = 4
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 1
ScoreCoeff = 1.0
ServerType = 0

返回结果

音素纠错模式需要关注字段。
Phone:音频对应音素
ReferencePhone:文本对应标准音素
映射需要关注参数。
Phone:当前音素
ReferenceLetter:当前音素对应字母

中文句子多分支模式

需要使用单选题的场景。

请求参数

RefText 使用 | 来划分不同的句子,| 表示或
RefText = "苹果|香蕉|菠萝"
EvalMode = 6
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 1
ScoreCoeff = 1.0
ServerType = 1

单词实时模式

使用单词实时模式,可以中间就拿到单词的评测结果。

请求参数

RefText 使用 | 来划分不同的单词,| 表示或
RefText = "apple | bagworm | first"
EvalMode = 7
单词实时模式如果需要普通文本和指定发音混合评测,需要使用单词 + {::pron{智聆音素}} 来进行指定发音。
RefText = "apple | bagworm | first | happy{::pron{hh,ae,p,iy}}"
EvalMode = 7
TextMode = 0
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 0
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
ScoreCoeff = 1.0
ServerType = 0
SeqId = 2
IsEnd = 0
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
ScoreCoeff = 1.0
ServerType = 0
SeqId = 3
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
ScoreCoeff = 1.0
ServerType = 0

拼音模式

请求参数

拼音模式需要使用中文模式,RefText 使用1,2,3,4,表示声调。
RefText = "sh an1"
EvalMode = 8
ServerType = 1

声调检测

请求参数

RefText需要使用 {::cmd{F_TDET=true}} + 拼音开启声调检测。
RefText = "{::cmd{F_TDET=true}}sh an1"
EvalMode = 8
ServerType = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 1
ScoreCoeff = 1.0

返回结果

声调评测需要关注参数。
word:原始评测文本
ReferenceWord:标准发音
phone:真实发音音素
ReferencePhone:标准发音音素,可依此判断声调是否正确。

中英文混合评测

中文评测下可以支持一些简单的英文,也可以通过音素结构来指定发音。
RefText = "我有一座house"
ServerType = 1
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "820993ae-fcfb-11ec-91fc-acde48001122"
WorkMode = 0
EvalMode = 1
ScoreCoeff = 1.0

业务应用

为了区分不同的业务,需要使用不同的业务应用 ID 来区分。例如同一公司,不同的产品,不同的应用平台,不同地域划分。 需要在 应用管理控制台 新建应用,新建应用内容根据需要填写。



请求参数

在请求参数填入对应 SoeAppId。
SoeAppId = "soe_100xxxxx"
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"
RefText = "hello"
WorkMode = 1
EvalMode = 0
ScoreCoeff = 1.0
ServerType = 0

苛刻度

设置不同的苛刻度,对应不同年龄段。

影响范围

取三段不同的数据,苛刻度在1.0 - 4.0之间的变化曲线如下所示:



按需设值

具体需要设置值,可以根据反馈情况,收集音频数据进行打分对比,调整为更符合的苛刻度。
ScoreCoeff = 1.0
其他参数信息可以参考 官方文档 或上方参数描述。
SeqId = 1
IsEnd = 1
VoiceFileType = 3
VoiceEncodeType = 1
UserVoiceData = "UklGRka1CQBXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAATElTVDQAAABJTkZP*"
SessionId = "a61eb16c-fd04-11ec-9898-acde48001122"
RefText = "hello"
WorkMode = 1
EvalMode = 0
ServerType = 0