wukong-robot is a simple, flexible and elegant Chinese voice conversation robot/smart speaker project, aiming to enable Chinese Maker and Haker to quickly create personalized smart speakers. wukong-robot may also be the first open source brain-computer wake-up smart speaker.
As of March 31, 2023, wukong-robot has more than 13,000 installed devices, and the number of wake-ups has accumulated more than 700,000 times.
characteristic
Demo
Environmental Requirements
Install
upgrade
run
Configuration
Skill plug-in
API Interface
Donate
contribute
Quote
connect
grateful
FAQ
Disclaimer
Modular. Functional plug-ins, voice recognition, voice synthesis, and dialogue robots have all been highly modular. Third-party plug-ins are maintained separately to facilitate inheritance and development of their own plug-ins.
Chinese support. It integrates many Chinese voice recognition and speech synthesis technologies such as Baidu, iFLYTEK, Alibaba, Tencent, OpenAI Whisper, Apple, Microsoft Edge, VITS sound cloning TTS, and can continue to expand.
Conversation robot support. Supports local conversation robots based on AnyQ, and supports access to online conversation robots such as Turing robots, ChatGPT, etc.
Global monitoring, wake up offline. It supports two offline voice command wake-up engines, Porcupine and snowboy, and supports other wake-up methods such as Muse brain-computer wake-up and Xingkong board shake-up.
Flexible and configurable. Supports customizing robot names and supports selection of plug-ins for speech recognition and synthesis.
Smart home. Supports linkage with smart home protocols such as Xiaoai Speaker, Siri, mqtt, HomeAssistant, and supports voice control of smart home appliances.
Backend supporting support. It provides a supporting backend, which can realize remote control, configuration modification and log viewing.
Open API. You can use the open API on the backend to achieve richer functions.
Simple installation and support more platforms. Compared with dingdang-robot, the offline wake-up solution of PocketSphinx is abandoned, and the installation becomes easier, with less code, easier to maintain and can run on Mac and more Linux systems.
The functions of wukong-robot are still being updated and iterated, please see the update instructions for details.
Wukong-robot's working mode:
After wukong-robot is awakened, the user's voice command is first ASR engine to recognize it into text, then NLU parses the recognized text, and then skill matching the analysis results and handing it over to a skill plug-in suitable for processing the instruction. . After the plug-in processing is completed, the result will be handed over to the TTS engine to synthesize it into voice and play it to the user.
Although one interaction may contain multiple network requests, the benefit is that each link can be modified and customized. And I think that in the 5G era, the response speed of speakers will no longer be an experience issue. Customization and personalization are the mainstream of the future, and wukong-robot will be a better choice at that time!
Demo Video:
wukong-robot + ChatGPT implements smart speakers that support streaming dialogue (one and a half minutes)
Fans to custom version, demonstration dialogue + music + open API + smart home (five minutes)
Use brain machine to wake up wukong-robot
Google AIY Voice Kit + wukong-robot
Siri linkage wukong-robot + ChatGPT
Xiao Ai’s linkage wukong-robot
Tutorial: The preliminary implementation of AI Lingyuan open source smart speaker based on Raspberry Pi & wukong-robot & VITS (by @ 2D ring-shaped infinite potential well)
Tutorial: Implementing a virtual butler: Jarvis (by @Echo)
Backend management demo
Experience address: https://bot.hahack.com (Experience username: wukong; experience password: wukong@2019)
wukong-robot only supports Python >= 3.7 and < 3.10, and does not support Python 2.x.
wukong-robot supports running on the following devices and systems:
Intel Chip Mac (not supported by M1 chip)
64bit Ubuntu (12.04 and 14.04)
Full series of Raspbian Pi (Raspbian system)
Pine 64 with Debian Jessie 8.5 (3.10.102)
Intel Edison with Ubilinux (Debian Wheezy 7.8)
Windows with WSL (Windows Subsystem for Linux) installed
See the wukong-robot installation tutorial.
python3 wukong.py update
If the upgrade fails, you can try to manually execute the following command in the root directory of wukong-robot to see what the problem is.
git pull pip3 install -r requirements.txt
python3 wukong.py
It is recommended to execute in tmux or supervisor.
When starting the first time, you will be prompted whether you want to create a configuration file in the user directory, and just enter y .
Then, the wukong-robot is awakened to interact with the wake word "snowboy" (the wake word is customizable).
In addition, wukong-robot will start a background management end during operation by default, providing remote conversations, viewing and modifying configurations, viewing logs and other capabilities.
Default address: http://localhost:5001
Default account name: wukong
Default password: wukong@2019
It is recommended to modify the username and password when used formally to avoid privacy leakage.
Just refer to the annotation of the configuration file to configure it. Note that it is not recommended to modify the content in default.yml directly, otherwise it will cause trouble to subsequent updates through git pull . You should copy one and put it in $HOME/.wukong/config.yml , or follow the prompts to let wukong-robot do this for you when running.
tips: No matter which manufacturer's API is used, it is recommended to register and fill in the application information you have registered, instead of using the default configuration. This is because these APIs have usage frequency and concurrency restrictions, and excessive use of them will affect service quality.
Official plugin list
User Contribution Plugin
The background interface of wukong-robot is an open Web API and can be called using the Restful method, see the background API.
Your donation will encourage me to continue to improve wukong-robot.
For individual users, you can use Alipay or WeChat to donate. For donors with a single donation of more than 100 yuan, your ID will appear on the donation page of the wukong-robot backend management side.
| Alipay | WeChat Payment |
|---|---|
If the above picture is cracked, you can download the picture (Alipay | WeChat) and scan it locally.
For enterprise users, it is recommended to become the backer of this project. You will be able to place a link-based logo on the homepage, donation page and Github project homepage of the wukong-robot backend management end.
If you like this project, please give me a star first;
To mention a bug, please go to the issue page;
To contribute code, welcome to fork to mention pull request later;
Please submit the plugin to wukong-contrib;
If you use the code or plug-in for this project, please refer to this project.
@misc{wukong-robot,
author = {潘伟洲},
title = {wukong-robot,一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/wzpan/wukong-robot}},
}The main developer of wukong-robot is Pan Weizhou.
QQ Channel (recommended):
Use QQ to scan the QR code to join:
QQ Group: 580447290 (The number of people will be full, and the number of people will be controlled, and you need to pay 20 yuan to join the group. After payment on WeChat or Alipay, just post a transfer number when applying for joining the group. The first 10,000 yuan of group income has been donated to Yi for free Funds and other public welfare projects ).
| Alipay | WeChat Payment |
|---|---|
If the above picture is cracked, you can download the picture (Alipay | WeChat) and scan it locally.
Goku's predecessors were the dingdang-robot project and the jasper-client project. Thanks to Shubhro Saha, Charles Marsh and Jan Holthuis for their outstanding contributions on the Jasper project;
Thanks to Misaki Tomoko for providing an alternative background management demo experience address.
Thanks to aliciacai for the contribution of the wukong-robot icon.
Thank you to everyone who has contributed to this project, wukong-contrib project and dingdang-robot project!
wukong-robot is only used for personal study and research. I am not responsible for any losses caused by the use of wukong-robot.
This open source project has nothing to do with Tencent Dingdang Assistant and UBLY Wukong projects.