# 语音评测 Windows SDK 文档
# 1、简介
语音评测(Speech Evaluator)通过智能语音技术自动对发音水平进行评价、发音错误、缺陷进行定位和问题分析。目前语音评测提供汉语、英语两种语言的评测,支持单字(汉语专有)、词语 和句子朗读三种题型。
语音评测详细的接口介绍及说明请参考: MSC window API 文档 (opens new window), 在集成过程中如有疑问,可登录讯飞开放平台论坛,查找答案或与其他开发者交流
# 2、SDK集成指南
# 2.1 Demo运行步骤
1.在控制台下载对应sdk
2.进入sdk内samples目录,双击samples.sln文件(需事先安装Visual Studio)
# 2.2 项目集成步骤
# 2.2.1 sdk包说明
《SDK目录结构一览》
- bin:
- msc.dll(32位动态链接库)
- msc_x64.dll(64位动态链接库)
- msc(生成msc日志)
- wav(符合标准的音频文件样例)
- 相关资源文件
- doc:
- 相关技术文档
- include:
- 调用SDK所需头文件
- libs:
- msc.lib(32位静态链接库)
- msc_x64.lib(64位静态链接库)
- samples:
- samples.sln(VS工程文件,适用于vs2010、vs2012及以上Visual Studio版本)
- ise_sample(语音评测示例)
注意:
- 为了减少SDK包在应用中占用的大小,官网在下载单个功能的SDK包时, 可能并不包含其他功能,如下载唤醒的SDK包时,可能不包含听写或合成等功能,因此在运行未包含功能的示例时,可能会报错。对此请下载对应功能的SDK,或下载组合的SDK包。
# 2.2.2 sdk导入
- Step 1: 新建工程
1.打开Microsoft Visual Studio(本例使用的是VS2010),选择文件->新建->项目->Visual C++ ->Win32控制台应用程序,输入项目名称,然后点击确定键
2.应用程序类型选择“控制台应用程序”,附加选项选择“空项目”,然后点击完成。
- Step 2:配置工程属性
1.将SDK中bin,include,libs文件夹复制到新建工程“Demo”文件夹下
2.导入头文件
右键点击新建工程,选择 “属性“,进入工程属性页面:点击C/C++->常规->附加包含目录,输入相对于工程文件Demo.vcxproj的相对路径,即相对于$(ProjectDir)的路径,另源代码文件也需相同设置。
3.导入msc.dll
a. 加载msc.lib文件:在main.c文件中输入如下图所示代码,其他详细代码请参考Samples中对应的语音示例 注意:加载路径输入相对于工程文件的相对路径
#ifdef _WIN64
#pragma comment(lib,"../libs/msc_x64.lib")
#else
#pragma comment(lib, "../libs/msc.lib")
#endif
b. 将msc.dll所在目录设置为工作目录,即“$(ProjectDir)..\bin\”
4.将目标可执行文件复制到msc.dll所在目录
5.SDK启动后,bin/msc目录下会生成日志。(注意:msc文件夹下需有msc.cfg文件)
# 2.2.3 API调用流程
语音评测主要API调用流程如下图所示:
详细代码调用请参考 Samples中的 ise_sample(语音评测示例); API详细描述请参考API文档 (opens new window),评测业务主要对应的是msp_cmn.h 和 qise.h。
评测试题和结果格式及字段含义详见 语音评测试题格式及结果说明 (opens new window) 文档 ,其它常见问题请参见 科大讯飞语音评测 FAQ (opens new window) 文档。
# 2.3 参数与说明
# 2.3.1 高阶功能
语音评测有以下高阶功能。
权限 | 使用前 | 使用后 | 使用方法 |
---|---|---|---|
全维度 | 仅有总分或英文的音节得分 | 可获得更多评分维度,详情请在下方全维度说明查看 | plev=0 |
# 全维度说明
使用方法:plev=0
使用说明:使用全维度权限前后可获得的结果对比如下,红色为使用全维度以后才会返回的评分维度,返回结果各字段的详细说明请点击 语音评测结果说明 (opens new window) 查看。
题型 | 中文 默认 | 中文 使用全维度 | 英文 默认 | 英文 使用全维度 |
---|---|---|---|---|
字 | 总分(total_score) | 总分(total_score) 声韵分(phone_score) 调型分(tone_score) | - | - |
词 | 总分(total_score) | 总分(total_score) 声韵分(phone_score) 调型分(tone_score) | 总分(total_score) 音节得分(syll_score) | 总分(total_score) 音节得分(syll_score) 准确度分(accuracy_score) |
句 | 总分(total_score) | 总分(total_score) 完整度分(integrity_score) 流畅度分(fluency_score) 声韵分(phone_score) 调型分(tone_score) | 总分(total_score) 音节得分(syll_score) | 总分(total_score) 音节得分(syll_score) 完整度分(integrity_score) 流畅度分(fluency_score) 准确度分(accuracy_score) |
篇章 | 总分(total_score) | 总分(total_score) 完整度分(integrity_score) 流畅度分(fluency_score) 声韵分(phone_score) 调型分(tone_score) | 总分(total_score) 音节得分(syll_score) | 总分(total_score) 音节得分(syll_score) 完整度分(integrity_score) 流畅度分(fluency_score) 准确度分(accuracy_score) |
注:
中文声韵分:指声母和韵母正确率的得分。
中文调型分:指声调正确率的得分。
# 2.3.2 代理服务器设置
在MSPLogin接口的params参数中添加:
net_type=custom, proxy_ip=<host>, proxy_port=<port>
其中,<host>,<port>替换为实际的代理服务器地址和端口。
例如:MSPLogin(NULL, NULL, "appid = 12345678, net_type=custom, proxy_ip=192.168.1.2, proxy_port=8080"); 注意:各参数间,以英文逗号分隔。
接口原型: int MSPLogin(const char* usr, const char* pwd, const char* params)
注意: 若在设置代理参数后,使用语音服务过程中,报错10204/10205/10212等网络异常错误时,请查阅以下内容,做出相关操作:
- 讯飞语音SDK的通信协议使用的是标准HTTP1.1协议,其代理协议使用的是标准HTTP代理协议。
- 代理服务器需要支持全双工多问多答方式,即 pipeline 模式。
- 代理服务器不能对80端口做限制,不能对如下域名做拦截: hdns.openspeech.cn scs.openspeech.cn open.xf-yun.com dev.voicecloud.cn
- 需要确保代理服务器只负责转发数据包,不能改变数据包的完整性和时序性。
- 代理服务器在转发数据包时,不能在HTTP协议头部添加 IE6 标识头。
# 2.3.3 常用参数说明
以下为常用参数说明,更多参数请参考API文档 (opens new window)
参数 | 名称 | 说明 |
---|---|---|
vad_timeout | 允许头部静音的最长时间 | 0-10000毫秒。默认为10000如果静音时长超过了此值,则认为用户此次无有效音频输入。 |
vad_speech_tail | 允许尾部静音的最长时间 | 0-10000毫秒。默认为2000如果尾部静音时长超过了此值,则认为用户音频已经结束,此参数仅在打开VAD功能时有效。 |
category | 评测类型 | 单字评测:read_syllable**(当language=en_us时,不支持)** 词组评测:read_word 句子评测:read_sentence 篇章评测: read_chapter |
language | 评测语言 | zh_cn:简体中文en_us:英语默认为zh_cn |
# 3、常见问题
# 语音评测支持哪些应用平台?
答:目前语音评测支持:Android/IOS/Linux/Windows/Web API应用平台。
# Windows评测sdk如何下载?
答:文档中心---快速指引 (opens new window)有介绍步骤根据步骤下载Windows在线评测sdk
# 语音评测支持题型和结果格式及字段含义?
答:评测试题需要符合一定的格式,汉语试题和英语试题有所不同,同语种的不同题型也有差异。
英文口语评测:支持单词,句子,篇章等题型评测。
中文口语评测:支持字、词、句,篇章等题型评测。
评测试题和结果格式及字段含义详见 语音评测试题格式及结果说明 (opens new window) 文档。
# 语音评测最多支持多长时间的语音输入?
答:支持的音频类型是:单声道 16bit Inter PCM。 支持的音频采样率是:16000HZ。推荐使用Cool edit软件查询音频格式是否符合,音频格式不符合会检测为乱读,分值不能作为参考。
# 语音评测支持传入的音频格式有哪些?
答:支持的音频类型是:单声道 16bit Inter PCM。 支持的音频采样率是:16000HZ。
# 错误码及相应解决方案查询网址
# 如何设置语音云服务URL
答:在MSPLogin接口中添加:server_url = http://YourDomainName/msp.do (YourDomainName是指语音云服务域名,请开发者自行替换) 例如:MSPLogin(NULL, NULL, "appid = 12345678, server_url = http://sdk.openspeech.cn/msp.do"); 注意:各参数间,以英文逗号分隔。 接口原型: int MSPLogin(const char* usr, const char* pwd, const char* params)