Skip to content

A web app that utilizes multiple LLMs to answer questions, engage in debates between the models. Responses are read aloud using VOICEVOX.

License

Notifications You must be signed in to change notification settings

mimisukeMaster/AI-VOICEVOX

Repository files navigation

AI-VOICEVOX


GeminiやCommandRなどのLLMを使用し、LLM同士で討論させることができたり、質問に答えたりできるWebアプリです。全ての返答はVOICEVOXによりリアルタイムで音声合成され、読み上げられます。

Requirements

npmが効く環境で、以下のコマンドを実行してpackage.jsonに記載されたパッケージをインストールしてください。

npm install
(自機は nodejs v22.7.0, npm v10.8.2 で実行)

以下のパッケージがインストールされます。

"@google/generative-ai": "^0.17.1",
"cohere-ai": "^7.13.0",
"dotenv": "^16.4.5",
"express": "^4.19.2",
"vercel": "^37.4.2"

Directory

主要部のみ

AI-VOICEVOX
│  .env (作成してください)
│  vercel.json
│  server.js
└─ public
   │
   ├─ about
   │  └─ index.html
   │
   ├─ question
   │  │  index.html
   │  └─ client.js
   │ 
   │  index.html
   │  client.js
   │  styles.css
   └─ TtsQuestV3Voicevox.js

server.js: バックエンド処理

client.js: フロントエンド処理

TtsQuestV3Voicevox.js: ストリーミング版の音声合成処理

public: http://localhost:3000 接続時のルートにあたる箇所

question: http://localhost:3000/question にあたる箇所

about: http://localhost:3000/about にあたる箇所

Initial Setup

GeminiAPI Key, Cohere API Key, VOICEVOX Web版 API Key が必要です。キーを取得後、ルートディレクトリに.envファイルを作成し格納してください。

GEMINI_API_KEY="**********"
COHERE_API_KEY="**********"
VOICEVOX_API_KEY="**********"

Execution

npmのパスが通るコマンドラインで、プロジェクトのルートディレクトリに移動し、以下を実行してください。

npm start

以下の表示が出たら、http://localhost:3000 を開きます。

Server started on port:3000

AI討論

http://localhost:3000
Gemini、CommandR の各APIを用いて話し合いをさせます。バックエンドで議題から立場を明確に定義し、各々の主張を出力させています。それをフロントエンドに返し、VOICEVOXで読み上げています。賛成派がGemini、反対派がCommandRの回答となっています。

「対戦相手を選択する」で反対派の声を変えると、より対話らしくなります。終了ボタンで現在話されているターンで終了します。(計10回の発言で強制的に終了します)

「ローカルAPIを使う」にチェックを入れた場合、ローカルのVOICEVOX Engineを利用しローカル版で処理されます。別途、VOICEVOXソフトを起動しておいてください。

AI豆打者

http://localhost:3000/question
対話形式で質問ができます。質問文をバックエンドに送り、GeminiAPIを呼んだ後、レスポンスをVOICEVOXで読み上げています。ローカルでの音声合成は基本的に高速版で処理されます。

こちらも、「ローカルAPIを使う」にチェックを入れた場合VOICEVOXソフトを起動してから「質問する!」ボタンを押してください。

Demo

Vercel上でデプロイしており、そちらから仕様を確認できます。

https://ai-voicevox.vercel.app/

  • コミット時にこのドメインに再デプロイされますが、更新が遅れる場合があります。
  • Vercel上で動かしているため、「ローカルのVOICEVOXを使う」は使用できません。
  • 音声合成は全てストリーミング版で処理されます。これは、合成に時間がかかる際のタイムアウトを防ぐためです。
  • 数秒間隔で合成処理を行うと、ストリーミング版の制限として429 Too many requestsが返される場合があります。その際は数秒程度おいて再度試してください。
  • ローカルでの実行時と比べ一部異なる場合、コミットのDescriptionにその旨を記します。

Reference

VOICEVOX API Key 取得先と解説記事

GeminiAPI Key 取得先

Cohere API Key 取得先

Author

みみすけ名人 mimisukeMaster

LICENCE

AI-VOICEVOX is under Apache-2.0 licence.

About

A web app that utilizes multiple LLMs to answer questions, engage in debates between the models. Responses are read aloud using VOICEVOX.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published