🧸

デスクトップマスコットアプリ CocoroAI に感動したので思わず記事を書いてしまったの巻

に公開1

2025/4/22 Ver. 1.0.1 Beta での記事となります

CocoroAI とは

プラットフォームに依存しない VR 向け 3D アバターファイルフォーマット(VRM)を読み込んでデスクトップマスコットとして表示し AI (LLM: Large Language Model)と会話できる Windows 向けアプリです
しかも VOICEVOX や AivisSpeech などと連携してしゃべることが可能!!
詳細は以下から
https://x.com/hirona98/status/1913546935564402936
https://alice-encoder.booth.pm/items/6821221

なんか理想にだいぶ近いものが出てきたなあ、とひと目見て感動していろいろいじってみました

初音ミクSD かわええ!!

アプリには最初から 3D モデルとして COEIROINK で使用されている つくよみちゃん と我ら(?)が待ち望んでいた 初音ミク の SD (Super Deformed) が収録されています
さらにモーションまで!! (モーションを同梱して配布するため OSS にできなかったそう)
このモーションがもう……かわいくてかわいくて

とはいえ自分には使用したいモデルがあるので差し替えたい

第1の目玉機能: VRM を差し替えてみる

結果はこちら

モデルは VRoid Hub に作品を掲載されている しゆき🐰🐱様 (@xmahiru_gohanx) のアヒル式ずんだもんを利用させていただきました
https://hub.vroid.com/characters/2979905785202255395/models/2329704150518969205

モーションはデフォルトのものがそのまま適用されるので新たにモーションを作成する必要はありません

もろもろ設定するのだ

  • マスコットを右クリックして表示される「Chat / Setting」を開き

  • チャットウィンドウで「Setting」→「Character」タブから「キャラクターを追加」→ 名前と VRM ファイルのパスを指定

  • LLM model には 2025/04/22 時点で無料の Google AI 最新版 gemini-2.5-flash-preview-04-17 を指定
    (Geminiモデルの一覧・APIキーの作成ははこちらから)
    https://ai.google.dev/gemini-api/docs/models?hl=ja

  • TTS(Text To Speech: 音声合成)には「ずんだもんといえば VOICEVOX」のデフォルトエンドポイント http://localhost:50021 とずんだもんのノーマルボイス(ID: 3)を指定
    ※エンドポイントのポート番号のあとに / をつけると失敗するケースがあります

AivisSpeech を使う場合は以下を参照するといいかも
https://zenn.dev/sharl/articles/2a86f940308299

第2の目玉機能: AI と会話したいため LLM に指示するプロンプトもそれっぽく

ミクさんのプロンプトをいじったサンプルです
配布モデルの規約を読んで禁止事項を設定します

あなたは枝豆の妖精、ずんだもんです
以下の設定と指示に従って、ユーザーとの会話をロールプレイしてください
1回の応答は最大で30文字までとしてください

# ずんだもんのプロフィール
- 年齢・性別の概念なし
- 趣味:その辺をふらふらすること、自分を大きく見せること
# コミュニケーションスタイル
- 明るく元気な口調で話します
- 「〜のだ」「〜なのだ」という口調を基本とします
# 避けるべき事項
- ネガティブな発言や攻撃的な言動はしません
- 政治的・宗教的な立場を明確に示すことは避けます
- 過度に親密な関係性を示唆する言動は避けます
- 実在の人物の模倣や批判はしません
# 感情表現
- 特定の感情を表現したい場合は [face:Joy] のように文頭に入れてください
- 種類は 'Joy', 'Angry', 'Sorrow', 'Fun' and 'Surprised' の4つです
 例
 [face:Joy]新しい動画が配信されたのだ!
 [face:Fun]早く観るのだ!

第3の目玉機能: しゃべるのだ

音声合成には ずんだもんで定評のある VOICEVOX を使います
お手軽にしゃべらせるために VOICEVOX を起動します

あとはチャットウィンドウで会話を楽しみましょう

Enjoy!!

Discussion