【完全保存版】Project AIRI「たまごっち版」日本語音声でしゃべらせるまでの全記録
はじめに: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サービスです。
最近安い割に性能良いと評判ですよね。
-
Z.aiコンソールにログイン
-
APIキーの発行
- コンソール画面から「APIキー」を発行
- キーをコピーしておく
-
BaseURLの確認
こちらの公式ドキュメントから"BaseURL"はコピーできます。
参考: Z.aiの詳細設定はZ.ai × Cline連携ドキュメントを参照
AIRIでの設定手順
- AIRIを起動
- 設定 → プロバイダー → LLM
- 「OpenAI互換」を選択
- 以下の情報を入力:
| 項目 | 設定値 |
|---|---|
| プロバイダ | OpenAI互換 |
| APIキー | Z.aiのAPIキー(コピーしたもの) |
| BaseURL | https://api.z.ai/api/coding/paas/v4 |
| モデル | glm-4.7 など |
- 接続テストを実行して成功を確認
これでチャット機能は動作するようになります。
転:音声再生の壁:ElevenLabs
ここからが本題です。チャットは動くし、キャラクターもまばたきして感情表現をしてくれる。でも喋らない。
ElevenLabsの記述を発見
前回のポスト
では"VSeeFace" でモデルの動きや表示を行い、
"VOICEVOX"で音声の出力をおこないました。
Web版の"Project AIRI"をさわったときに、"VOICEVOX" が対応していないことを体験しました。
では何を使うか?と探していると、
GitHubのREADMEには音声プロバイダとして「ElevenLabs」という記述があります。
Mouth
- ElevenLabs voice synthesis
よし、これを使おう!と思いましたが...
APIキー取得の苦行
ElevenLabsのAPIキーを取得しようとして、小一時間ほど彷徨いました。
Web検索すると、おおくのブログやAI回答にはこう書いてあります:
- ElevenLabsにログイン
- 右上のプロフィールアイコンをクリック
- 「Settings」を選択
- 左メニューから「API Keys」を選択
- 「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のインストール
-
Player2のダウンロード
https://player2.game/ -
インストールと起動
- ダウンロードしたexeファイルを実行
- ローカルサーバーが
http://localhost:4315で自動的に立ち上がります
-
動作確認
立ち上がった画面の 設定で状態の確認ができました。
AIRIでPlayer2を設定
設定
-
設定
→下の図の赤丸でかこんだところが「設定を開く」ボタンです。
設定 > "モジュール" を選択
設定>モジュール > "音声" を選択
-
「Player2」を選択
-
"Sakura" を選択
-
"Enable SSML" にチェックをいれない
トラブルシューティング
問題1:延々と「japanese letter, chinese letter, ...」と読み上げ続ける
音声テストは成功したのに、チャットを開始すると**「japanese letter, chinese letter, ...」と延々と読み上げ続ける**問題が発生しました。
原因
AIRIが音声モデルを正しく選択できていませんでした。デフォルトのままだと、音声選択がうまくいっていないようです。
解決策
設定を以下の通り変更しました:
-
音声モデルの明示的な選択
設定 → プロバイダー → 音声合成 → Player2 Speech
「音声モデル」または「Voice」選択欄で、以下のいずれかを選択:
音声名 性別 ID Sakura 女性 01955d76-ed5b-757a-9bdb-94fa0a2b7893Akari 女性 01955d76-ed5b-7591-9d3f-f919ac645bb6Yuki 女性 01955d76-ed5b-75a1-96f8-7a82e767e2c4Hana 女性 01955d76-ed5b-75ad-afe3-ac5eb3d0a16eTakashi 男性 01955d76-ed5b-75b8-b70f-dfaf400b7c42おすすめ:
Sakura(女性、自然な日本語) -
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 というエラーが出る場合:
-
Player2が起動しているか確認
タスクマネージャーでPlayer2プロセスが動いているか確認
-
ポートが正しいか確認
http://localhost:4315/v1/healthにブラウザでアクセスしてみてください
-
ファイアウォールの確認
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 参考動画
しゃべってるところを動画にしました。
たどたどしいけど、しゃべると愛着がわきますね。
参考リンク
| サービス | 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 モジュールとサービスに関するいくつかの有用なリソースが含まれています。
| 参考にしたブログ2 |
→参考ぶろぐ3でもとりあげられている、OSS"AITuberKit"作者さまによる使い方解説ブログ。詳しくてわかりやすい。
| 参考にしたブログ3 |
→ 参考ぶろぐ2で紹介した"AITuberKit"と本ブログで使用した"Project AIRA"についての紹介・解説記事。とても良くまとまっていてわかりやすい。
| 参考にしたブログ4 |
→ avexがAIVtuberの記事書いてるんだーから読み始めた記事。Vtuberとは?AIVtuberとは?という基本的な疑問に回答してくれる。
「Neuro-sama」の夢、ローカルで実現。さあ、あなたもAITuber生活を始めましょう! 🎉
Discussion