硬件
树莓派3B、USB声卡、麦克、USB音响
软件
python、百度语音识别API、图灵机器人、espeak
树莓派官方系统自带python环境。注册百度语音识别开发者账号,获取api key。
百度语音识别api
注册图灵机器人
接入图灵机器人
下来一个测试程序 测试一下图灵机器人正确接入。
在树莓派创建一个py文件:
|# -*- coding: utf-8 -*-
import urllib
import json
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
if __name__ == '__main__':
key = '你的api key'
api = 'http://www.tuling123.com/openapi/api?key=' + key + '&
info='
while True:
info = raw_input('我: ')
request = api + info
response = getHtml(request)
dic_json = json.loads(response)
print '机器人: '.decode('utf-8') + dic_json['text']|
保存之后运行 就可以文字对文字的聊天了。我们要的是对话。所以这里的文字输入要变成语音输入。那么我来调用百度语音api来帮我把文字从语音中提取。然后再把图灵机器人的回复的文字通过espeak通过音响说出来。
这里,树莓派自身是没有声卡的。还好有万能的某宝。找树莓派USB声卡。
当我们插上这个USB声卡,其实就可以使用了。因为树莓派上其实已经内置了当前流行的设备驱动。然后我们需要在树莓派上安装对应的录音程序。
1.##先更新软件包
2.sudo apt-get update
3.sudo apt-get upgrade
4.##安装必要的程序
5.sudo apt-get -y install alsa-utils alsa-tools alsa-tools-gui alsamixergui
这里安装了本次必要的录音工具,同时也安装了2个图形界面工具,这样就可以用图形界面来设置音量等,操作会比较方便。
安装完成后,就可以使用树莓派来录音了。来录个60秒试试:
1.arecord -D “plughw:1,0” -d 60 /tmp/test.wav
其中,这里的plughw:1,0就是外置声卡设备,-D表示指定设备。这里值得一提的是,如果后面没有设置输出文件的话,执行命令后录音产生的数据会直接显示在终端上……所以其实你也可以这样写:
1.arecord -D “plughw:1,0” -d 60 >/dev/test.wav
之后你也可以安装一个图形界面的audacity音频编辑软件,这样就可以在树莓派上编辑制作你的音乐专辑了~
1.apt-get -y install audacity
插上USB声卡,然后再启动audacity,你就可以在录音输入那看到你的USB声卡设备了。如果你想播放也从USB声卡播放在播放那选择USB设备即可~默认是从树莓派上播放的。
百度语音合成与识别
然后把图灵机器人回复的文字 语音播放
为了偷懒 我用的espeak软件。sudo apt-get install espeak
同学们安装好可以测试一下 终端运行 espeak -vzh 我是机器人
回车 树莓派会播放“我是机器人”
如果不是中文 直接 espeak hello world 即可。
做好的演示视频可以到我头条号主页找到 谢谢大家的关注与支持。代码整理后会打包放在评论区 大家继续关注