Yomiage Svr
БесплатноНе проверенEnables text-to-speech synthesis using VOICEVOX characters (ずんだもん, 春日部つむぎ, 四国めたん) and allows querying available speakers and transforming text to character tone
Описание
Enables text-to-speech synthesis using VOICEVOX characters (ずんだもん, 春日部つむぎ, 四国めたん) and allows querying available speakers and transforming text to character tone.
README
VOICEVOX音声合成を提供するFastAPI HTTPサーバー。
ずんだもん、春日部つむぎ、四国めたんなどのキャラクターボイスでテキストを読み上げます。
🚀 すぐに始めたい方は QUICKSTART.md をご覧ください
特徴
- FastAPI ベース: 高速で軽量なHTTPサーバー
- どこからでも呼び出し可能: curl、Python、任意のHTTPクライアントから利用可能
- 1つのサーバーで複数プロジェクト対応: 常駐型サーバーで効率的
- バックグラウンド実行: リクエストは即座にレスポンスを返す
- 複数の話者をサポート: キャラクターごとに速度設定可能
- macOS / Linux / Windows 対応
セットアップ
1. VOICEVOXアプリの起動
VOICEVOX公式サイトからアプリをダウンロード・インストールし、起動しておく。
デフォルトで http://localhost:50021 にAPIサーバーが立ち上がる。
2. 依存パッケージのインストール
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
3. サーバー起動
./start_server.sh
または直接起動:
python api_server.py
サーバーが起動すると http://127.0.0.1:8767 でアクセス可能になります。
設定
環境変数(オプション)
.env ファイルを作成して以下を設定できます:
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
VOICEVOX_BASE_URL |
VOICEVOXサーバーURL | http://localhost:50021 |
DEFAULT_SPEAKER |
デフォルト話者名 | zundamon |
話者設定
yomiage-svr/config.py で話者(キャラクター)を設定できます。
利用可能な話者:
| 話者名 | キャラクター | スタイル | 速度 |
|---|---|---|---|
zundamon |
ずんだもん | ノーマル | 1.2 |
tsumugi |
春日部つむぎ | ノーマル | 1.2 |
metan |
四国めたん | ノーマル | 1.2 |
話者を追加・変更するには、yomiage-svr/config.py の SPEAKERS 辞書を編集してください。
API仕様
エンドポイント
POST /speech
テキストを音声合成して読み上げ
リクエストボディ:
{
"text": "読み上げるテキスト",
"speaker_name": "zundamon" // 省略可
}
レスポンス:
{
"status": "accepted",
"message": "音声合成を開始しました: ...",
"speaker_name": "zundamon"
}
GET /speakers
利用可能な話者一覧を取得
レスポンス:
{
"zundamon": {
"name": "zundamon",
"display_name": "ずんだもん(ノーマル)",
"style": "ノーマル",
"speed_scale": 1.2
},
...
}
GET /health
ヘルスチェック
レスポンス:
{
"status": "ok"
}
使い方
curlコマンドで呼び出し
# デフォルト話者で読み上げ
curl -X POST http://127.0.0.1:8767/speech \
-H "Content-Type: application/json" \
-d '{"text": "こんにちは、音声合成のテストです"}'
# 話者を指定して読み上げ
curl -X POST http://127.0.0.1:8767/speech \
-H "Content-Type: application/json" \
-d '{"text": "春日部つむぎです", "speaker_name": "tsumugi"}'
# 利用可能な話者一覧を取得
curl http://127.0.0.1:8767/speakers
Pythonから呼び出し
client_example.py を参照:
import requests
# 音声合成リクエスト
response = requests.post(
"http://127.0.0.1:8767/speech",
json={"text": "こんにちは", "speaker_name": "zundamon"}
)
print(response.json())
詳細な使用例:
python client_example.py
他のプロジェクトから呼び出し
任意のプロジェクトから、HTTPリクエストでVoiceBox APIを呼び出せます:
# あなたのプロジェクトのコード
import requests
def speak(text: str, speaker: str = "zundamon"):
requests.post(
"http://127.0.0.1:8767/speech",
json={"text": text, "speaker_name": speaker}
)
# 使用例
speak("処理が完了しました")
speak("エラーが発生しました", speaker="metan")
直接実行
python server.py
プロジェクト構成
VoiceBox-API/
├── api_server.py # FastAPIサーバー本体
├── server.py # MCPサーバー(旧版・オプション)
├── start_server.sh # サーバー起動スクリプト
├── client_example.py # クライアント使用例
├── yomiage-svr/
│ ├── __init__.py
│ ├── config.py # 話者設定
│ ├── services/
│ │ ├── __init__.py
│ │ ├── voicevox_service.py # VOICEVOX HTTP API音声合成サービス
│ │ └── audio_service.py # 音声再生サービス
│ └── tools/
│ ├── __init__.py
│ └── speech_tool.py # Speechツール実装
├── requirements.txt # 依存パッケージ
├── .env.example # 環境変数サンプル
└── README.md # このファイル
MCPサーバー版(GitHub Copilot / Claude Desktop から呼び出し)
MCPとは?
MCP (Model Context Protocol) は、AIエージェント(GitHub Copilot、Claude Desktopなど)がツールを呼び出すための標準プロトコルです。MCPサーバーとして起動することで、AIエージェントから直接音声合成を実行できます。
セットアップ
1. MCP設定ファイルの配置
.vscode/mcp.json が既に配置されています:
{
"mcpServers": {
"yomiage": {
"command": "${workspaceFolder}/venv/bin/python",
"args": ["mcp_server.py"],
"cwd": "${workspaceFolder}",
"env": {
"PYTHONPATH": "${workspaceFolder}"
}
}
}
}
2. Claude Desktop での設定(オプション)
Claude Desktopから利用する場合は、~/Library/Application Support/Claude/claude_desktop_config.json に追加:
{
"mcpServers": {
"voicevox-speech": {
"command": "python",
"args": ["/path/to/yomiage-svr/mcp_server.py"],
"cwd": "/path/to/yomiage-svr"
}
}
}
MCPサーバーとして起動
# stdio transport(標準入出力での通信)
python mcp_server.py
提供されるツール
1. speak - 音声合成&読み上げ
テキストを音声合成してキャラクターボイスで読み上げ
引数:
- text: 読み上げるテキスト
- speaker_name: 話者名(zundamon, tsumugi, metan)。省略時は自動選択
- transform_tone: 口調変換の有無(デフォルト: true)
2. list_available_speakers - 話者一覧取得
利用可能な話者(キャラクター)の一覧を取得
戻り値: 話者情報のリスト(名前、スタイル、速度など)
3. transform_character_tone - 口調変換のみ
テキストをキャラクターの口調に変換(音声合成なし、文字列のみ)
引数:
- text: 変換するテキスト
- speaker_name: 話者名
戻り値: 元テキストと変換後テキスト
GitHub Copilot / Claude Desktop からの使用例
GitHub Copilot:
#yomiage タスクが完了しました、と読み上げて
Claude Desktop:
「処理が完了しました」をずんだもんの声で読み上げて
AIエージェントが自動的に適切なツールを呼び出し、音声で通知してくれます。
HTTPサーバーとMCPサーバーの使い分け
| 用途 | 推奨サーバー | 起動方法 |
|---|---|---|
| curl / Python から呼び出し | FastAPI HTTPサーバー | ./start_server.sh |
| GitHub Copilot / Claude Desktop から呼び出し | MCPサーバー | .vscode/mcp.json で自動起動 |
| 常駐サーバーとして複数プロジェクトから利用 | FastAPI HTTPサーバー | ./start_server.sh |
両方同時に起動することも可能です(ポートが異なるため競合しません)。
ライセンス・クレジット
VOICEVOX利用時は「VOICEVOX:ずんだもん」等のクレジット表記が必要です。
詳細は VOICEVOX利用規約 をご確認ください。
Установка Yomiage Svr
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/shuhei1101/yomiage-svrFAQ
Yomiage Svr MCP бесплатный?
Да, Yomiage Svr MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Yomiage Svr?
Нет, Yomiage Svr работает без API-ключей и переменных окружения.
Yomiage Svr — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Yomiage Svr в Claude Desktop, Claude Code или Cursor?
Открой Yomiage Svr на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Yomiage Svr with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
