• Stars
    star
    5,319
  • Rank 7,762 (Top 0.2 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🤖 wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,支持ChatGPT多轮对话能力,还可能是首个支持脑机交互的开源智能音箱项目。

wukong-robot

wukong-robot

wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Haker 们也能快速打造个性化的智能音箱。wukong-robot 还可能是第一个开源的脑机唤醒智能音箱。

截至 2023 年 3 月 31 日,wukong-robot 的安装设备数已超过 13,000 台,唤醒次数累积超过了 700,000 次。

wukong-project 捐赠 Travis Python3.7+ docker-pulls browse-code

Table of Contents

特性

wukong-robot

  • 模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独维护,方便继承和开发自己的插件。
  • 中文支持。集成百度、科大讯飞、阿里、腾讯、OpenAI Whisper、Apple、微软Edge、VITS声音克隆TTS 等多家中文语音识别和语音合成技术,且可以继续扩展。
  • 对话机器人支持。支持基于 AnyQ 的本地对话机器人,并支持接入图灵机器人、ChatGPT 等在线对话机器人。
  • 全局监听,离线唤醒。支持 Porcupinesnowboy 两套离线语音指令唤醒引擎,并支持 Muse 脑机唤醒 以及行空板摇一摇唤醒等其他唤醒方式。
  • 灵活可配置。支持定制机器人名字,支持选择语音识别和合成的插件。
  • 智能家居。支持和 小爱音箱Siri、mqtt、HomeAssistant 等智能家居协议联动,支持语音控制智能家电。
  • 后台配套支持。提供配套后台,可实现远程操控、修改配置和日志查看等功能。
  • 开放API。可利用后端开放的API,实现更丰富的功能。
  • 安装简单,支持更多平台。相比 dingdang-robot ,舍弃了 PocketSphinx 的离线唤醒方案,安装变得更加简单,代码量更少,更易于维护并且能在 Mac 以及更多 Linux 系统中运行。

wukong-robot 的功能还在不断更新迭代中,详见 更新说明

wukong-robot 的工作模式:

wukong-robot 的工作模式

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

虽然一次交互可能包含多次网络请求,不过带来的好处是:每一个环节都可以被修改和定制。而且我认为,到了 5G 时代,音箱的响应速度将不再成为体验问题。可定制和个性化才是未来的主流,而届时 wukong-robot 将会是更好的选择!

Demo

demo

环境要求

Python 版本

wukong-robot 只支持 Python >= 3.7 且 < 3.10 ,不支持 Python 2.x 。

设备要求

wukong-robot 支持运行在以下的设备和系统中:

  • Intel Chip Mac (不支持 M1 芯片)
  • 64bit Ubuntu(12.04 and 14.04)
  • 全系列的树莓派(Raspbian 系统)
  • Pine 64 with Debian Jessie 8.5(3.10.102)
  • Intel Edison with Ubilinux (Debian Wheezy 7.8)
  • 装有 WSL(Windows Subsystem for Linux) 的 Windows

安装

wukong-robot 安装教程

升级

python3 wukong.py update

如果提示升级失败,可以尝试在 wukong-robot 的根目录手动执行以下命令,看看问题出在哪。

git pull
pip3 install -r requirements.txt

运行

python3 wukong.py

建议在 tmux 或 supervisor 中执行。

第一次启动时将提示你是否要到用户目录下创建一个配置文件,输入 y 即可。

然后通过唤醒词 “snowboy” 唤醒 wukong-robot 进行交互(该唤醒词可自定义)。

此外,wukong-robot 默认在运行期间还会启动一个后台管理端,提供了远程对话、查看修改配置、查看 log 等能力。

建议正式使用时修改用户名和密码,以免泄漏隐私。

配置

参考配置文件的注释进行配置即可。注意不建议直接修改 default.yml 里的内容,否则会给后续通过 git pull 更新带来麻烦。你应该拷贝一份放到 $HOME/.wukong/config.yml 中,或者在运行的时候按照提示让 wukong-robot 为你完成这件事。

tips:不论使用哪个厂商的API,都建议注册并填上自己注册的应用信息,而不要用默认的配置。这是因为这些API都有使用频率和并发数限制,过多人同时使用会影响服务质量。

技能插件

API 接口

wukong-robot 的后台接口是开放 Web API 的,可以使用 Restful 方式调用,见 后台API

捐赠

您的捐赠将鼓励我继续完善 wukong-robot。

  • 对于个人用户,可以使用支付宝或者微信进行捐赠,单笔超过 100 元的捐赠者,您的 ID 将可以出现在 wukong-robot 后台管理端的捐赠页面中。
支付宝 微信支付

如果以上的图裂了,可以下载图片(支付宝 | 微信)到本地进行扫描。

  • 对于企业用户,建议成为这个项目的 backer,您将可以把一个带链接的 logo 放在 wukong-robot 后台管理端的首页、捐赠页面以及 Github 项目首页中。

贡献

  • 喜欢本项目请先打一颗星;
  • 提 bug 请到 issue 页面
  • 要贡献代码,欢迎 fork 之后再提 pull request;
  • 插件请提交到 wukong-contrib

引用

如果使用本项目的代码或插件,请引用本项目。

@misc{wukong-robot,
  author = {潘伟洲},
  title = {wukong-robot,一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/wzpan/wukong-robot}},
}

联系

  • wukong-robot 的主要开发者是 潘伟洲
  • QQ 频道(推荐):

使用 QQ 扫码加入:

  • QQ 群:580447290(人数将满,为控制人数,需付费20元入群。微信或支付宝支付后,申请入群时贴上转账单号即可。群收入的前一万元已无偿捐赠给壹基金等公益项目)。
支付宝 微信支付

如果以上的图裂了,可以下载图片(支付宝 | 微信)到本地进行扫描。

感谢

Star 历史

Star History Chart

免责声明

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

More Repositories

1

cmake-demo

《CMake入门实战》源码
CMake
2,009
star
2

dingdang-robot

🤖 叮当是一款可以工作在 Raspberry Pi 上的中文语音对话机器人/智能音箱项目。
Python
1,857
star
3

BeamerStyleSlides

🌈Beamer风格的幻灯片模板集。包含了PowerPoint和Keynote两套格式。
TeX
949
star
4

hexo-generator-search

A plugin to generate search data for Hexo.
JavaScript
433
star
5

hexo-theme-freemind

Most powerful bootstrap theme for hexo.
CSS
392
star
6

Learn-Python-The-Hard-Way

My answer for the book Learn Python The Hard Way
Python
238
star
7

QtEVM

C++ implementation of EVM(Eulerian Video Magnification), based on OpenCV and Qt.
C++
166
star
8

hexo-theme-wixo

A wiki theme for Hexo.
CSS
155
star
9

comment.js

[Archived] A tiny comment system based on Github issue comments.
JavaScript
113
star
10

wukong-contrib

来自用户贡献的wukong-robot插件集
Python
82
star
11

2dMorphing

2D Image Morphing Algorithms based on mesh warping. C++ project, which is transplanted from the c codes given by Yurong Sun and George Wolberg. Details: http://davis.wpi.edu/~matt/courses/morph/2d.htm
C++
68
star
12

orgwiki

用org-mode搭建的wiki,已经停止更新。新的笔记放在http://hahack.com/wiki
JavaScript
42
star
13

wzpan.github.io

个人博客,转载请保留出处。
HTML
36
star
14

rhubarb-lip-sync-ccc

Cocos Creator extension for rhubarb-lip-sync
JavaScript
30
star
15

2048

使用 Cocos Creator 开发微信小游戏 2048(代码基于 Cocos Creator 1.10)
JavaScript
29
star
16

MusicBoxApi

从网易云音乐Musicbox项目抽离出来的API,去掉了界面相关逻辑。
Python
28
star
17

wukong-itchat

用于微信控制wukong-robot
Python
26
star
18

hexo-tag-bootstrap

Bootstrap tag plugins for Freemind.
JavaScript
25
star
19

org-beamer-cn

[Deprecated] org-mode Simple Chinese Template for Beamer
24
star
20

ChatGPT-python-example

演示如何使用4行代码调用ChatGPT的官方API
Python
21
star
21

dingdang-smart-mi-fan

叮当机器人的智米电风扇插件
Python
17
star
22

xiaoai-wukong

小爱音箱联动wukong-robot
Python
15
star
23

awesome-config

My config file for Awesome window manager.
Lua
14
star
24

python-muse

A toy project to demonstrate how to interact with Muse Headband in Python.
Python
12
star
25

wukong-starter

wukong-robot 的基本环境安装脚本
Python
11
star
26

wukong-robot-pi-installer

wukong-robot 的树莓派 docker 安装脚本
Shell
9
star
27

dissertation

LaTeX source code of my master dissertation.
TeX
9
star
28

FC-EVM

Foreground Constrained Eulerian Video Magnification(FC-EVM)
C++
9
star
29

lipsync-demo

Cocos lipsync 插件的 demo 示例
JavaScript
8
star
30

chinese-chess-bot

中国象棋QQ频道机器人
Python
8
star
31

ReSpeaker-Switcher

ReSpeaker 2-Mics Pi HAT 麦克风开关
Python
7
star
32

wukong-qq-guild

wukong-robot 的 QQ 频道机器人客户端
Python
6
star
33

oil-price-bot

油价助手QQ频道机器人
Python
6
star
34

python2-miio

Python2 library for interfacing with Xiaomi miio components
Python
5
star
35

Qt_Toys

Some toy exemplars for Qt start-up.
C++
4
star
36

git-repo-sync

A tool to sync all branches from a git repo to another.
Python
3
star
37

wukong-doc

wukong-robot 的 reference 文档
HTML
3
star
38

wukong-next

腾讯 Next 课堂版本的 wukong-robot
Python
2
star
39

awesome-instant-apps

Awesome list for google instant apps.
2
star
40

MiMeshHelper

🤖 小米 Mesh 助手
Python
2
star
41

infer-xcode-plugin

Facebook infer plugin for xcode.
Objective-C
1
star
42

MuseFlappyBird

Use Muse headband to play Flappy Bird game with blink event.
Python
1
star
43

hexo-theme-freemind-blog

source blog repo for hexo-theme-freemind
HTML
1
star
44

timeline

my story
CSS
1
star
45

handout-with-script

A LaTeX template for writing script with handout of slides.
1
star