语音评测 Linux SDK 文档

1、简介

语音评测(Speech Evaluator)通过智能语音技术自动对发音水平进行评价、发音错误、缺陷进行定位和问题分析。目前语音评测提供汉语、英语两种语言的评测,支持单字(汉语专有)、词语 和句子朗读三种题型。

语音评测详细的接口介绍及说明请参考: MSC Linux API 文档, 在集成过程中如有疑问,可登录讯飞开放平台论坛,查找答案或与其他开发者交流。

2、SDK集成指南

2.1 Demo运行步骤

1.在控制台下载对应sdk

2.进入sdk内samples/ise_online_sample目录source 64bit_make.sh或32bit_make.sh, 视系统位数选择

3.运行成功后进入sdk bin目录下cd ../../bin/,运行./ise_online_sample即可看到运行结果

2.2 项目集成步骤

2.2.1 sdk包说明

《SDK目录结构一览》

  • bin:
    • msc(生成msc日志)
    • 相关资源文件
  • doc:
    • 相关技术文档
  • include:
    • 调用SDK所需头文件
  • libs:
    • x86/libmsc.so(32位动态库)
    • x64/libmsc.so(64位动态库)
  • samples:
    • ise_offline_sample(语音评测示例)

2.2.2 sdk导入

  1. 新建目录Demo,将SDK中bin,include,libs文件夹复制到新建工程“Demo”文件夹下
  2. 在demo目录新建文件demo.c,详细源码请参考samples中对应的语音示例
  3. 在demo目录下,创建Makefile文件,具体参见samples下的Makefile,修改路径和目标文件即可
  4. 将samples目录下“32bit_make.sh”文件或者“64bit_make.sh”文件拷到demo目录下,修改libmsc.so库搜索路径
  5. cd到demo目录下,执行“source 32bit_make.sh”或者 “source 64bit_make.sh”完成编译
  6. cd到bin目录下运行目标文件,SDK启动后,bin/msc目录下会生成日志(注意:msc文件夹下需有msc.cfg文件)

2.2.3 API调用流程

评测试题和结果格式及字段含义详见 语音评测试题格式及结果说明 文档。 其它常见问题请参见 科大讯飞语音评测 FAQ 文档。

语音评测主要API调用流程如下图所示:

img

详细代码调用请参考 Samples中的 ise_sample(语音评测示例); API详细描述请参考API文档

2.3 参数与说明

2.3.1 高阶功能

语音评测有以下高阶功能

权限 使用前 使用后 使用方法
全维度 仅有总分或英文的音节得分 可获得更多评分维度,详情请在下方全维度说明查看 plev=0
全维度说明

使用说明:使用全维度权限前后可获得的结果对比如下,红色为使用全维度以后才会返回的评分维度,返回结果各字段的详细说明请点击 语音评测结果说明 查看。

题型 中文
默认
中文
使用全维度
英文
默认
英文
使用全维度
总分(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 常用参数说明

参数 名称 说明
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应用平台。

评测sdk如何下载?

答:文档中心---快速指引有介绍步骤根据步骤下载Linux在线评测sdk

语音评测支持题型和结果格式及字段含义?

答:评测试题需要符合一定的格式,汉语试题和英语试题有所不同,同语种的不同题型也有差异。 英文口语评测:支持单词,句子,篇章等题型评测。 中文口语评测:支持字、词、句,篇章等题型评测。 评测试题和结果格式及字段含义详见 语音评测试题格式及结果说明 文档。

语音评测最多支持多长时间的语音输入?

答:对于所有评测题型,都只支持最长 3分钟 的语音输入。

语音评测支持传入的音频格式有哪些?

答:支持的音频类型是:单声道 16bit Inter PCM。 支持的音频采样率是:16000HZ。推荐使用Cool edit软件查询音频格式是否符合,音频格式不符合会检测为乱读,分值不能作为参考。

错误码及相应解决方案查询网址

答:错误码及相应解决方案查询

如何设置语音云服务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)

4、视频教程

技术起源

技术原理

典型应用