[基于BPI-M2+的对话机器人]-5-BPI-M2+ 实现科大讯飞的语音合成

讯飞开放平台是一个资源丰富的平台。本人已经申请为讯飞开放平台的开发者。这次实验是在开发板BPI-M2+上实现语音合成。下面记录我实现的整个过程和自己的一些想法。

** 第一步,进入http://www.xfyun.cn/ ,****我们需要在平台申请一个应用。**我申请的应用为”会说话的pi”,如下图1所示。应用的服务主要有“开放语义”和“语音听写”。其实我用的是“语音+”,这个是默认有的服务。“语音+”主要是离线的听写和合成。


图1

**第二步,下载需要****的SDK。**如图所示,几乎免费的我都下载了,主要是方面以后别的功能开发。


图2

下载完成如下图,从文件名字我们可以看出,这个SDK其实就是Linux下的封装好的库函数,我们主要进行调用和编译就可以运行了。


图3

**第三步,把下载的Linux_voice_1.109.zip复制到BPI-M2+上。**进入接下来运行下面几行命令。

unzip Linux_voice_1.109_5714c497.zip
cd Linux_voice_1.109/samples/tts_sample/
ls -l

进入了tts_sample文件夹,我们可以看到语音合成的程序和Makefile文件。


图4

tts_sample这个文件夹的内容最好备份,因为待会对一些文件进行配置。

进入lib库我们看看,这个SDK支持芯片。输入命令

cd ../../libs/
ls -l


图5

从图片我们可以看出,支持很多芯片,其中就有,RaspberryPi,BPI-M2+刷了RaspberryPi的系统,所以跟RaspberryPi操作一样。那么我只需要修改一下图4所示的Makefile文件。

第四步,进入tts_sample文件夹对Makefile进行修改。输入命令

vi Makefile

我们下图所示进行修改


图6

修改完成如下图所示:


图7

第五步,主要是把运行的程序链接到本地的库。下面我们进行一下新建一个文件,输入如下命令

vi Rsp_make.sh

(1)输入如下内容,保存即可

#编译32位可执行文件

make clean;make

#设置libmsc.so库搜索路径

export LD_LIBRARY_PATH=$(pwd)/../../libs/RaspberryPi/

(2)对上面的文件添加运行权限。

chmod +x Rsp_make.sh

(3)运行:

./Rsp_make.sh

第六步,运行编译的可执行程序。输入如下命令,如图8,9所示。

cd ../../bin/
./tts_sample
ls -l


图8


图9

如果这个过程你没有出现什么错误的话,那么恭喜你,因为你成功的进行语音合成了。

生成的语音合成文件是tts_sample.wav文件,可以进行播放。至于合成的是什么文字的声音,我们可以查看tts_sample.c文件,下图图标所指位置就是语音的内容。


图10

每次TTS要在程序里面添加中文很不方便,我修改了tts_sample.c,修改如下图。


图11

主要是实现了在运行前,如图所示,我们只要在执行文件后面,添加要合成的文字就可以了,如下图所示。


图12

小结:

通过阅读科大讯飞平台的资料,发现开发者主要是调用SDK就可以实现想要的功能,当然有些服务也是需要费用的。

沙发
下一个贴子是
基于BPI-M2+的对话机器人]-4-BPI-M2+ 实现科大讯飞的语音识别

这个要支持一下