用树莓派+DuerOS打造一个智能音响

2014年亚马逊正式发布Echo之后,智能音箱真是越来越火了,各大科技公司纷纷发布自己的智能音箱产品或者对话式人工智能平台,比如苹果的HomePod,谷歌的Google Assistant等,百度的DuerOS就是是最近刚发布的开放式的AI平台。

 

本文将介绍如何利用树莓派,USB麦克风,扬声器以及DuerOS平台的服务,打造一个简单版的智能音箱。

相比国外的对话式AI平台,DuerOS最大的特点处是基于中文的,是国内比较领先的开放式AI平台,由于DuerOS Conversational Service(以下简称DCS)提供Alexa 语音服务(AVS)兼容服务,所以任何能正常接入 Amazon Alexa的设备,经过软件上的简单修改即可接入DCS。由于目前百度SDK暂未开发完成,所以我们可以利用Amazon提供的Demo程序,简单修改即可接入。

我们首先注册百度开发者账号,注册需要实名认证并上传身份证照片:

http://developer.dueros.baidu.com/

注册完成后,进入控制台,点击创建产品按钮,选择智能音箱,在选择操作系统的时候,可以看到下方有从Alexa迁移的选项。点击下一步即可完成产品的添加。详细操作请看控制台接入流程文档。拿到应用的client_id和client_secret,访问由百度OAuth提供的授权服务,获取access token,详细了解OAuth的使用方法,请点击帮助文档。(注:应用创建成功之后,需要到百度OAuth控制台安全设置中配置授权回调页链接,才能正常进行授权,将授权回调页设置为https://localhost:3000/authresponse即可)。

然后就是设备端程序的安装了,我们首先安装alexa-avs-sample-app到树莓派(Alexa版安装过程):

sudo git clone https://github.com/alexa/alexa-avs-sample-app.git

下载完成后,进入程序目录,修改安装脚本。

cd ~/alexa-avs-sample-app
sudo nano automated_install.sh

主要修改client_id和client_secret,以及产品id为自己的,修改完成后,执行该脚本:

sudo bash automated_install.sh

安装开始时会有几个选项需要选择,全部选y,安装过程中需要联网,并且花费的时间比较长,安装完成后出现以下界面:

安装完成后按照下面链接的地址修改程序:

http://developer.dueros.baidu.com/doc/avs-compatible-service/avs-sample-app.md

运行程序时,我们使用vnc远程桌面服务,新建一个终端窗口,进入samples/javaclient/目录下,运行mvn install && mvn exec:exec

然后再新建一个终端窗口,运行sudo npm start, 启动权限服务。