「ChatGPT API搭載AIスタックチャン」です。
これは @mongonta555 さんのスタックチャン M5GoBottom版組み立てキットに対応したスタックチャンファームです。
HOYA社が提供するVoiceText Web APIサービスを使った音声合成(TTS)を使用しています。
VoiceText TTSは、kghrlaboさんのesp32_text_to_speechを参考にさせていただきました。
オリジナルはこちら。
esp32_text_to_speech https://github.com/kghrlabo/esp32_text_to_speech
こちらを参照してください。
- M5Stack Core2
- VSCode
- PlatformIO
使用しているライブラリ等は"platformio.ini"を参照してください。
- M5Unified_StackChan_ChatGPT.inoの42行目付近、サーボモーターを使用するGPIO番号を設定してください。
ChatGPTのAPIキー取得方法は以下の通りです。(詳細はこのページ一番下のリンクを参照してください。)
- OpenAIのウェブサイトにアクセスして、アカウントを作成します。メールアドレスと携帯電話番号が必要です。
- アカウント作成後、APIキーを発行します。APIキーは有料ですが、無料期間やクレジットがあります。
APIキーは、ここの「無料利用登録」から申請すれば、メールで送られて来ます。
- TTSのパラメータの詳細はこちらを参照してください。
[VoiceText Web API API マニュアル]
- SDカードのルートに以下の2つのファイルを作成しておくと、使用できるようになります。
-
wifi.txtファイル:ファイル名は"wifi.txt"で、中身は次の通りです。
YOUR_WIFI_SSID
YOUR_WIFI_PASS -
apikey.txtファイル:ファイル名は"apikey.txt"で、中身は次の通りです。
YOUR_OPENAI_APIKEY
YOUR_VOICETEXT_APIKEY
-
もしM5Stackが以前にWifiに接続していた場合、SDカードが必要なく自動的にWifiに接続されます。
この場合、ブラウザで"http://XXX.XXX.XXX.XXX/apikey"にアクセスし、APIキーを設定できます。
(xxxx.xxxx.xxxx.xxxxはAIスタックチャンの起動時に表示されるIPアドレスです。) -
声の変更には、voiceパラメータを指定できます。
値は0〜4の範囲で指定できます。
例えば、次のように指定します。
http://192.168.11.20/chat?voice=4&text=こんにちは
- ブラウザで"http://xxxx.xxxx.xxxx.xxxx/role"にアクセスすると、ロールを設定できます。
(xxxx.xxxx.xxxx.xxxxはAIスタックチャンの起動時に表示されるIPアドレスです。)
テキストエリアに何も入力せずに送信すると、以前に設定されたロールが削除されます。
ロール情報は自動的にspiffsに保存されます。
-
ブラウザで"http://xxxx.xxxx.xxxx.xxxx/role_get"にアクセスすると、現在設定しているロールを取得できます。
-
AIスタックチャンの表情を会話内容に合わせて変更できます。
ロール設定で以下の2行をそのまま入力してください。
(Happy)のように、必ず括弧で囲んで感情の種類を表し、返答の先頭に付けてください。
感情の種類には、Neutral、Happy、Sleepy、Doubt、Sad、Angryがあります。
他にもロールを設定する際は、これらの2行を最後にしてください。
出来ればこの2行のみでやってみてください。
ロールを増やすと失敗しやすくなります。
- 独り言モードを追加しました。ランダムな時間間隔で、ランダムに喋ります。
感情表現機能と組み合わせると楽しいです。
ボタンAで独り言モードをON/OFFできます。
独り言モードでも従来通りスマホから会話できます。
-
直近5回分の会話の履歴を保存する機能があります。
-
音声認識プログラムは別途ユーザーが用意する必要があります。
音声認識プログラムからこのようにhttpコマンドでテキスト(UTF-8)を渡します。
(テキストはURLエンコードして渡してください。)
http://XXX.XXX.XXX.XXX/chat?text=こんにちは
XXX.XXX.XXX.XXXの部分は起動時に表示されるM5StackのIPアドレスに置き換えてください。 -
M5Stack Core2の画面中央付近にタッチするとスタックチャンの首振りを止められます。
-
M5Stack Core2のボタンCを押すと、音声合成のテストが出来ます。
- APIキーは、ここの「無料利用登録」から申請すれば、メールで送られて来ます。