树莓派是我们的好朋友,它作为一台 24 小时值守的微型电脑,可以帮我们实现很多应用,如定时天气播报、朗读新信息等。不过,很多应用要求树莓派能够具备语音播报的能力,这一功能并不随机附送,我们只好自己实现。

传统的树莓派 TTS(Text-To-Speech)工具我在网上搜到的有命令行工具 espeak 和原谷歌翻译的 API,前者语音合成效果较差(有限支持中文,效果较差,且笔画稍多的字就无法识别),后者似乎已经不再可用。经过一番搜索,我发现百度语音中文合成效果不错,而且提供了 RESTful API,非常适合这一应用。也对,都现在这个时代了,我们也该享受一下人工智能的语音合成效果了(笑)。使用这个语音合成工具有一段时间了,个人认为它的效果不输 Siri,下面就讲讲怎么使用吧。

材料

  1. 树莓派。
  2. 扬声器(如果使用 HDMI 连接显示器的话也可以直接使用显示器上的扬声器,总之保证树莓派能发声即可。

步骤

1 安装依赖——命令行播放器 mpg123

sudo apt-get install mpg123

2 安装百度语音 Python 封装包:

pip install ilangbd # 目前只支持 Python2

3 大功告成,在终端或脚本中使用 ilang 命令即可进行语音合成:

ilang "你好,世界!"

上面的 Python 库是我自己为了分享和简化在树莓派上使用百度语音安装和配置过程写的,支持在 Linux 和 MacOS 上运行。有了这一工具,我们在玩派的时候就可以很方便地给自己写的应用增加语音输出功能。

希望这篇分享能够帮到有需要的童鞋,也欢迎有更好方法实现此功能的童鞋提出讨论:)