Skip to content

使用DuerOS的AVS兼容服务

Yihui Xiong edited this page Nov 29, 2017 · 5 revisions

百度DuerOS提供兼容AVS的服务,于是此软件也可以支持DuerOS。

依赖

  • pyaudio
  • gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
  • python-gi python-gst-1.0 gir1.2-gstreamer-1.0
  • openssl 1.0.2+ and python 2.7.10+ (因为DuerOS只支持HTTP2 ALPN)
  • respeaker python library (包含依赖pocketsphinx,用于关键词唤醒)

安装

sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
python-gi python-gst-1.0 gir1.2-gstreamer-1.0 python-pyaudio
sudo pip install respeaker pocketsphinx avs

运行

软件有内置开发者的client_id和client_secret,可以直接运行dueros-auth,登录你的百度账号以获取DuerOS授权,接着运行alexa即可用”alexa“关键词唤醒应用,与DuerOS语音交互。

更改client_id

如果你想用自己的开发者账号,则去DuerOS开放平台注册一个开发者账号,在控制台创建一个产品,把client_id,client_secret,dueros-device-id,product_id和host_url填到一个json文件中,比如dueros.json:

{
        "host_url": "dueros-h2.baidu.com",
        "dueros-device-id": "storyteller0001",
        "product_id": "x",
        "client_id": "y",
        "client_secret": "z"
 }

其中,dueros-device-idproduct_id由你自己设定,用于区分多个设备。

然后运行dueros-auth -c dueros.json,即使用你自己的开发者账号信息,获取的授权信息会保存在~/.avs.json

注:验证python是否支持ALPN,可以运行python -c "import ssl; print(ssl.HAS_ALPN)"。 如果使用树莓派,下载最新的基于debian stretch的raspbian即可。