集成指南
强烈建议用户首先运行SDK包中的Demo工程,Demo工程中详细说明了语音合成的使用方法,并提供了完整的示例。一般情况下,您只需参照demo工程即可完成所有的集成和配置工作。
创建应用
请参考《百度AI开放平台使用指南》创建应用,开通服务并完成个性化设置。
添加BDSSpeechSynthesizer到工程
BDSSpeechSynthesizer使用了一些系统的framework,需要添加到工程里面。
添加方式: 右键点击 Xcode 中的工程文件,在出现的界面中,选中 TARGETS 下的应用,在出现的界面中选中 Build Phases->Link Binary With Libraries,点击界面中的“+”图标,在弹出的界面中选择需要的framework即可。请参考demo工程引入所需动态库framework和静态库。
开发者编译自己工程时,若报错 ld: Library xxxx not found,一般是库文件没有正确引入。请确保库文件在工程所能找到的位置之内(通过 LIBRARRY_SEARCH_PATH设置)
添加语音合成相关资源文件
将开发包中的BDSClientResource目录下的相关资源文件添加到工程或者安装app后部署到指定目录(代码中启动合成引擎时需要指定该资源文件的访问路径)。根据具体需求引入不同的资源即可。
引入BDSSpeechSynthesizer的头文件
首先将 BDSSpeechSynthesizer 提供的头文件拷贝到工程目录下,在 XCode 中添加此文件,引入 BDSSpeechSynthesizer提供的头文件。
添加如下头文件:
#import "BDSSpeechSynthesizer.h"
引入静态库文件
BDSSpeechSynthesizer提供了支持真机 armv7,armv7s,arm64及更新架构所使用的静态库文件,存放在开发包lib目录下。
引入静态库文件的具体方式为:将libBaiduSpeechSDK.a 采用添加文件方式添加到工程的Framework 目录下。
说明: libBaiduSpeechSDK.a 是一个通用的库文件,支持armv7、arm64、i386、x86_64, 避免开发者在 build 不同 target 时频繁替换.a 文件的问题
配置鉴权参数
离在线语音合成模式
请从官网控制台复制您的App密钥,设置APP_ID、API_KEY、SECRET_KEY参数。并绑定你的移动应用的BundleId。分别加载在线和离线引擎。
纯离线语音合成模式
请参考configureOfflineTTS方法配置离线资源文件和鉴权。 调用
[[BDSSpeechSynthesizer sharedInstance] loadOfflineEngine:offlineTextData speechDataP
ath:offlineSpeechData licenseFilePath:**nil** withAppCode:APP_ID withSn:SN];
加载离线引擎。
资源文件包括『Speech文件』和『Text文件』,音库名称对应如下
SDK默认自带离线资源文件
资源文件 | 具体文件名 |
---|---|
m15 离线男声(度小宇) | bd_etts_navi_speech_m15_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
f7 离线女声(度小美) | bd_etts_navi_speech_f7_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
yy 离线度逍遥 | bd_etts_navi_speech_yy_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
c1 离线度丫丫 | bd_etts_navi_speech_c1_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
中文离线文本模型 | bd_etts_common_text_txt_all_mand_eng_middle_big_v4.1.0_20211223.dat |
需要单独下载的精品音库资源文件
资源文件 | 具体文件名 |
---|---|
f4 离线度小娇 | bd_etts_common_speech_f4_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
c3 离线度米朵 | bd_etts_navi_speech_c3_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
wyg 离线度博文 | bd_etts_navi_speech_wyg_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
c4 离线度小童 | bd_etts_common_speech_c4_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
f8 离线度小萌 | bd_etts_navi_speech_f8_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
f12dt 度小乔 | bd_etts_navi_speech_f12dt_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
f17 度小鹿 | bd_etts_navi_speech_f17_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
f10tw 度小台 | bd_etts_navi_speech_f10tw_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
m8 度小贤 | bd_etts_navi_speech_m8_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
gezi 度小雯 | bd_etts_navi_speech_gezi_mand_eng_high_am-style24k_v4.6.0_20210721.dat |
粤语离线文本模型 | bd_etts_common_text_txt_all_cant_eng_middle_big_v4.5.0_20211222.dat |
f13can 度小粤 | bd_etts_navi_speech_f13can_cant_eng_high_am-style24k_v4.6.0_20210721.dat |
英文离线文本模型 | bd_etts_common_text_txt_all_mand_eng_middle_big_v4.1.0_20211223.dat(同中文) |
fnat 度小译 | bd_etts_common_speech_fnat_mand_eng_high_am-style24k_v4.9.0_20211130.dat |
2.4.3之前版本,中文、粤语、英文因为使用不同的Text文件,之间通过reinitOfflineEngineData 无法完成切换。必须反初始化,再初始化。2.4.3之后版本无需重新初始化。