🤖 叮当是一款可以工作在 Raspberry Pi 上的中文语音对话机器人/智能音箱项目。
Clone or download

README.md

叮当——中文语音对话机器人

GitHub tag Travis GitHub issues GitHub pull requests GitHub pull requests QQ群

温馨提示:使用 wzpan/dingdang-robot 的用户请参考 迁移仓库 迁移到本仓库,以获得更新服务。

叮当是一款可以工作在 Raspberry Pi 上的开源中文语音对话机器人/智能音箱项目,目的是让中国的Hacker们也能快速打造个性化的智能音箱。

dingdang

 
 

Table of Contents

特性

叮当的特性

叮当包括以下诸多特性:

  • 模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独维护,方便继承和开发自己的插件。
  • 微信接入。支持接入微信,并通过微信远程操控自己家中的设备。
  • 中文支持。集成百度、科大讯飞、阿里、谷歌等多家中文语音识别和语音合成技术,且可以继续扩展。
  • 对话机器人支持。支持接入图灵机器人、Emotibot,未来还将支持接入更多机器人。
  • 全局监听,离线唤醒。支持无接触地离线语音指令唤醒。
  • 灵活可配置。支持定制机器人名字,支持选择语音识别和合成的插件。
  • 智能家居。集成 HomeAssistant 插件,支持语音控制智能家电。

叮当的工作模式:

叮当的工作模式

叮当被唤醒后,用户的语音指令先经过在线 STT 引擎进行 ASR 识别成文本,然后对识别到的文本进行技能匹配,交给适合处理该指令的技能插件去处理。插件处理完成后,得到的结果再交给 TTS 引擎合成成语音,播放给用户。

虽然一次交互可能包含多次网络请求,不过带来的好处是:每一个环节都可以被修改和定制。

Demo

详见 Demo

硬件要求

  • Raspberry Pi 全系列,或其他 Linux 主机;
  • USB 麦克风(建议选购麦克风阵列);
  • 音箱(不建议蓝牙音箱);
  • 至少 8G 的 Micro-SD 内存卡(刷镜像要求内存卡的实际容量至少 7.9 GB,否则可能刷不成功);
  • 摄像头(可选,用于拍照)。
  • 读卡器(可选,用于刷镜像进内存卡)。

如果不知道怎么选择,可以参考 硬件选购建议

安装

镜像安装

推荐使用镜像安装的方式,像安装 Raspbian 系统一样,安装完后,只需要少量的配置即可立即使用叮当机器人。

镜像安装方法详见 镜像安装

刷完后记得在启动系统后进入 raspi-config 的高级选项中开启 Extend FileSystem,以让内存卡中的剩余空间合并到主分区中。

手动安装

手动安装

升级

cd /home/pi/dingdang
git pull

配置

请参考 配置

运行

cd /home/pi/dingdang
python dingdang.py

建议在 tmux 或 supervisor 中执行。

运行过程中的 log 可以在启动后使用如下命令查阅:

tail -f temp/dingdang.log

如果希望运行过程中直接在屏幕中打印 log ,可以使用如下命令:

python dingdang.py --verbose

退出

先使用 Ctrl-Z 退出当前会话,然后执行如下命令:

ps auwx | grep dingdang  # 查看dingdang的PID号
kill -9 PID号

插件

贡献

  • 喜欢本项目请先打一颗星;
  • 提 bug 请到 issue 页面
  • 要贡献代码,欢迎 fork 之后再提 pull request;
  • 插件请提交到 dingdang-contrib
  • 您的捐赠将鼓励我继续完善叮当,支持支付宝、微信等捐赠形式。捐赠的时候,请备注下您的昵称或姓名,我将会把您备注的信息添加到 捐赠者名单 中:
支付宝 微信支付

联系

  • 叮当的主要开发者是 潘伟洲
  • QQ 群:580447290(人数将满,为控制人数,需付费20元入群)
  • 论坛:bbs.hahack.com

感谢

FAQ

  • 我能否更换成其他唤醒词,而不是叫“叮当”?

  • 百度不太能够准确识别我的指令,怎么办?

  • 为什么取名为“叮当”?

    • 我一开始有多个候选唤醒词,但我发现”叮当“在离线唤醒词中准确率最高。所以取名为“叮当”。
  • 我想了解你的系统镜像都做了哪些定制?

  • pi 账户默认登录密码是啥?

    • 与 Raspbian 系统默认密码相同,都是 raspberry 。

免责声明

  • 叮当只用作个人学习研究,如因使用叮当导致任何损失,本人概不负责。
  • 本开源项目与腾讯叮当助手没有任何关系。