AIナイト2000を作る その1
5月の静岡ホビーショーに持って行った会話できるナイト2000の環境を別のPCに移そうとしたら、何もかも忘れていて起動すらできなくなっていた。自分の物の覚えてられなさにびびる。
その後色々触って少し戻ってきたのでまた忘れないうちにメモをしておこうと思う。
そもそもこれは以前作ったときに書いたように、喋る部分に関してはムーザルチャンネルさんのコードを使わせていただいている。(喋りに合わせてスキャナーが光る部分はまた別)
この中で説明してくださっているように、このシステムの主な構成要素は3つで、
1)グーグルの音声認識を使ってマイクの音声をテキスト化
2)テキストをChatGPTに送って返事を受け取る
3)返事をVOICEVOXに送って音声を出力させる
という流れになる。完成品ではなく、この3要素のみを切り出して個別のコードとして公開してくださっている。
なので、ナイト2000のKITTとして話し相手になってもらうためにはこの3つをガッチャンコして、見た目を整え、仮想の人格を付与する必要がある。
まずは1)の機能を担うinput-voice.htmlをダウンロードして適当なフォルダに保存する。
これを起動すると、このような画面になるので、「音声認識開始」を押してマイクにむかって喋り、終わったら「終了」を押すと、たちまち喋ったことがテキストとなって表示される。
非常に正確で、こんなサービスがタダで提供されてることに驚く。すごい世の中だ。
ただ、幾つか気になることがある。まず問題になるのが、「音声認識開始」を押すたびにブラウザがマイクの使用の許可を求めてくること。
会話の開始に何かしらのキューは必要なので、「開始」ボタンを押すのはやむを得ないが、毎回「開始」と「許可」の2クリックが必要なのはわずらわしい。
なぜこうなるのかが分からなくて、初っ端から苦労した。調べているうちにファイルがローカルドライブにあるから毎回聞いてくると分かった。だからと言ってファイルをサーバーにあげる必要もなくて、要はローカルホストをPCの中に立ててやればいいという事らしい。
ローカルホストとか言われてもお手上げだよ…なのだが、また色々調べて、開発環境のVisual Stuido Codeに
プラグインでLive Previewを入れてやると、プレビュー用にローカルホストを立ててくれることがわかった。
input-voice.htmlをこのVSCode上に読み込んだうえで、右クリックメニューの下の方にある「vscode-preview-server:Launch-on-browser」を押す。
するとVSCodeがローカルホスト8080を立ち上げてそこで動かしてくれる。
これでいちいちマイクの許可を押さなくてもよくなる。
ちなみにこのローカルホストは、PCからArduinoを介してナイト2000のスキャナーのオンオフするのにも必要になるので、ローカルホストを立てるのは2重の意味で役に立つことになる。
とりあえず今日はここまで。