wukong-robotはオープンソースの中国語音声対話ロボットおよびスマートスピーカープロジェクトで、開発者がパーソナライズされたスマートスピーカーを迅速に構築できるように設計されています。中国語の音声認識、音声合成、多ラウンド対話機能をサポートし、ChatGPT、百度、KDDI、その他の技術と統合されています。このプロジェクトはモジュール式で、プラグインや機能を自由に拡張できるように設計されており、Raspberry Pi、Mac、Linuxシステム上で動作するのに適している。2023年3月現在、wukong-robotは13,000回以上インストールされ、700,000回以上起動されている。また、脳とコンピューターの相互作用をサポートする初のオープンソース・スマートスピーカー・プロジェクトであり、技術愛好家や開発者がパーソナライズされた音声アシスタントをカスタマイズするのに適している。
機能一覧
- Baidu、KDXF、Ali、Tencent、OpenAIと統合された中国語の音声認識をサポートします。 ウィスパー その他多くの技術
- VITSサウンドクローニング、Microsoft Edge、およびその他の技術をサポートする音声合成(TTS)を提供します。
- 多ラウンド対話、ChatGPT、チューリングロボット、その他のオンライン対話システムへのアクセスをサポート。
- モジュール設計で、機能的なプラグインは独立して維持され、開発者は簡単に新しいプラグインを開発し、統合することができます。
- ポーキュパインやスノーボーイ・エンジンを使ったオフラインの覚醒に加え、ブレイン・コンピューター・インタラクションやボードを振るといった革新的な覚醒方法もサポートしている。
- リモート対話、設定変更、ログ閲覧をサポートするバックエンド管理サイドを提供します。
- Raspberry Piのようなハードウェアプラットフォームをサポートし、インストールが簡単で、コードのメンテナンスも容易です。
- スマートホームシステムと連動させ、音声で家電をコントロールすることができる。
ヘルプの使用
設置プロセス
wukong-robotは、Raspberry Pi、Mac、Linuxシステムに適した様々なインストール方法を提供します。以下はRaspberry Pi上でのDockerインストール・プロセスの例です:
- 環境を整える以下のコマンドを実行し、Dockerをインストールする:
sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker
- インストール・スクリプトのクローンGitHubからwukong-robot用のRaspberry Piインストールスクリプトを入手してください:
git clone https://github.com/wzpan/wukong-robot-pi-installer.git cd wukong-robot-pi-installer sudo chmod +x pi_installer
- インストール・スクリプトの実行インストール・コマンドを実行すると、スクリプトが自動的にwukong-robotのDockerイメージを取得し、環境を設定します:
sudo ./pi_installer
- 設定環境初めて実行するときは、ユーザー・ディレクトリにコンフィギュレーション・ファイルを作成するよう促されます。入力
y
確立~/.wukong/config.yml
.設定ファイルには、音声認識、合成、プラグインの設定が含まれています。デフォルトの設定ファイルdefault.yml
直接ではなく、変更を加えるdefault.yml
その後の更新で上書きされないようにするためである:cp static/default.yml ~/.wukong/config.yml nano ~/.wukong/config.yml
- ウーコン・ロボット始動プロジェクトのルート・ディレクトリで以下のコマンドを実行し、プロジェクトを起動する:
python3 wukong.py
- プラグインのインストールwukong-robotはサードパーティ製のプラグインをサポートしていますので、プラグインリポジトリをクローンし、依存関係を別途インストールする必要があります:
cd ~/.wukong git clone https://github.com/wzpan/wukong-contrib.git contrib pip3 install -r contrib/requirements.txt
主な機能
- 声で目覚めるデフォルトのウェイクワードは
snowboy
これは設定ファイルによってカスタマイズできる。起床後、システムは録音モードに入り、ユーザーの音声コマンドを待つ。例えば、「snowboy、電気をつけて」と言えば、スマートホーム・プラグインを起動させることができる。 - 音声対話プロセスユーザーの声はASR(音声認識)によってテキストに変換され、NLU(自然言語理解)によって解析された後、マッチングプラグインによって処理され、最後にTTS(音声合成)によって結果が出力される。例えば、「今日の天気は」と言えば、天気プラグインが音声で返答を返す。
- バックエンド管理起動時に
http://<设备IP>:5001
管理インターフェイスに入り、リモートでコマンドを送信したり、ログを表示したり、設定を変更したりします。例えば、ウェイクワードの調整や音声認識エンジンの切り替えなど。 - プラグイン使用プラグイン
Echo.py
ユーザーが繰り返し入力できるテキストで、テストに適しています。には、サードパーティ製プラグイン(Baidu FMや天気予報プラグインなど)のインストールが必要です。config.yml
でAPIキーを設定する。例えば、weatherプラグインを設定します:weather: enable: true key: '心知天气 API Key'
注目の機能操作
- ChatGPTの統合を設定することで
openai_api_key
多ラウンド対話をサポートするChatGPTへのアクセス。を使用する必要があります。config.yml
セット・インopenai: api_key: 'your_openai_api_key' model: 'gpt-3.5-turbo'
これを使うには、「snowboy, talk to me about AI(スノーボーイ、AIについて話してくれ)」と言えば、多ラウンド対話モードに入る。
- ブレイン・コンピューター・インタラクションwukong-robotはMuseブレインコンピュータデバイスからのウェイクアップをサポートしています。実行後、脳波信号によってウェイクアップがトリガーされ、実験的なアプリケーションに適しています。
- スマート・ホーム・コントロールHASS(ホームアシスタント)プラグインで家電をコントロール。設定方法
config.yml
でHASSパラメータを "HASS "に設定した後、「リビングルームの電気をつけて」といった音声コマンドでデバイスを制御することができる。
ほら
- マイクとスピーカーが正常に動作することを確認し、録音・再生機能をテストします:
arecord -d 5 test.wav aplay test.wav
- Raspberry Piを使用する場合は、サウンドカードを適切に設定する必要があります(ReSpeaker 2 Micsなど)。以下を参照してください。
.asoundrc
コンフィギュレーション:pcm.!default { type asym playback.pcm { type plug slave.pcm "hw:1,0" } capture.pcm { type plug slave.pcm "hw:1,0" } } ctl.!default { type hw card 1 }
- ログを確認するか、GitHubのIssuesページ(例:#355、#353)を訪れて、問題が発生した場合のコミュニティの助けを求めてください。
アプリケーションシナリオ
- DIYスマートスピーカー
開発者は、wukong-robotを使用して、カスタマイズされたウェイクワードや音声インタラクションを備えたパーソナライズされたスマートスピーカーをRaspberry Pi上に構築することができ、家庭での使用や技術プロジェクトの展示に適している。 - スマート・ホーム・コントロール
HASSプラグインにアクセスすることで、ウーコンロボットは照明やエアコンなどの機器を音声で操作することができ、スマートホームハブを作るのに適している。 - 教育・研究
学生や研究者は、このモジュール設計を利用して、音声認識、NLP、プラグイン開発を学び、AIの教育や研究プロジェクトに役立てることができる。 - 脳とコンピューターの相互作用実験
脳とコンピュータのウェイクアップ機能をサポートしており、神経科学やHCIの研究者が新しいインタラクション手法を探求するのに適している。
品質保証
- snowboy API closed」の問題を解決するには?
Snowboy APIは2020年12月にサービスを終了するため、Porcupineまたは他のオフラインウェイクエンジンに切り替える必要があります。変更点config.yml
ウェイクアップ・エンジンを設定する推奨の方法は、Porcupineを使用することです。 - なぜマイクが起きないのか?
を実行して、サウンドカードが正しく設定されていることを確認する。arecord -l
マイク機材の確認マイクが.asoundrc
正しく設定するか、GitHub Issue #57を参照してReSpeakerの設定を調整してください。 - 新しいプラグインを追加するには?
クローンwukong-contrib
レポジトリにインストールし、依存関係をインストールしてプラグインを~/.wukong/contrib
ディレクトリにあるconfig.yml
の "Baidu FM Plugin "セクションを参照してください。例えば、Baidu FMプラグインを追加するには、以下のように設定する必要があります。baidufm
パラメーター - APIキーを保護するにはどうすればよいですか?
を入れてはいけない。openai_api_key
などの機密情報が印刷されたり、ログに直接書き込まれたりする。設定config.yml
ファイルのパーミッションは、現在のユーザー (chmod 600 config.yml
).Issue #317 を参照し、潜在的なセキュリティ問題を修正してください。