見出し画像

【STT+LLM+TTS構成 vs Gemini Live】AIスタックチャン(M5stack)との会話はどれが一番スムーズなの?

こんにちは!
東京オフィス戸嶋です。

前回に引き続きM5Stackで遊んでいます。
今度はサイネージ連携とかじゃなく完全に私用で
AIスタックチャンが作りたい!
子供としゃべらせたい!
という休日工作のお話です。


初回起動からM5Stackが好きな娘。

リビングでM5Stackを触っていると決まって寄ってきて
「あー!ってやつやりたい!」という娘。
初回起動のときの「Core2FactoryTest」のマイク入力に合わせてゲージが上下する部分が好きで、
M5Stackにむかって「あー!!」って叫んできゃっきゃしております。

これは、AIスタックチャンを作ったら喜ぶのでは…!ということで
作ってみました。

娘に「今日はロボットちゃん作るよー!」と早いうちに言ってしまったために、5分ごとに「できたー?まだー?」と聞いてくる鬼クライアント爆誕

最初はGeminiで試してみた

OpenAIの個人アカウントを作るのが面倒だったので
とりあえずGeminiでもできるみたいだからGeminiでやってみました。
GitHubに公開されているAI_StackChan_Exを利用させていただきました。

GitHub - ronron-gh/AI_StackChan_Ex: robo8080さんのAIスタックチャンをベースに、対応AIサービスの追加、YAMLへの対応など機能拡張しています。 · GitHub

GoogleのSTTやVOICEVOXのAPIキーを取得して登録したけど、
言われた通り設定ファイルを作ってビルドしてインストールしてみたら
声がどう聞いてもずんだもんじゃなくて、
調べてみたらGemini LiveをつかったRealtime版でした。

早速娘とおしゃべりさせてみた

娘「こんにちは!お花あげるよ!」スタックチャン「こんにちは!ありがとう!」

画面をタッチして音声入力スタート。


娘「こんにちは!」
スタックチャン(Listening…)

娘「こんにちは!こんにちは!こんにちは!こんにちは!」
私「多分今考えてるから待っててごらん」
スタックチャン(Listening…)

みんな「・・・」

スタックチャン「こんにちは!今日はどんな用事がありますか」

娘にっこり。
スタックチャン(Listening…)

娘「お花あげるよ!」(折り紙のチューリップを渡す)
スタックチャン(Listening…)
娘「こんにちは!お花あげるよ!」
スタックチャン(Listening…)
娘「わかんないのかなぁ…?」

みんな「・・・」

スタックチャン「こんにちは!ありがとうございます!」


こんな感じでした。
レスポンスが帰ってこないと、呼びかけを連呼してしまう娘。
聞こえてないと思っちゃうよね…。
返事が帰ってきたときは嬉しい&びっくりなお顔で可愛かったです!

音声入力終了判定だけでも早くならないか?

「10秒くらいかかるかも」っていったら10秒のタイマーがセットされた

応答に時間がかかるのはしょうがないとして、
音声入力の終了判定だけでも取れないかなとコードを読んでみる。
入力後返事待ちの間は「答え考え中」的な画面にしたら娘も待ってくれるはず

調べてみたところ、
chatGPT版(というかRealtime版じゃない方)だと考え中画面があるみたいです。

Realtime版だと以下のような仕組みなので
全部の判断をGeminiに丸投げするから考え中というフェーズを
本体側で取得することは無さそう。

Realtime版(RealtimeAiMod)

マイク → Gemini Liveが全部やる → スピーカー

chatGPT版だとスムーズにコミュニケーションできるのか?

娘のためならば、多少面倒でも速度改善を頑張れる!
chatGPT版試すかーということでアカウント作った。
クレジット5ドル+手数料。
今って5.5ドル900円以上するのね…。

Realtime版と通常版の違いを調べてみたら以下のような仕組みのようです。

Realtime版(RealtimeAiMod)

マイク → Gemini Liveが全部やる → スピーカー
通常版(AiStackChanMod)

マイク → Google STT → テキスト → chatGPT→ テキスト → VOICEVOX → スピーカー

こうやって見ると通常版のほうがトータルは早くなる予感は全くしない。
音声入力終了が取れる分、コミュニケーションはスムーズになるのでは?と予想。
一応試して見ようと思ってやってみました。

考え中がでるようになったぞ!
声もずんだもんで可愛くなった!

実験結果 計測と実感

STTもOpenAI WhisperとGoogle STT両方試してみました。 

いざ比較映像撮ってみると、Gemini Live圧倒的に早いな!!

週末娘が遊んでいたときは近くでお兄ちゃんがYoutube見てたから、
そっちの音声を拾ってしまっていて終了判定できなかったのかもしれない…。テレビの音声ってよく拾うよね…。

娘との会話としては、chatGPTにした場合もあまり変化はなく、
相変わらず娘は呼びかけを連呼してしまうか諦めて飽きてしまう。
(私に似てせっかちか)

子供の音声入力は終了を自分で押すほうがスムーズになるのかもしれないなと思いました。
それか子供が音声入力の間に慣れて入力がうまくなる方が早い気がしてきた。
ということで、我が家のAIスタックチャンはGemini版に戻しました。

それにしても、自由に会話できるスタックチャンかわいい。
休日工作でした!

VOICEVOX:ずんだもんを利用させていただいています。






いいなと思ったら応援しよう!