Simple Voice MCP Server
テキストを送信するだけで音声再生するシンプルなMCPサーバーです。 複数のキャラクターボイスに対応し、同時音声再生も可能です。
主な機能
- 🎤 複数のキャラクターボイスに対応
- 🔊 複数音声の同時再生が可能(VLC使用)
- 📝 カスタム辞書による英単語の読み方設定
- 🌐 WSL環境で自動的にWindows側で音声再生
- 🧹 一時ファイルの自動クリーンアップ
必要な環境
Windows側の要件
VLCメディアプレーヤーのインストールが必要です:
# PowerShellで実行
winget install -e --id VideoLAN.VLC
またはVLC公式サイトからダウンロードしてインストール
WSL側の要件
# 依存関係のインストール
uv sync
提供するツール
1. say - テキスト読み上げ
say("こんにちは!今日はいい天気ですね。")
# → 設定されたキャラクターの声で音声再生
2. add_to_dictionary - カスタム辞書への登録
# 単語の登録
add_to_dictionary(english="API", katakana="エーピーアイ")
# 複数同時登録(カンマ区切り)
add_to_dictionary(
english="HDMI,USB,API",
katakana="エイチディーエムアイ,ユーエスビー,エーピーアイ"
)
3. remove_from_dictionary - カスタム辞書から削除
# 単語の削除
remove_from_dictionary(english="API")
# 複数同時削除
remove_from_dictionary(english="HDMI,USB")
4. list_dictionary - カスタム辞書の一覧表示
list_dictionary()
# → 登録されている全ての単語と読み方を表示
セットアップ
基本設定
MCPクライアントの設定(.mcp.jsonなど)に追加:
{
"mcpServers": {
"simple-voice": {
"command": "uv",
"args": [
"--directory",
"/path/to/voice-mcp",
"run",
"simple_voice_mcp.py"
]
}
}
}
音声モデルの変更
--model 引数で好きなキャラクターの声を選べます:
{
"mcpServers": {
"simple-voice": {
"command": "uv",
"args": [
"--directory",
"/path/to/voice-mcp",
"run",
"simple_voice_mcp.py",
"--model",
"syouzyo_4"
]
}
}
}
複数キャラクターの同時利用
異なるキャラクターを同時に使いたい場合:
{
"mcpServers": {
"simple-voice": {
"command": "uv",
"args": ["--directory", "/path/to/voice-mcp", "run", "simple_voice_mcp.py", "--model", "syouzyo_4"]
},
"simple-voice-sutera": {
"command": "uv",
"args": ["--directory", "/path/to/voice-mcp", "run", "simple_voice_mcp.py", "--model", "sutera"]
}
}
}
利用可能な音声モデル
男性音声
ozisan_1: イケボのおじさんの声ozisan_2: 普通のおじさんの声seinen_2: さわやかな関西弁のお兄さんの声seinen_3: ちょっと気弱そうなお兄さんの声seinen_4: 声の高い、優しそうなお兄さんの声seinen_5: 声の高い、ちょっとうざそうなお兄さんの声oziisan: おじいさんの声
女性音声
oneesan_1: 少し声の高めのお姉さんの声oneesan_2: 落ち着いた声のお姉さんの声oneesan_3: 声の高いお姉さんの声oneesan_4: 安心感のある透き通ったお姉さんの声obaatyan_1: おばあちゃんの声
少女音声
syouzyo_1: 普通の少女の声syouzyo_2: 元気な少女の声syouzyo_3: ツンデレ系の少女の声syouzyo_4: のじゃろりの声syouzyo_5: 内気な少女の声syouzyo_6: 無気力な少女の声syouzyo_7: のんびり無気力な少女の可愛い声
その他
syounen_1: 元気な少年の声zingai_1: かわいいマスコットキャラクターのような声(デフォルト)sutera: ステラの声
環境変数での設定
環境変数でも設定可能です:
{
"mcpServers": {
"simple-voice": {
"command": "uv",
"args": ["--directory", "/path/to/voice-mcp", "run", "simple_voice_mcp.py"],
"env": {
"VOICE_MODEL": "syouzyo_4",
"VOICE_API_BASE": "https://your-custom-api.com"
}
}
}
}
優先順位: コマンドライン引数 > 環境変数 > デフォルト値
技術的な詳細
ファイル構成
simple_voice_mcp.py- MCPサーバーのメインファイルsrc/dictionary_manager.py- カスタム辞書管理src/text_converter.py- テキスト変換(英語→カタカナ)src/audio_player_vlc.py- VLCを使った音声再生
音声再生の仕組み(WSL環境)
- WSL環境を自動検出
- 音声ファイルをWindows一時フォルダにコピー
- VLCをバックグラウンドで起動(GUIなし)
- 複数の音声を同時再生可能
- 一時ファイルは自動的にクリーンアップ
カスタム辞書
custom_words.csvに単語と読み方を保存- リアルタイムでファイル変更を検知
- 複数のMCPプロセス間で共有
トラブルシューティング
音声が再生されない場合
- VLCがインストールされているか確認
- Windows Defenderやセキュリティソフトが PowerShell実行をブロックしていないか確認
- VLCのパスが正しいか確認(通常は
C:\Program Files\VideoLAN\VLC\vlc.exe)
複数音声が同時再生されない場合
- VLCのバージョンが最新か確認
- Windows Media Playerが起動していないか確認(VLCと競合する可能性)
日本語が文字化けする場合
- ファイルのエンコーディングがUTF-8になっているか確認
- ターミナルの文字コード設定を確認
ライセンス
MIT License
