返回市场
语音合成_mcp_轻量版

语音合成_mcp_轻量版

作者:srvhat092 星标更新:2025-05-09

项目介绍

Voicevox MCP Server

符合Model Context Protocol (MCP)标准的Voicevox客户端服务器

概述

  • 该项目利用Voicevox Engine进行语音合成,并提供一个可以播放结果的MCP服务器。它提供了可以从Cursor或Cline等AI工具调用的端点,实现将文本转换为语音并播放的功能。
  • 注意:voicevox默认会逐个字母发音英语单词或全部由英文字符组成的单词。避免这种情况有两种方法:一是准备并注册自定义词典;二是将输入文本中的单词转写为片假名。

目前,即使指示LLM自动将单词转换为片假名,也可能无法完全成功。自定义词典创建接口尚未实现。

功能

  • 文本到音频查询(Audio Query)的转换
  • 音频查询到WAV数据的转换
  • 播放生成的音频数据
  • 符合MCP协议的通过标准输入输出流的JSON-RPC接口

必要条件

  • Python 3.10及以上版本
  • 运行中的Voicevox Engine(本地或远程)
  • 所需的Python包(参见requirements.txt)

安装

  1. 克隆仓库

    git clone https://github.com/yourusername/voicevox-mcp-vc1.git
    cd voicevox-mcp-vc1
    
  2. 安装依赖

    uv sync
    
  3. 启动Voicevox Engine

    # 使用CPU版Docker
    docker pull voicevox/voicevox_engine:cpu-latest
    docker run --rm -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:cpu-latest
    
    # 使用GPU版Docker
    docker pull voicevox/voicevox_engine:nvidia-latest
    docker run --rm --gpus all -p '127.0.0.1:50021:50021' voicevox/voicevox_engine:nvidia-latest
    

使用方法

CLINE / Roo code

{
  "mcpServers": {
    "voicevox-mcp-light": {
      "disabled": false,
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/full path/voicevox_mcp_light/",
        "python",
        "-m",
        "src.main"
      ],
      "transportType": "stdio",
      "alwaysAllow": [],
      "env": {
        "PULSE_SERVER": "/run/user/1000/pulse/native"
      }
    }
  }
}
    "voicevox-mcp-light": {
      "disabled": false,
      "command": "/full path/uv",
      "args": [
        "run",
        "--directory",
        "/full path/voicevox_mcp_light/",
        "python",
        "-m",
        "src.main",
        "--speaker",
        "8"
      ],
      "transportType": "stdio",
      "alwaysAllow": [],
      "env": {
        "PULSE_SERVER": "/run/user/1000/pulse/native"
      }
    }
  • PULSE_SERVER的内容请根据以下命令的结果填写
# 查看脉冲音频状态
pactl info

在Windows/Mac系统中,env的内容不需要,这是Claude的回答,当前未经过测试。开发测试是在Ubuntu 22.04上进行的。

在Roo code情况下,MCP Client会输出DEBUG信息。这是因为在开发时将调试信息嵌入到了LLM中,因此请忽略这些信息。在CLINE中不会显示这些信息。Claude Desktop当前未经过验证。

选项

  • --host: Voicevox Engine的主机IP地址(默认: 127.0.0.1)
  • --port: Voicevox Engine的端口号(默认: 50021)
  • --speaker: 音频模型ID(默认: 3) 参考音频模型ID

从MCP客户端使用

此服务器提供符合MCP协议的通过标准输入输出流的JSON-RPC接口。 可以通过如Claude Desktop或Cursor等MCP客户端如下使用:

# 安装MCP服务器(以Claude Desktop为例)
mcp install src/main.py

# 工具调用示例
synthesizeAndPlay(message="你好,世界!")

开发

运行测试

python -m pytest

代码风格

此项目遵循PEP 8编码规范。

许可证

MIT许可证

致谢