Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mimisukemaster/ai-voicevox
A web app that utilizes multiple LLMs to answer questions, engage in debates between the models. Responses are read aloud using VOICEVOX.
https://github.com/mimisukemaster/ai-voicevox
api gemini gemini-api http-server nodejs voicevox web-app web-development
Last synced: about 4 hours ago
JSON representation
A web app that utilizes multiple LLMs to answer questions, engage in debates between the models. Responses are read aloud using VOICEVOX.
- Host: GitHub
- URL: https://github.com/mimisukemaster/ai-voicevox
- Owner: mimisukeMaster
- License: apache-2.0
- Created: 2024-09-06T11:35:55.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-10T13:58:46.000Z (about 1 month ago)
- Last Synced: 2024-11-15T18:12:29.019Z (about 4 hours ago)
- Topics: api, gemini, gemini-api, http-server, nodejs, voicevox, web-app, web-development
- Language: JavaScript
- Homepage: https://ai-voicevox.vercel.app/
- Size: 32.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AI-VOICEVOX
[](https://github.com/mimisukeMaster/AI-VOICEVOX/stargazers)
[](https://github.com/mimisukeMaster/AI-VOICEVOX/issues)
[](https://github.com/mimisukeMaster/OsakanaFlock/pulls)
[](https://www.apache.org/licenses/)
[](https://github.com/mimisukeMaster/AI-VOICEVOX/deployments)
[](https://open.vscode.dev/mimisukeMaster/AI-VOICEVOX)GeminiやCommandRなどのLLMを使用し、LLM同士で討論させることができたり、質問に答えたりできるWebアプリです。全ての返答はVOICEVOXによりリアルタイムで音声合成され、読み上げられます。
## Requirements
`npm`が効く環境で、以下のコマンドを実行して[package.json](/package.json)に記載されたパッケージをインストールしてください。
```cmd
npm install
(自機は nodejs v22.7.0, npm v10.8.2 で実行)
```
以下のパッケージがインストールされます。
```cmd
"@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ファイルを作成し格納してください。
```env
GEMINI_API_KEY="**********"
COHERE_API_KEY="**********"
VOICEVOX_API_KEY="**********"
```## Execution
npmのパスが通るコマンドラインで、プロジェクトのルートディレクトリに移動し、以下を実行してください。
```cmd
npm start
```
以下の表示が出たら、http://localhost:3000 を開きます。
```cmd
Server started on port:3000
```
### AI討論
http://localhost:3000
Gemini、CommandR の各APIを用いて話し合いをさせます。バックエンドで議題から立場を明確に定義し、各々の主張を出力させています。それをフロントエンドに返し、VOICEVOXで読み上げています。賛成派がGemini、反対派がCommandRの回答となっています。「対戦相手を選択する」で反対派の声を変えると、より対話らしくなります。終了ボタンで現在話されているターンで終了します。(計10回の発言で強制的に終了します)
「ローカルAPIを使う」にチェックを入れた場合、ローカルのVOICEVOX Engineを利用し[ローカル版](http://localhost:50021/docs)で処理されます。別途、VOICEVOXソフトを起動しておいてください。
### AI豆打者
http://localhost:3000/question
対話形式で質問ができます。質問文をバックエンドに送り、GeminiAPIを呼んだ後、レスポンスをVOICEVOXで読み上げています。ローカルでの音声合成は基本的に[高速版](https://voicevox.su-shiki.com/su-shikiapis/)で処理されます。こちらも、「ローカルAPIを使う」にチェックを入れた場合VOICEVOXソフトを起動してから「質問する!」ボタンを押してください。
## Demo
Vercel上でデプロイしており、そちらから仕様を確認できます。https://ai-voicevox.vercel.app/
- コミット時にこのドメインに再デプロイされますが、更新が遅れる場合があります。
- Vercel上で動かしているため、「ローカルのVOICEVOXを使う」は使用できません。
- 音声合成は全て[ストリーミング版](https://github.com/ts-klassen/ttsQuestV3Voicevox)で処理されます。これは、合成に時間がかかる際のタイムアウトを防ぐためです。
- 数秒間隔で合成処理を行うと、ストリーミング版の制限として`429 Too many requests`が返される場合があります。その際は数秒程度おいて再度試してください。
- ローカルでの実行時と比べ一部異なる場合、コミットのDescriptionにその旨を記します。## Reference
VOICEVOX API Key 取得先と解説記事
- https://voicevox.su-shiki.com/su-shikiapis/- https://zenn.dev/mongonta/articles/8aac1041c628d4
GeminiAPI Key 取得先
- https://aistudio.google.com/app/apikeyCohere API Key 取得先
- https://dashboard.cohere.com/api-keys## Author
みみすけ名人 mimisukeMaster[](https://x.com/mimisukeMaster)
[](https://www.artstation.com/mimisukemaster)
[](https://www.youtube.com/channel/UCWnmp8t4GJzcjBxhtgo9rKQ)## LICENCE
AI-VOICEVOX is under [Apache-2.0 licence](/LICENSE).