Windows SDK 文档
1、简介
与语音听写相反,语音合成是将一段文字转换为成语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。
语音合成详细的接口介绍及说明请参考: MSC Windows API 文档 ,在集成过程中如有疑问,可登录讯飞开放平台论坛 ,查找答案或与其他开发者交流。
注:支持Windows XP以上系统版本,开发环境建议使用VS2015版本,暂不兼容VS2010版本。
#2、SDK集成指南
#2.1 Demo运行步骤
1.在控制台普通版 下载对应sdk
2.进入sdk内samples目录,双击samples.sln文件(需事先安装Visual Studio)
#2.2 项目集成步骤
#2.2.1 sdk包说明
《SDK目录结构一览》
- bin:
- msc(生成msc日志)
- 相关资源文件
- doc:
- 相关技术文档
- include:
- 调用SDK所需头文件
- libs:
- x86/libmsc.so(32位动态库)
- x64/libmsc.so(64位动态库)
- samples:
- tts_offline_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中的 tts_sample(语音合成示例)、API详细描述请参考API文档
#2.3 参数与说明
#2.3.1 离线引擎说明
离线引擎(TYPE_LOCAL),又称为本地模式,不需要使用网络,合成的速度更快,但同时要求购买并使用对应的离线资源(下载对应离线功能的SDK包)。离线服务,需要在QTTSSessionBegin()时设置以下两个参数:
参数 | 名称 | 取值 |
---|---|---|
engine_type | 引擎类型 | local:普通版离线语音合成 注:高品质版离线语音合成暂不支持Windows SDK |
tts_res_path | 合成资源路径 | 合成资源所在路径,支持fo 方式参数设置,对应格式如下:fo丨res/tts/xiaoyan.jet;fo|res/tts/common.jet |
#2.3.2常用参数说明
以下为常用参数说明,更多参数设置请参考API文档
参数 | 名称 | 说明 |
---|---|---|
voice_name | 发音人 | 不同的发音人代表了不同的音色,如男声、女声、童声等,详细请参照《发音人列表》 |
speed | 语速 | 合成音频对应的语速,取值范围:[0,100],数值越大语速越快。默认值:50 |
volume | 音量 | 合成音频的音量,取值范围:[0,100],数值越大音量越大。默认值:50 |
tts_res_path | 合成资源路径 | 合成资源所在路径,支持fo 方式参数设置,对应格式如下:fo|[file_info]|[offset]|[length],如:fo|common.jet|0|1024;fo| xiaoyan.jet|0|1024 |
rdn | 数字发音 | 合成音频数字发音,支持参数, 0 数值优先, 1 完全数值, 2 完全字符串, 3 字符串优先, 默认值:0 |
rcn | 1 的中文发音 | 支持参数: 0:表示发音为yao 1:表示发音为yi 默认值:0 |
sample_rate | 合成音频采样率 | 合成音频采样率,支持参数,16000,8000,默认为16000 |
#2.3.3 离线发音人列表
- 普通的离线语音合成的common.jet资源大概是4.10 MB+发音人.jet资源配合使用,普通的离线语音合成中文和英文发音人均依赖common.jet。
类型 | 发音人中文名称 | 音色 | 发音人资源文件名 | 发音人资源大小 |
---|---|---|---|---|
播报 | 讯飞小燕 | 青年女声 | xiaoyan.jet | 3.91 MB |
播报 | 讯飞小峰 | 青年男声 | xiaofeng.jet | 1.27 MB |
播报 | 讯飞小梦 | 青年女声 | xiaomeng.jet | 10.6 MB |
播报 | 讯飞小媛 | 中英文青年女声 | xiaoyuan.jet | 1.89 MB |
播报 | iFlytek John | 英文男声 | john.jet | 1.60 MB |
播报 | 讯飞凯瑟琳 | 青年女声-美式英语 | catherine.jet | 25.5 MB |
播报 | 讯飞小溪 | 青年男声 | xiaoxi.jet | 4.95 MB |
播报 | 讯飞小雪 | 青年女声 | xiaoxue.jet | 3.41 MB |
播报 | 讯飞许久 | 青年男声 | jiuxu.jet | 3.91 MB |
听书 | 讯飞晓倩 | 青年女声-东北话 | xiaoqian.jet | 848 KB |
听书 | 讯飞小蓉 | 青年女声-四川话 | xiaorong.jet | 571 KB |
听书 | 讯飞小坤 | 青年男声-河南话 | xiaokun.jet | 672 KB |
听书 | 讯飞小强 | 青年男声-湖南话 | xiaoqiang.jet | 691 KB |
听书 | 讯飞小英 | 青年女声-陕西话 | xiaoying.jet | 850 KB |
听书 | 讯飞小梅 | 青年女声-广东话 | xiaomei.jet | 1.66 MB |
听书 | 讯飞嘉嘉 | 青年女声 | jiajia.jet | 1.79 MB |
听书 | 讯飞小侯 | 中年男声 | xiaohou.jet | 5.95 MB |
听书 | 讯飞一峰 | 中年男声 | yifeng.jet | 6.59 MB |
听书 | 讯飞晓琳 | 青年女声-台普 | xiaolin.jet | 1.81 MB |
交互 | 讯飞楠楠 | 女童声 | nannan.jet | 1.41 MB |
交互 | 讯飞马宝 | 女童声 | mabao.jet | 1.79 MB |
交互 | 讯飞小芳 | 女童声 | xiaofang.jet | 3.38 MB |
交互 | 讯飞小丸子 | 卡通声音 | xiaowanzi.jet | 13.0 MB |
- 离线语音合成购买的发音人使用方法
平台上购买离线语音合成后下载的sdk包,默认只提供小燕和小峰的资源(.jet),也就是说只有这两个发音人可以使用,如果购买了其他发音人的话(购买方式1:离线语音合成主页—离线发音人库—立即购买—选择绑定的应用—付款;购买方式2:控制台—应用—离线语音合成—服务管理—购买离线发音人音库—付款。付款后重新下载离线语音合成sdk,在sdk中的中会自动多一个购买的发音人资源。),您就会拿到其他发音人的资源(.jet),以小芳的发音人为例,购买后您会拿到小芳的资源(xiaofang.jet)。
注意:
使用购买的新的发音人要注意加载的资源名称,voice_name,资源路径中的资源名称三者的统一,否则会无法正常使用。
#3、常见问题
#windows sdk在xp系统出现调用msc.dll失败
答:目前windows sdk离线合成要求应用的系统设备是XP以上,暂不支持xp系统,建议使用win7、win8、win10等高版本的系统。
#windows sdk能否生成mp3格式的音频
答:默认生成wav格式的音频,mp3建议使用在线合成webapi集成接入
#离线支持中英文的发音人有哪些?
答:目前只有xiaoyuan这个发音人支持中英文发音。
#Windows SDK是否支持高品质版离线合成?
答:不支持