【大鱼叔叔|开发日志】一站式 Python SDK 总结
大****叔 · 大****叔 发布于2017-11-07 01:47 浏览:4635 回复:43

DuerOS Python SDK

1.暂停镜像版小度的服务,不然占用麦克风资源

(个人觉得不必要取消小度自启动服务,因为每次开机都可以直接用小度。)

 sudo systemctl stop duer

2.安装所有需要的依赖

sudo apt-get install python-dateutil gir1.2-gstreamer-1.0 python-pyaudio libatlas-base-dev python-dev
 sudo pip install tornado hyper

3.下载安装OpenSSL和Python2.7.14

  OpenSSL:链接: https://pan.baidu.com/s/1skAP6WH 密码: wknz (连接已经失效,如有需要请网络搜索,实在不行可以qq联系我。)

  Python2.7.14:链接: https://pan.baidu.com/s/1o8MHkzK 密码: ngx4 (镜像2.0版本自带2.7.14)

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

4.下载安装DuerOS Python SDK

git clone https://github.com/MyDuerOS/DuerOS-Python-Client.git
cd DuerOS-Python-Client
git checkout raspberry-dev

5.创建自定义产品

blob.png

blob.png


blob.png

说明:目前只有选择兼容 Amazon Alexa 才会有下游服务

blob.png

blob.png


6.设置授权回调页

 度开发者中心:http://developer.baidu.com/

blob.png

blob.png


blob.png


http://127.0.0.1:3000/authresponse

7.合成音

blob.png

8.聊天定制(系统画像)

注意:系统画像是更改一天后才生效。

blob.png

blob.png

blob.png

9.设置开发者ID和SECRET

blob.png

blob.png

10.首次授权与唤醒

cd /home/pi/DuerOS-Python-Client/

授权:(需要用到浏览器登录你的百度开发者账户)

 ./auth.sh

blob.png

语音唤醒:

./wakeup_trigger_start.sh

回车唤醒:

./enter_trigger_start.sh

至此,你就可以使用DuerOS Python SDK 了!快喊小度小度吧!

11.修改唤醒词

    Snowboy的官方地址:https://snowboy.kitt.ai/

blob.png

创建和训练自己的模型很简单,我这里直接使用已经有的“小白”。

下载地址:小白.pmdl

cd /home/pi

下载Snowboy Python

git clone https://github.com/Kitt-AI/snowboy.git

下载、安装和配置swig-3.0.12

出自君奉天老铁的帖子:https://dueros.baidu.com/didp/forum/topic/show?topicId=244925

下载地址:http://www.swig.org/download.html

安装配置swig

sudo apt-get install g++//安装g++
sudo apt-get install libpcre3 libpcre3-dev //安装pcre
sudo tar -xzvf swig-3.0.12.tar.gz //解压swig
cd swig-3.0.12 //进入swig目录
//安装swig
./configure --prefix=/usr/local/swig3.0.12
make
sudo make install
//配置path
sudo vim /etc/profile

//在最后添加一行:
PATH=/usr/local/swig3.0.12/bin:$PATH

soucre /etc/profile

构建Snowboy

cd /home/pi/snowboy/swig/Python
make

获得Snowboy Python 的接口组件

cd /home/pi/snowboy/examples

将examples文件夹下的Python文件夹改名为 snowboy

mv Python snowboy

删除Python SDK 的app文件夹下的snowboy文件夹(建议先备份)

sudo rm -r /home/pi/DuerOS-Python-Client/app/snowboy

将home/pi/Snowboy/examples/snowboy 复制或者移动到SDK的app文件夹下

sudo mv /home/pi/snowboy/examples/snowboy /home/pi/DuerOS-Python-Client/app/

建议使用指令移动文件(这样文件不会出现感叹号),如果遇到感叹号,先删除文件夹,然后新建一个同名文件夹,再将文件夹里的东西全部复制过来。

注意:如果有感叹号,表示是软链接文件,并且链接找不到真正的文件,继续运行会报错误:ImportError: No module named _snowboydetect

sudo rm -r /home/pi/DuerOS-Python-Client/app/snowboy/resources
sudo rm /home/pi/DuerOS-Python-Client/app/snowboy/snowboydetect.py
sudo rm /home/pi/DuerOS-Python-Client/app/snowboy/_snowboydetect.so
sudo mkdir /home/pi/DuerOS-Python-Client/app/snowboy/resources
sudo mv /home/pi/snowboy/examples/snowboy/resources/* /home/pi/DuerOS-Python-Client/app/snowboy/resources/
sudo mv /home/pi/snowboy/examples/snowboy/snowboydetect.py /home/pi/DuerOS-Python-Client/app/snowboy/
sudo mv /home/pi/snowboy/examples/snowboy/_snowboydetect.so /home/pi/DuerOS-Python-Client/app/snowboy/

image.png

接下来就是修改Python SDK的代码了!

(1)更换唤醒模型

blob.png

blob.png

修改app/snowboy/snowboydecoder.py模块的__ init __()函数

(2)注释self.audio和self.stream_in

blob.png

(3)添加feed_data()方法

blob.png

(4)修改terminate()方法

blob.png

重新授权,执行语音唤醒shell脚本( ./wakeup_trigger_start.sh ),即可喊“小白”唤醒!


20180302 重要更新:如果你安装了所有依赖,但是执行代码报错,欢迎直接克隆我的GitHub上面的项目。

git clone https://github.com/HuangDayu/MyDuerOS-PythonDcsSdk-RaspberryClient.git

----------大功告成!----------

已经遇到事的问题与解决办法

(1)问题:在安装swig时,执行 ./configure 时遇到Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions)的错误。

   解决方案./configure --prefix=/usr/progam/swig --without-pcre。

(2)问题:在执行./wakeup_trigger_start.sh时出现以下错误:如图

    2017-12-13_190627.png

   解决方案:重新授权 ./auth.sh

(3)问题:授权后,执行./wakeup_trigger_start.sh时出现以下错误:如图

blob.png

    IOError:[Error Invalid sample rate]-9997

   原因:麦克风资源被占用

   解决办法:sudo systemctl stop duer


欢迎各位老铁跟帖补充,如有错误,欢迎指正。

点赞  ( 4 )
收藏
评论(43)
共43条回复 最后由h****y赞于2018-01-29 00:43
#2暗****凉回复于2017-11-09 12:37:54

写的非常非常细致 @DuerOS 河童 强烈建议给这个帖子加精 

0
#3骑****猫回复于2017-11-09 16:22:41

我只想知道原生树莓派debian 系统行不行

0
#4大****叔回复于2017-11-09 17:50:28
#3 骑****猫回复
我只想知道原生树莓派debian 系统行不行

安装 DuerOS Python SDK 是可以的。

0
#5大****叔回复于2017-11-09 17:52:06
#2 暗****凉回复
写的非常非常细致 @DuerOS 河童 强烈建议给这个帖子加精 [图片]

谢谢。我只是支持的总结者。

0
#6D****童回复于2017-11-12 15:53:10
#2 暗****凉回复
写的非常非常细致 @DuerOS 河童 强烈建议给这个帖子加精 [图片]

已经加精了哦~

大鱼叔叔不愧是叔叔~

0
#7大****叔回复于2017-11-12 21:21:36
#6 D****童回复
已经加精了哦~ 大鱼叔叔不愧是叔叔~

求黑卡

0
#8江****乡回复于2017-11-17 17:48:58


blob.png

有谁指导一下吗 我的到这步就不行,在线等 我搞了好久没用搞出来 求助!!!

blob.png

0
#9E****u回复于2017-11-17 20:06:48

~

0
#10大****叔回复于2017-11-19 18:17:26
#8 江****乡回复
[图片] 有谁指导一下吗 我的到这步就不行,在线等 我搞了好久没用搞出来 求助!!! [图片]

安装pip了吗?

0
#11江****乡回复于2017-11-20 08:39:31
#10 大****叔回复
安装pip了吗?

    你好,方便加一个qq吗 1203133576  有问题请教,非常感谢

0
TOP