树莓派+DuerOS=激动人心的第一次唤醒
1:首先准备好要用的东西,Raspberry modle 3B,Playstation3 EYE,3.5mm音响一个,然后来接好线就ok了。
注意只能用树莓派3b!!!
2:去百度开发者中心(https://developer.baidu.com)下载相应的镜像
3:下载Etcher这个软件来进行镜像的烧录
4:开始安装小度
1)停止小度所有功能,因为会占用mic资源
sudo systemctl disable duer
sudo systemctl stop duer
2)获取最高权限
sudo passwd root
su
3)安装Python SDK依赖环境
sudo apt-get update(可换源,我用的清华源)
sudo apt-get install python-dateutil
sudo apt-get install gir1.2-gstreamer-1.0
sudo apt-get install python-pyaudio
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo pip install tornado
sudo pip install hyper
或:
sudo apt-get install python-dateutil gir1.2-gstreamer-1.0 python-pyaudio libatlas-base-dev python-dev
sudo pip install tornado hyper
Ps:hyper库用来支持http2.0 client, pyaudio用来支持录音,tornado用来完成oauth认证。
4)由于Python版本问题需要安装编译好的指定版本和SSL库
这里要注意要安装在pi目录下
python2.7.14安装包:
链接: https://pan.baidu.com/s/1pNuHIZBPIChiT3JlPM1D2w 密码: tuhq
openssl安装包:
链接: https://pan.baidu.com/s/1y-UHs5ogVpYMG0vd8PHGRg 密码: epfp
安装编译好的指定版本和SSL库
sudo tar -zxvf openssl1.1.tar.gz -C /usr
sudo tar -zxvf python2.7.14.tar.gz -C /usr/local/
sudo rm -rf /usr/bin/python
sudo ln -s /usr/local/python2.7.14/bin/python /usr/bin/python
5)下载Python SDK
git clone https://github.com/MyDuerOS/DuerOS-Python-Client.git Dueros
cd Dueros
git checkout raspberry-dev(注意切换分支,否则你可以试试)
6)配置Python SDK
cd Dueros
cd app
配置client_id和client_secret信息
sudo nano auth.py
Ps:client_id和client_secret可以去百度开发者中心申请
划重点:
7)往往到了这一步大部分同学就开始授权了并执行代码了,实际上往往可以唤醒小度去发现音响里没有声音,这个时候我们就需要对音响,噪声,音量等进行配置:
7.1)关于噪声:
sudo nano /boot/config.txt
bcm2835
dtparam=audio=on 之下添加
audio_pwm_mode=2
7.2) 关于默认开机音量:
sudo nano /etc/start_duer.sh
最下边
sleep 15s
amixer -c 0 set PCM 100%
7.3)关于小度自定义麦克和喇叭
cd到根目录
sudo nano .asoundrc
小度自定义麦克和喇叭系统id
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 0
}
7.4)重启树莓派
sudo reboot
8)测试一下我们的拾音设备和音响
arecord -d 10 temp.wav # 测试录音10秒
对着ps3 eye 说话
aplay temp.wav # 播放录音看看效果
如音响播放出你刚刚说的话即为调试成功
9)激动人心的第一次唤醒
9.1)授权
cd Dueros
./auth.sh
9.2)调试语音识别
Enter按键唤醒小度
cd Dueros
./enter_trigger_start.sh
开启实时识别
cd Dueros
./wakeup_trigger_start.sh
截止到这一步你已经成功打造了一款类似J.A.R.V.I.S的语音识别系统,只不过他暂时还叫小度,后期会更如何给他改名为J.A.R.V.I.S的教程。
放上视频以供参考: