0x00 离线语音合成介绍
语音合成技术(Text to speech,简称TTS),是可以将文本转换成语音文件的技术。而且合成的语音文件,可以根据不同场景需要而合成出不同音色、语速和语调的声音,让合成的语音就跟真人说话的声音几乎一样。利用这项技术我们就可以让我们的机器人、电脑、手机、音箱等各种电子设备多了一种更为自然的方式来与人们进行交互。
现在我们大家接触最多的语音合成技术,可能就是用高德导航的时候,它会通过语音给我们播报,指引我们到达目的地。当然还有一些其他应用场景,例如各种办公大厅里的叫号系统,机场、医院的语音播报,很多基本上都是用这种语音合成技术来实现的。

语音合成分为在线语音合成和离线的语音合成,在线语音合成使用的是在线引擎(TYPE_CLOUD),又称为云端模式,它需要使用网络,速度稍慢,并产生一定流量,但有更好的识别和合成的效果,如更高的识别匹配度,更多的发音人等。
在默认情况下,在线语音合成引擎,提供5种免费的发音人供大家使用,如果要想使用更多的发音人,那就需要收费了:

离线语音合成使用的是离线引擎(TYPE_LOCAL),又称为本地模式,不需要使用网络,且识别和合成的速度更快,但同时要求购买并使用对应的离线资源(下载对应离线功能的SDK包)。那离线语音合成默认就提供2个发音人,如果要想使用其他离线发音人,那就需要收费了:

0x01 下载离线语音合成SDK
这里下载科大讯飞的离线语音合成SDK,仍然是比较简单的,只要去讯飞开放平台上下载即可,具体网址如下:
https://www.xfyun.cn/sdk/dispatcher
当我们下载好SDK后,就可以将SDK发送树莓派上解压使用了,完整的发送命令如下,大家需要根据自己的文件名和树莓派的IP地址做修改即可:
scp Linux_aisound1226_5d5b9efd.zip corvin@192.168.3.46:~/
0x02 编译离线语音合成测试源码
在树莓派上我们将SDK解压,然后可以先浏览一下整个SDK的组成架构,方便我们后面修改:

下面就是该使用树莓派版本的语音合成库了,这里的动态库文件跟前面介绍的语音唤醒、命令词识别都是一个库。所以说如果大家在前面下载过的话,这里就不用再次下载了,可以直接使用。同样,在这里如果要下载树莓派版本的动态库的话也是要收费的,因为如果大家下载使用的话,会占用我的科大讯飞语音唤醒装机量的。所以需要收费的,希望可以理解:
大家可以去ROS小课堂官网进行下载即可:
https://www.corvin.cn/1689.html
下载好该离线命令词识别库后&#x