在这篇短文中我将告诉大家如何利用一段Python脚本让你的树莓派“说话”,还是真人发音的哦。因此,如果你想在自己的项目中增加一些人声,那么请跟着我的教程一步一步来,只需要写几行Python代码就能办到了。
在这个小项目中,你需要有这么几样东西:
- 一台树莓派(显然必须得有这个)
- 安装好兼容树莓派的操作系统(安装系统可利用NOOBS工具,傻瓜式安装哦)
- 一对耳机/扬声器
- 写几分钟的代码
首先你得安装mplayer,在终端中输入: 安装mplayer | sudo apt-get install mplayer |
现在假设一切顺利。在Raspbian系统中使用预安装好的Python解释器,输入如下代码:
让树莓派“说话”的Python脚本
| # Rollcode.com import sys, subprocess, urllib def getSpeech(phrase): googleAPIurl = "http://translate.google.com/translate_tts?tl=en&" param = {'q': phrase} data = urllib.urlencode(param) googleAPIurl += data # Append the parameters return googleAPIurl def raspberryTalk(text): # This will call mplayer and will play the sound subprocess.call(["mplayer",getSpeech(text)], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if __name__ == "__main__": raspberryTalk("Hello from Rollcode.com") |
我们可以将上述代码保存到一个文件中,就命名为TalkingPi.py吧。现在只要输入:
就可以听到树莓派好像真人一样开始说话了,所说的内容就是传递给函数raspberryTalk的参数。是不是很简单呢?其实我们就是利用mplayer来播放从google翻译传来的真人发声而已,就这么简单。
此外,如果你想通过终端来调整扬声器的音量,只需要输入alsamixer,然后通过向上和向下箭头来调整音量即可。 完整的代码可以在这里找到。
原文链接: roll code 翻译: 极客范 - 陈舸
|