ARM架构设备 如果你的设备是 ARM 架构设备(例如树莓派 3B),可以使用 wzpan/wukong-robot-arm 镜像(注意 Pi Zero 是 armv6l 架构,因此不支持 docker 安装,请使用手动安装):
git clone https://github.com/wzpan/wukong-robot-pi-installer.git
cd wukong-robot-pi-installer
sudo ./pi_installer
如果遇到 docker 拉取慢的问题,你或许需要考虑先配置好docker加速器。 然后使用如下命令启动 docker 镜像即可:
docker run -it -p 5000:5000 --device /dev/snd -e LANG=C.UTF-8 wzpan/wukong-robot-arm:latest
如果运行时提示
docker: unknown server OS: .
则可以在上面的命令前带上 sudo 再试。
docker run 完成后,就可以参考 运行 一节,启动 wukong-robot 了。
注意:每次重启 Docker 后镜像内的数据会被重置。如果不希望每次 Docker 每次重启导致数据丢失,可以使用 Docker commit 命令保存镜像的改动。详见 Docker保存修改后的镜像 。
方式二:手动安装
1. 克隆本仓库:
git clone https://github.com/wzpan/wukong-robot.git
2. 安装 sox ,ffmpeg 和 PyAudio: Linux系统:
sudo apt-get install portaudio19-dev python-pyaudio python3-pyaudio sox pulseaudio libsox-fmt-all ffmpeg
pip3 install pyaudio
Mac 系统:
brew install portaudio --HEAD
brew install sox ffmpeg
pip3 install pyaudio
3. 安装依赖的库:
cd wukong-robot
pip3 install -r requirements.txt
4. 编译 _snowboydetect.so 手动编译 snowboy ,得到 _snowboydetect.so ,以支持更多的平台。 安装swig 首先确保你的系统已经装有 swig 。
对于 Linux 系统:
wget https://wzpan-1253537070.cos.ap-guangzhou.myqcloud.com/misc/swig-3.0.10.tar.gz
tar xvf swig-3.0.10.tar.gz
cd swig-3.0.10
sudo apt-get -y update
sudo apt-get install -y libpcre3 libpcre3-dev
./configure --prefix=/usr --without-clisp --without-maximum-compile-warnings
make
sudo make install
sudo install -v -m755 -d /usr/share/doc/swig-3.0.10
sudo cp -v -R Doc/* /usr/share/doc/swig-3.0.10
sudo apt-get install -y libatlas-base-dev
如果提示找不到 python3-config 命令,你还需要安装 python3-dev:
sudo apt-get install python3-dev
对于 Mac 系统:
brew install swig wget
构建 snowboy
wget https://wzpan-1253537070.cos.ap-guangzhou.myqcloud.com/misc/snowboy.tar.bz2
tar -xvjf snowboy.tar.bz2
cd snowboy/swig/Python3
make
cp _snowboydetect.so <wukon-robot的根目录/snowboy/>
5. 安装第三方技能插件库 wukong-contrib
mkdir $HOME/.wukong
cd $HOME/.wukong
git clone http://github.com/wzpan/wukong-contrib.git contrib
pip3 install -r contrib/requirements.txt
6. 更新唤醒词(可选,树莓派必须) 默认自带的唤醒词是在 Macbook 上录制的,用的是作者的声音模型。但由于不同的人发声不同,所以不保证对于其他人都能很好的适用。
而树莓派上或者其他板子上接的麦克风可能和 PC 上的麦克风的声音畸变差异非常大,所以现有的模型更加不能直接在树莓派上工作,否则效果会非常糟糕。
如果你是第一次使用,需要先创建一个配置文件方便配置唤醒词。这个工作可以交给 wukong-robot 帮你完成。在 wukong-robot 的根目录下执行:
python3 wukong.py
第一次启动将提示你是否要到用户目录下创建一个配置文件,输入 y 即可。配置文件将会保存在 ~/.wukong/config.yml 。
接下来我们来训练和更新唤醒词。比较建议自行训练自己的模型,然后把模型放在 ~/.wukong 中,并修改 ~/.wukong/config.yml 里的几个 hotword 指向的文件名(如果文件名没改,则不用变)。一共有三个唤醒词需要修改:
hotword:全局唤醒词。默认为 “snowboy” (snowboy.umdl) /do_not_bother/on_hotword:让 wukong-robot 进入勿扰模式的唤醒词。默认为 “悟空别吵” (悟空别吵.pmdl) /do_not_bother/off_hotword:让 wukong-robot 结束勿扰模式的唤醒词。默认为 “悟空醒醒” (悟空醒醒.pmdl) 对于树莓派用户,如果不想自己训练模型,wukong-robot 也提供了几个针对树莓派训练的模型,直接修改配置即可:
hotword: 'wukong_pi.pmdl'
sensitivity: 0.4
do_not_bother:
enable: false
since: 23
till: 9
on_hotword: '悟空别吵_pi.pmdl'
off_hotword: '悟空醒醒_pi.pmdl'
但是建议自己训练。snowboy 官方建议在树莓派上先用 rec t.wav 这样的命令录制唤醒词,然后在训练的时候通过上传按钮上传到服务器中进行训练:
完成后修改下 config.yml 把唤醒词改成刚刚训练的唤醒词即可。 CentOS 没声音问题解决 有用户在 CentOS 系统中遇到播放没声音的问题。解决方法是:
mknod /dev/dsp c 14 3
chmod 666 /dev/dsp
|