🐷

【完全保存版】Project AIRI「たまごっち版」日本語音声でしゃべらせるまでの全記録

に公開
1

はじめに:AITuberの夢、ローカルで叶える

「Neuro-sama に大きな影響を受けました」

Project AIRIのREADMEトップにこの一文があります。単なるチャットボットではありません。AI VTuberとして、会話し、表情を変え、情感豊かに語りかけてくる―そんな存在を自分のPC上で実現できるプロジェクトです。

Web版での"遊び"に慣れてきたところで、いよいよ**「たまごっち版(デスクトップ版)」**に挑戦してみました。音声再生機能の設定で想像以上に苦戦したので、同じ悩みを抱える人のために、すべてを記録しておきます。

この記事を読めば、ゼロから日本語で喋るAITuberをローカル環境で立ち上げることができます。


起:インストール方法の選択

方法1:ソースコードからビルド(大変な道)

最初はダウンロードページが見つからず、GitHubのフォークリポジトリからソースコードをクローンしてビルド...という長い道を選びました。
Claude Code をつかって。

# リポジトリのクローン
git clone https://github.com/moeru-ai/airi.git
cd airi

# 依存関係のインストール
pnpm install

# Rust依存関係のフェッチ
cargo fetch

# デスクトップ版の起動
pnpm dev:tamagotchi

これには以下の環境が必要です:

  • Node.js 23+
  • pnpm(パッケージマネージャー)
  • Rust(コンパイル済みバイナリのビルド用)
  • Windowsの場合: Visual Studio Build Tools 2022(C++ ワークロード)

所要時間: 数時間(環境整備 + ビルド時間)
Claude Code でも手こずっていました。

方法2:公式exeファイル(おすすめの道)

ドキュメントをよく読むと、公式のexeファイルが提供されていることが判明しました。

ここから最新版のexeファイルをダウンロードして、実行するだけ。

所要時間: 5分〜10分

結論:圧倒的にexeファイルが早い

項目 ソースコードビルド exeファイル
準備時間 数時間 5分〜10分
難易度 高(環境構築必要) 低(ダウンロードのみ)
依存関係 Node.js, Rust, MSVCなど なし
おすすめ度 ⭐⭐ ⭐⭐⭐⭐⭐

最初はexeファイルで試すことを強くおすすめします!


承:LLMプロバイダの設定

Web版で経験があったので、LLMプロバイダの接続はサクッと完了しました。今回はZ.aiのAPIキーを使用しています。

Z.aiの準備

Z.aiはOpenAI互換APIを提供しているLLMサービスです。
最近安い割に性能良いと評判ですよね。

https://x.com/tegnike/status/2018275410274824279?s=20

  1. Z.aiコンソールにログイン

  2. APIキーの発行

    • コンソール画面から「APIキー」を発行
    • キーをコピーしておく
  3. BaseURLの確認


こちらの公式ドキュメントから"BaseURL"はコピーできます。

参考: Z.aiの詳細設定はZ.ai × Cline連携ドキュメントを参照

AIRIでの設定手順

  1. AIRIを起動
  2. 設定 → プロバイダー → LLM
  3. 「OpenAI互換」を選択
  4. 以下の情報を入力:
項目 設定値
プロバイダ OpenAI互換
APIキー Z.aiのAPIキー(コピーしたもの)
BaseURL https://api.z.ai/api/coding/paas/v4
モデル glm-4.7 など
  1. 接続テストを実行して成功を確認

これでチャット機能は動作するようになります。


転:音声再生の壁:ElevenLabs

ここからが本題です。チャットは動くし、キャラクターもまばたきして感情表現をしてくれる。でも喋らない

ElevenLabsの記述を発見

前回のポスト

https://zenn.dev/hiroakikody/articles/6ef096f7a3e516

では"VSeeFace" でモデルの動きや表示を行い、
"VOICEVOX"で音声の出力をおこないました。
Web版の"Project AIRI"をさわったときに、"VOICEVOX" が対応していないことを体験しました。
では何を使うか?と探していると、
GitHubのREADMEには音声プロバイダとして「ElevenLabs」という記述があります。

Mouth

  • ElevenLabs voice synthesis

よし、これを使おう!と思いましたが...

APIキー取得の苦行

ElevenLabsのAPIキーを取得しようとして、小一時間ほど彷徨いました

Web検索すると、おおくのブログやAI回答にはこう書いてあります:

  1. ElevenLabsにログイン
  2. 右上のプロフィールアイコンをクリック
  3. 「Settings」を選択
  4. 左メニューから「API Keys」を選択
  5. 「Create API Key」をクリック

しかし、現在のUIは異なっていて、メニューの項目にAPI keyが見つかりませんでした。

実際の取得方法(2026年2月時点)

1.トップページ からログインすると下の画面になります。

2.クリエイティブプラットフォーム の中の左側の一番下にある「デベロッパー」を選択

3.デベロッパー の画面中央にあるAPIキー取得より「APIキー」をgetします。

なんとかAPIキーを取得して、AIRIに入力してみると...

401 Unauthorizedの衝撃

エラー:Remote sent 401 response

{
  "errors": [
    {
      "id": "UPSTREAM_ERROR",
      "status": 401,
      "code": "UPSTREAM_ERROR",
      "title": "Upstream Error",
      "detail": "Unusual activity detected. Free Tier usage disabled. If you are using a proxy/VPN you might need to purchase a Paid Plan..."
    }
  ]
}

無料プランの制限に弾かれました。

エラーの原因

ElevenLabsは現在、無料プランのAPI利用に対して非常に厳格な監視を行っています。

  • VPNやプロキシの使用: 自宅サーバーなどVPN環境では検出される可能性が高い
  • 共有ネットワーク: オフィスや公衆WiFiなど
  • 短時間での繰り返しリクエスト: テストで連続実行すると弾かれる
  • システムの誤検知: 正常な利用でも誤検知されることがある

メッセージにある通り、有料プランに変更すれば回避できるかもしれませんが、まずは無料で試したいですよね。


代替案の検討

ElevenLabsを諦めた後、AIRIの設定画面をよく見ると、GItHubには記載されていない2つの選択肢がありました。

Index-TTS by Bilibili

Bilibiliが開発したオープンソースのTTSエンジンで、自ホスト可能です。

特徴

項目 内容
コスト 完全無料
ホスティング ローカル実行
デフォルトURL http://localhost:11996/tts/
対応言語 中国語、英語のみ
モデル IndexTTS-1.5

比較

特徴 ElevenLabs Index-TTS (Bilibili)
コスト 有料(フリーティアあり) 完全無料
ホスティング クラウドAPI ローカル実行
日本語 ❌(中国語・英語のみ)
セットアップ APIキーのみ サーバー立てる必要あり

結論: 日本語非対応のため、パス。


結:Player2でついに日本語音声

Player2 はPlayer2.gameによって提供されているローカルLLM/TTSプラットフォームです。

Player2とは?

1つのプラットフォームで**LLM(チャット)TTS(音声合成)**の両方を提供してくれます。

特徴

Player2(チャット/LLM)
項目 内容
カテゴリ チャット / テキスト生成
デフォルトURL http://localhost:4315/v1/
実行方法 ローカル実行
APIヘッダー player2-game-key: airi
Player2 Speech(TTS/音声合成)
項目 内容
カテゴリ 音声合成
デフォルトURL http://localhost:4315/v1/
対応言語 ✅ 日本語、中国語、英語、スペイン語、フランス語、ヒンディー語、イタリア語、ブラジルポルトガル語
性別選択 可能

比較

特徴 Player2 ElevenLabs Index-TTS
コスト 無料(ローカル) 有料 無料(ローカル)
日本語
ホスティング ローカル クラウド ローカル
LLM対応
TTS対応
セットアップ Player2インストール必要 APIキーのみ Index-TTSインストール必要

結論: 日本語を使いたい場合、Player2が最適です!


Player2のインストール

  1. Player2のダウンロード

    https://player2.game/
    
  2. インストールと起動

    • ダウンロードしたexeファイルを実行
    • ローカルサーバーが http://localhost:4315 で自動的に立ち上がります
  3. 動作確認

立ち上がった画面の 設定で状態の確認ができました。


AIRIでPlayer2を設定

設定

  1. 設定
    →下の図の赤丸でかこんだところが「設定を開く」ボタンです。

    設定 > "モジュール" を選択

    設定>モジュール > "音声" を選択

  2. 「Player2」を選択

  3. "Sakura" を選択

  4. "Enable SSML" にチェックをいれない


トラブルシューティング

問題1:延々と「japanese letter, chinese letter, ...」と読み上げ続ける

音声テストは成功したのに、チャットを開始すると**「japanese letter, chinese letter, ...」と延々と読み上げ続ける**問題が発生しました。

原因

AIRIが音声モデルを正しく選択できていませんでした。デフォルトのままだと、音声選択がうまくいっていないようです。

解決策

設定を以下の通り変更しました:

  1. 音声モデルの明示的な選択

    設定 → プロバイダー → 音声合成 → Player2 Speech

    「音声モデル」または「Voice」選択欄で、以下のいずれかを選択:

    音声名 性別 ID
    Sakura 女性 01955d76-ed5b-757a-9bdb-94fa0a2b7893
    Akari 女性 01955d76-ed5b-7591-9d3f-f919ac645bb6
    Yuki 女性 01955d76-ed5b-75a1-96f8-7a82e767e2c4
    Hana 女性 01955d76-ed5b-75ad-afe3-ac5eb3d0a16e
    Takashi 男性 01955d76-ed5b-75b8-b70f-dfaf400b7c42

    おすすめ: Sakura(女性、自然な日本語)

  2. SSMLの無効化

    「Enable SSML」のチェックを外す

これで日本語で喋るようになりました!


問題2:SSMLとは何だったのか?

SSML(Speech Synthesis Markup Language) は、音声合成をより詳細に制御するためのXMLベースのマークアップ言語です。

有効にすると、以下のような制御が可能になります:

<speak>
  <prosody rate="fast">速く話します</prosody>
  <prosody pitch="high">高い声で話します</prosody>
  <break time="1s"/>1秒休憩
</speak>

しかし、Player2の実装ではSSMLがうまく処理されていなかったようで、代わりにSSMLタグそのものを「japanese letter, chinese letter, ...」と読み上げてしまっていた模様です。

無効にしておくことをおすすめします。


問題3:音声テストは成功するのにチャットで喋らない

これは問題1と同じ原因の可能性が高いです。

  • 音声モデルを明示的に選択してください(Sakuraなど)
  • SSMLを無効にしてください

問題4:Player2に接続できない

Failed to reach Player 2 というエラーが出る場合:

  1. Player2が起動しているか確認

    タスクマネージャーでPlayer2プロセスが動いているか確認

  2. ポートが正しいか確認

    http://localhost:4315/v1/health
    

    にブラウザでアクセスしてみてください

  3. ファイアウォールの確認

    Windows Defenderファイアウォールなどが接続をブロックしていないか確認


完成した設定(まとめ)

最終的なプロバイダ設定

LLMプロバイダ

項目 設定値
プロバイダ OpenAI互換
APIキー Z.aiのAPIキー
BaseURL https://api.z.ai/api/coding/paas/v4
モデル glm-4.7 など

音声プロバイダ

項目 設定値
プロバイダ Player2 Speech
BaseURL http://localhost:4315/v1/
音声モデル Sakura(女性)
SSML 無効(オフ)

まとめ

ソフトを触ってみた感じでは、不安定なところがあります。
一度projectAIRIを閉じると2Dモデルが読み込めない、
などトラブルがあったことなど報告しておきます。

画面の中にキャラクターがおり、
まばたきや、身体の動きなどあったり、
チャットで会話もできて、
しかも話してくれる!
これは正直嬉しいです。

野望はAIVTuber配信で、
24/7 配信できるサイトでPRをしてもらいたい、
と目標が高いので、まだまだ精進せねば!
デスクトップ版を導入するとAIVTuber配信もできるだろうと思っていましたが、
配信ソフトによみこめなかったので、もう少し触って確かめてみる予定です。
→配信ソフトのOBSでキャプチャできました!
自己紹介してもらったところを録画することができました。
「1000文字くらいで自己紹介して」とオーダーしたら、5分弱スピーチしてくれるので優秀ですね。
このブログの最後のところに動画を貼り付けています。

projectAIRIでは、日本語で話すようになったので、次は以下の設定でさらなるカスタマイズをめざしています:

  • 話速: 読み上げ速度の調整(0.5x〜2.0x)
  • ピッチ: 声の高さの調整
  • 音量: 音量の調整

また、VRM/Live2Dモデルを変更して、自分だけのAITuberにカスタマイズすることも可能です。


Project_AIRI 参考動画

しゃべってるところを動画にしました。
たどたどしいけど、しゃべると愛着がわきますね。

https://youtu.be/jHcyuvK_DIU

参考リンク

サービス URL
Project AIRI公式 https://github.com/moeru-ai/airi
ダウンロードページ https://airi.build/en/docs/manual/versions/
Player2 https://player2.game/
Z.ai https://z.ai/
Z.ai × Cline連携 https://docs.z.ai/scenario-example/develop-tools/cline

| 参考にしたブログ1|
→ AIVtuberについて、LLM で生成されたドキュメントですが、日本の TTS モジュールとサービスに関するいくつかの有用なリソースが含まれています。

https://ai-front-trend.jp/how-to-make-ai-vtuber/

| 参考にしたブログ2 |
→参考ぶろぐ3でもとりあげられている、OSS"AITuberKit"作者さまによる使い方解説ブログ。詳しくてわかりやすい。

https://note.com/nike_cha_n/n/n6cac5ad7bc9d

| 参考にしたブログ3 |
→ 参考ぶろぐ2で紹介した"AITuberKit"と本ブログで使用した"Project AIRA"についての紹介・解説記事。とても良くまとまっていてわかりやすい。

https://creators.bengo4.com/entry/2025/12/16/000000

| 参考にしたブログ4 |
→ avexがAIVtuberの記事書いてるんだーから読み始めた記事。Vtuberとは?AIVtuberとは?という基本的な疑問に回答してくれる。

https://avex.jp/liver-tankentai/feature/what-is-ai-vtuber


「Neuro-sama」の夢、ローカルで実現。さあ、あなたもAITuber生活を始めましょう! 🎉

1

Discussion

ログインするとコメントできます
1