理想のAIアシスタントアプリを作りたい

ontoyoshima

理想のAIアシスタントアプリとは

  • ChatGPTやGeminiのような対話型のAIサービスに
  • 素敵な女の子が表示されて
  • その子に音声で教えてもらえる

本当に要るの?

こう思われた方もいるかもしれません
「見栄えが変わるだけで実用性変わるわけではない。別にそんな機能不要では」

だってその方がモチベ上がるじゃん

色々意見があるとは思いますがここではこれ以上議論しないものとさせてください。

必要なものの整理

モデル・データ等

  • 素敵な女の子の3Dモデルと声
  • 生成AIのモデル(を使わせてくれるようなサービスでも可)

機能要件

  • 3Dモデルが表示される
  • 生成AIの返答が素敵な女の子の声で読み上げれれる

素敵な女の子のモデルと声

何気にここが一番の難所です。そもそも個人利用が可能な形で、3Dモデルと声のモデル双方が公式で公開されているものは少ないです。果たしてその中に私好みの子はいるのだろうか。

そういえば1

雨衣のMMDモデルが2025年5月30日に公式から配布された。
出典:https://x.com/ui_roid/status/1928438077502136711

そういえば2

2025年5月30日の投稿「VoiSona Talk 雨衣 2026年夏頃発売予定」
出典: https://x.com/ui_roid/status/2060663630690222575

ということで雨衣ちゃんを表示することにした

使用したもの

モデル:雨衣

声: VoiSona Talk(雨衣)

生成AIのモデル:OpenRouterの無料モデル

モデルの表示:Three.js

アプリ製作者:ontoyoshima, キャラクター:雨衣©Ui Shigure / ©INCOLORE

Voisona Talkとは

「VoiSona Talkは最新のAI技術で人間の話し方をリアルに再現する音声創作ソフトウェアです。(略)」

OpenRouterとは

AIモデルを提供しているサービスです。このサービスのAPIを使用して回答を生成してもらいます。

Three.jsについて

web上で3Dモデル表示させたいなと思い検索をかけたところThree.jsが引っ掛かったので使用しました。最新verを使用したことろ「MMDLoaderがない」と言われ、モデルの表示ができず苦戦しました。
どうやらr172というバージョンで削除され、以降無くなったそうです。これについて記載している記事が見つかれないわ、今年に試された方の記事では何故か古いバージョンを使用している記述があるわで、もしやと思ったらもしやでした。
このMMDLoaderのバージョン問題をもう少し詳しく記載したブログを書きましたので、よろしければそちらもご覧ください。

システムの説明

まず、WebAppでユーザに入力をしてもらいます。入力された内容はOpenRouterに飛ばし、指定したモデルで返答を作ってもらいます。
OpenRouterで作成された返答を受け取り、localhostで立っているVoiSona Talkに送信します。VoiSona Talkが一つの送信で受け取れるのは最大で500文字までなので、送信前に上限以下になるよう生成された文章をいい感じに分割して送信します。
VoiSona Talkで生成された音声ファイルが分割したファイルの数だけWebAppに送られてきます。音声ファイルを一つにまとめるために内部でffmpegを叩きます。こうして一つにまとめられた音声ファイルを再生するといった流れになります。

先程の説明を図にしたもの

システムのワークフロー図

雨衣の声はまだ使用できず...

7月31日のツイートにて、VoiSona Talk 雨衣の発売日9月14日であることが公開された。したがって現状はVoiSona Talkで無料で使用できる田中傘の声を使用して開発を行っている。
出典:https://x.com/VoiSonaOfficial/status/2083118085247287324

使用したもの(最終ver)

モデル:雨衣

モーションデータ:EyeBlink202409A(作者:かんな@MMD)

声: VoiSona Talk (雨衣) (田中傘)

生成AIのモデル:OpenRouterの無料モデル

モデルの表示:Three.js

音声ファイルの結合:ffmpeg

アプリ製作者:ontoyoshima, キャラクター:雨衣©Ui Shigure / ©INCOLORE

デモ動画は雨衣のお声が解禁されたら公開するかもしれません

今後の方針

  • 雨衣に色々な動きをさせたいなと。待機中は椅子に座って本を読む等。
  • 文字の表示と読み上げの同期ができていないので対応したい。
  • Switch bot等と連携して家電を操作できるといいかなと思ってます。
  • 雨衣の声で喋れるようになるのが楽しみです。