文本转语音服务

TTS MCP Server是一个基于MLX Audio和Qwen3-TTS-12Hz-1.7B-CustomVoice-bf16模型的文本转语音服务,支持异步任务处理和语音克隆。

  • by Mahiro-T
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Mahiro-T/tts_mcp_server

使用说明

TTS MCP服务器

使用MLX Audio和Qwen3-TTS-12Hz-1.7B-CustomVoice-bf16模型的文本转语音MCP服务器。

安装

uv pip install .

用法

运行服务器

# Using the installed script
uv run tts-server

# Or directly with Python
uv run python -m tts_server.server

服务器将在上运行 http://localhost:8000/mcp 默认情况下。

MCP检验员测试

npx -y @modelcontextprotocol/inspector

然后连接到 http://localhost:8000/mcp.

工作流程

  1. 生成音频:创建异步TTS任务

    Call: generate_tts(text="Hello, this is a test.", voice_path="/path/to/voice.wav")
    Returns: {"task_id": "uuid...", "status": "pending"}
    
  2. 监控进度:任务状态轮询

    Call: check_task(task_id="uuid...")
    Returns: {"task_id": "...", "status": "processing"}
    
  3. 获取结果:完成后,检索文件路径

    Call: check_task(task_id="uuid...")
    Returns: {"task_id": "...", "status": "completed", "output_path": "/absolute/path/to/audio.wav"}
    
  4. 访问音频:使用返回的绝对路径读取文件

可用工具

  • generate_tts:从文本生成音频(异步,返回task_id)

    • text (必填):要转换为语音的文本
    • voice_path (可选):用于语音克隆的音频文件路径
  • check_task:检查TTS生成任务的状态

    • task_id (必填):要检查的任务的ID
  • list_tasks:列出所有TTS任务

可用资源

  • tts://info:获取有关TTS服务器和型号的信息
  • tts://status:获取当前服务器状态和任务统计信息

模型

此服务器使用MLX音频和 Qwen3-TTS-12Hz-1.7B-自定义语音-bf16 Hugging Face的模特。

输出

生成的音频文件保存到 ~/tts_outputs/ 以任务ID作为文件名(例如。, uuid.wav).

需求

  • Python 3.10+
  • MLX音频
  • MCP Python SDK