├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 robo8080 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AI_StackChan2_README 2 | AIスタックチャン2の使い方です。 3 |

4 | AIスタックチャン2の特徴
5 | 6 | * 音声合成にWeb版 VOICEVOXを使います。 7 | * 音声認識に"Google Cloud STT"か"OpenAI Whisper"のどちらかを選択できます。 8 |
9 | 10 | 11 | Google Cloud STTは、”MhageGH”さんの [esp32_CloudSpeech](https://github.com/MhageGH/esp32_CloudSpeech/ "Title") を参考にさせて頂きました。ありがとうございました。
12 | "OpenAI Whisper"が使えるようにするにあたって、多大なご助言を頂いた”イナバ”さん、”kobatan”さんに感謝致します。
13 | ウェイクワードには、”MechaUma”さんの[SimpleVox](https://github.com/MechaUma/SimpleVox/ "Title")ライブラリを使わせていただきました。 14 | 15 | 16 | --- 17 | 18 | ### ChatGPTのAPIキーの取得 ### 19 | 20 | ChatGPTのAPIキー取得方法は以下の通りです。(詳細はこのページ一番下のリンクを参照してください。) 21 | 22 | * [OpenAIのウェブサイト](https://openai.com/ "Title")にアクセスして、アカウントを作成します。メールアドレスと携帯電話番号が必要です。 23 | * アカウント作成後、APIキーを発行します。APIキーは有料ですが、無料期間やクレジットがあります。
24 | 25 | ### Web版 VOICEVOX のAPIキーの取得 ### 26 | 27 | * Web版 VOICEVOX のAPIキーの取得方法は、このページ([ttsQuestV3Voicevox](https://github.com/ts-klassen/ttsQuestV3Voicevox/ "Title"))の一番下の方を参照してください。)
28 | VOICEVOXのAPIキー取得後忘れずに“VOICEVOX用API利用登録”をしてください。そうしないと音声合成が高速にならないので音声が途切れ途切れになります。 29 | 30 | ### Google Cloud Speech to Text のAPIキーの取得(音声認識にWhisperを使うときは不要) ### 31 | 32 | Google Cloud Speech to TextのAPIキー取得方法は以下の通りです。(詳細はこのページ一番下のリンクを参照してください。) 33 | 34 | * [Google Cloud Platformのウェブサイト](https://cloud.google.com/?hl=ja/ "Title")にアクセスして、アカウントを作成します。メールアドレスと携帯電話番号が必要です。カードの登録が必須ですが、無料トライアルや無料枠があります。 35 | * アカウント作成後、APIキーを取得します。
36 | APIキーでSpeech to Textを有効にするのを忘れないで下さい。
37 | 38 | --- 39 | 40 | 41 | ### 設定方法 ### 42 | 43 | * SDカードのルートに以下の2つのファイルを作成しておくと、使用できるようになります。
正常に動作するのが確認できたら設定に使ったSDカードは必ず抜いておいて下さい。 44 | 45 | 1. wifi.txtファイル:ファイル名は"wifi.txt"で、中身は次の通りです。
46 | YOUR_WIFI_SSID
47 | YOUR_WIFI_PASS
48 | 49 | 2. apikey.txtファイル:ファイル名は"apikey.txt"で、中身は次の通りです。
50 | YOUR_OPENAI_APIKEY
51 | YOUR_VOICEVOX_APIKEY
52 | YOUR_STT_APIKEY
53 | 54 | * 【注意】
"YOUR_STT_APIKEY"には"Google Cloud STTのAPIキー" または、"YOUR_OPENAI_APIKEY"と同じものを設定します。
55 | "YOUR_STT_APIKEY"に"YOUR_OPENAI_APIKEY"と同じものを設定した場合は音声認識にOpenAI Whisperが使われます。 56 | 57 | 58 | * もしM5Stackが以前にWifiに接続していた場合、SDカードが必要なく自動的にWifiに接続されます。
59 | この場合、ブラウザで"http://XXX.XXX.XXX.XXX/apikey"にアクセスし、APIキーを設定できます。
60 | (xxxx.xxxx.xxxx.xxxxはAIスタックチャンの起動時に表示されるIPアドレスです。)
61 | 62 | 63 | ### ウェイクワードの使い方(Core2にのみ対応) ### 64 | 65 | 1. ウェイクワード登録
66 | ボタンBを2秒長押しします。
67 | ”ウェイクワード登録開始”と表示が出たら登録する任意のウェイクワードを喋ります。
68 | 正常に登録出来れば登録したウェイクワードが再生されます。
69 | 再生音は小さいですが大丈夫です。
70 | 上手くいかなかったらやり直してください。
71 | 72 | 2. 動作確認
73 | ボタンAをクリックするとウェイクワードが有効になります。
74 | 登録したウェイクワードを喋ってみてください。
75 | ウェイクワードを上手く認識できれば音声入力待ちになります。
76 | 何度やってもダメな場合は、手順1からやり直してください。
77 | 78 | 3. 補足
79 | ・電源投入時はウェイクワード機能は無効です。必要に応じてボタンAで有効にしてください。
80 | ・LCD画面左端中央付近にタッチすると独り言モードの切り替えが出来ます。
81 | 82 | ### その他の機能の使い方 ### 83 | 84 | * スタックチャンの額付近にタッチするとマイクからの録音が始まり音声認識で会話できるようになります。
85 | 録音時間は7秒程度です。
86 | 87 | * デフォルトの声(話者)を設定できます。
88 | 例:http://xxxx.xxxx.xxxx.xxxx/setting?speaker=1
89 | 値は0~60
90 | 値の一覧は一番下の話者番号一覧に有ります。
91 | 92 | * 一時的な声の変更には、voiceパラメータを指定できます。
93 | 値の一覧は一番下の話者番号一覧に有ります。
94 | 例えば、次のように指定します。

95 | http://192.168.11.20/chat?voice=4&text=こんにちは
96 |
97 | 98 | * ブラウザで"http://xxxx.xxxx.xxxx.xxxx/role"にアクセスすると、ロールを設定できます。
99 | (xxxx.xxxx.xxxx.xxxxはAIスタックチャンの起動時に表示されるIPアドレスです。)
100 | テキストエリアに何も入力せずに送信すると、以前に設定されたロールが削除されます。

101 | ロール情報は自動的にspiffsに保存されます。
102 | 103 | * ブラウザで"http://xxxx.xxxx.xxxx.xxxx/role_get"にアクセスすると、現在設定しているロールを取得できます。
104 | 105 | * スピーカーの音量を調整できます。

106 | 例:http://xxxx.xxxx.xxxx.xxxx/setting?volume=180
107 | volumeの値は0~255
108 | 109 | * 独り言モードを追加しました。ランダムな時間間隔で、ランダムに喋ります。
110 | 感情表現機能と組み合わせると楽しいです。
111 | LCD画面左端中央付近にタッチすると独り言モードのON/OFFを切り替え出来ます。
112 | 独り言モードでも従来通りスマホから会話できます。
113 |
114 | 115 | * M5Stack Core2の画面中央付近にタッチするとスタックチャンの首振りを止められます。
116 | 117 | * M5Stack Core2のボタンCを押すと、音声合成のテストが出来ます。
118 | 119 | 以上が、AIスタックチャンの使い方になります。

120 | ### 注意点として、M5Burnerでファームを書き込んだ場合は再度SDからAPIキーを設定することを忘れないようにしてください。 ### 121 |
122 | 123 | --- 124 | 125 | ### ChatGPTのAPIキー取得の参考リンク ### 126 | 127 | * [ChatGPT API利用方法の簡単解説](https://qiita.com/mikito/items/b69f38c54b362c20e9e6/ "Title")
128 | 129 | ### Web版 VOICEVOX のAPIキーの取得 ### 130 | 131 | * Web版 VOICEVOX のAPIキーの取得方法は、このページ([ttsQuestV3Voicevox](https://github.com/ts-klassen/ttsQuestV3Voicevox/ "Title"))の一番下の方を参照してください。)
132 | 133 | ### Google Cloud Speech to TextのAPIキー取得の参考リンク ### 134 | 135 | * [Speech-to-Text APIキーの取得/登録方法について](https://nicecamera.kidsplates.jp/help/feature/transcription/apikey/ "Title")
136 | 137 | ### ChatGPTのキャラクター設定の参考リンク ### 138 | 139 | * [ChatGPTのAPIでキャラクター設定を試してみた](https://note.com/it_navi/n/nf5f702b36a75#8e42f887-fb07-4367-9f3f-ab7f119eb064/ "Title")
140 |
141 | 142 | ### VoiceVoxの話者番号 ### 143 | 144 | * VoiceVox話者番号一覧
145 | 0:四国めたん(あまあま)
146 | 1:ずんだもん(あまあま)
147 | 2:四国めたん(ノーマル)
148 | 3:ずんだもん(ノーマル)
149 | 4:四国めたん(セクシー)
150 | 5:ずんだもん(セクシー)
151 | 6:四国めたん(ツンツン)
152 | 7:ずんだもん(ツンツン)
153 | 8:春日部つむぎ(ノーマル)
154 | 9:波音リツ(ノーマル)
155 | 10:雨晴はう(ノーマル)
156 | 11:玄野武宏(ノーマル)
157 | 12:白上虎太郎(ふつう)
158 | 13:青山龍星(ノーマル)
159 | 14:冥鳴ひまり(ノーマル)
160 | 15:九州そら(あまあま)
161 | 16:九州そら(ノーマル)
162 | 17:九州そら(セクシー)
163 | 18:九州そら(ツンツン)
164 | 19:九州そら(ささやき)
165 | 20:もち子(cv 明日葉よもぎ)
166 | 21:剣崎雌雄(ノーマル)
167 | 22:ずんだもん(ささやき)
168 | 23:WhiteCUL(ノーマル)
169 | 24:WhiteCUL(たのしい)
170 | 25:WhiteCUL(かなしい)
171 | 26:WhiteCUL(びえーん)
172 | 27:後鬼(人間ver.)
173 | 28:後鬼(ぬいぐるみver.)
174 | 29:No.7(ノーマル)
175 | 30:No.7(アナウンス)
176 | 31:No.7(読み聞かせ)
177 | 32:白上虎太郎(わーい)
178 | 33:白上虎太郎(びくびく)
179 | 34:白上虎太郎(おこ)
180 | 35:白上虎太郎(びえーん)
181 | 36:四国めたん(ささやき)
182 | 37:四国めたん(ヒソヒソ)
183 | 38:ずんだもん(ヒソヒソ)
184 | 39:玄野武宏(喜び)
185 | 40:玄野武宏(ツンギレ)
186 | 41:玄野武宏(悲しみ)
187 | 42:ちび式じい(ノーマル)
188 | 43:櫻歌ミコ(ノーマル)
189 | 44:櫻歌ミコ(第二形態)
190 | 45:櫻歌ミコ(ロリ)
191 | 46:小夜/SAYO(ノーマル)
192 | 47:ナースロボ_タイプT(ノーマル)
193 | 48:ナースロボ_タイプT(楽々)
194 | 49:ナースロボ_タイプT(恐怖)
195 | 50:ナースロボ_タイプT(内緒話)
196 | 51:†聖騎士 紅桜†(ノーマル)
197 | 52:雀松朱司(ノーマル)
198 | 53:麒ヶ島宗麟(ノーマル)
199 | 54:春歌ナナ(ノーマル)
200 | 55:猫使アル(ノーマル)
201 | 56:猫使アル(おちつき)
202 | 57:猫使アル(うきうき)
203 | 58:猫使ビィ(ノーマル)
204 | 59:猫使ビィ(おちつき)
205 | 60:猫使ビィ(人見知り)
206 |

207 | --------------------------------------------------------------------------------