文本转语音工具

一个基于OpenAI TTS API的高质量文本转语音服务,提供MCP服务器和命令行工具,支持多种语音选项和音频格式。

  • by nakamurau1
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nakamurau1/tts-mcp

使用说明

tts-mcp

模型上下文协议(MCP)服务器和命令行工具,用于使用OpenAI TTS API生成高质量的文本到速度。

主要特点

  • MCP服务器:将文本转语音功能与Claude Desktop和其他MCP兼容客户端集成
  • 语音选项:支持多种语音字符(合金、新星、回声等)
  • 高品质音频:支持多种输出格式(MP3、WAV、OPUS、AAC)
  • 可定制的:配置语音速度、语音字符和其他说明
  • CLI工具:也可用作直接文本到语音转换的命令行实用程序

安装

方法1:从存储库安装

# Clone the repository
git clone https://github.com/nakamurau1/tts-mcp.git
cd tts-mcp

# Install dependencies
npm install

# Optional: Install globally
npm install -g .

方法2:直接使用npx运行(无需安装)

# Start the MCP server directly
npx tts-mcp tts-mcp-server --voice nova --model tts-1-hd

# Use the CLI tool directly
npx tts-mcp -t "Hello, world" -o hello.mp3

MCP服务器使用情况

MCP服务器允许您将文本到语音功能与模型上下文协议(MCP)兼容的客户端(如Claude Desktop)集成。

启动MCP服务器

# Start with default settings
npm run server

# Start with custom settings
npm run server -- --voice nova --model tts-1-hd

# Or directly with API key
node bin/tts-mcp-server.js --voice echo --api-key your-openai-api-key

MCP服务器选项

Options:
  -V, --version       Display version information
  -m, --model <model> TTS model to use (default: "gpt-4o-mini-tts")
  -v, --voice <voice> Voice character (default: "alloy")
  -f, --format <format> Audio format (default: "mp3")
  --api-key <key>     OpenAI API key (can also be set via environment variable)
  -h, --help          Display help information

与MCP客户端集成

MCP服务器可以与Claude Desktop和其他MCP兼容客户端一起使用。对于Claude Desktop集成:

  1. 打开Claude Desktop配置文件(通常位于 ~/Library/Application Support/Claude/claude_desktop_config.json)
  2. 添加以下配置,包括您的OpenAI API密钥:
{
  "mcpServers": {
    "tts-mcp": {
      "command": "node",
      "args": ["full/path/to/bin/tts-mcp-server.js", "--voice", "nova", "--api-key", "your-openai-api-key"],
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key"
      }
    }
  }
}

或者,您可以使用npx进行更简单的设置:

{
  "mcpServers": {
    "tts-mcp": {
      "command": "npx",
      "args": ["-p", "tts-mcp", "tts-mcp-server", "--voice", "nova", "--model", "gpt-4o-mini-tts"],
      "env": {
        "OPENAI_API_KEY": "your-openai-api-key"
      }
    }
  }
}

您可以通过两种方式提供API密钥:

  1. 直接法 (建议用于测试):将其纳入 args 数组使用 --api-key 参数
  2. 环境变量法 (更安全):将其设置在 env 对象如上图所示

安全说明:在包含API密钥时,请确保您的配置文件安全。

  1. 重新启动克劳德桌面
  2. 当你要求克劳德“大声朗读这段文字”或类似的请求时,文字将被转换为语音

可用的MCP工具

  • 文本到语音:用于将文本转换为语音并播放的工具

CLI工具用法

您还可以将tts-mcp用作独立的命令行工具:

# Convert text directly
tts-mcp -t "Hello, world" -o hello.mp3

# Convert from a text file
tts-mcp -f speech.txt -o speech.mp3

# Specify custom voice
tts-mcp -t "Welcome to the future" -o welcome.mp3 -v nova

CLI工具选项

Options:
  -V, --version           Display version information
  -t, --text <text>       Text to convert
  -f, --file <path>       Path to input text file
  -o, --output <path>     Path to output audio file (required)
  -m, --model <n>         Model to use (default: "gpt-4o-mini-tts")
  -v, --voice <n>         Voice character (default: "alloy")
  -s, --speed <number>    Speech speed (0.25-4.0) (default: 1)
  --format <format>       Output format (default: "mp3")
  -i, --instructions <text> Additional instructions for speech generation
  --api-key <key>         OpenAI API key (can also be set via environment variable)
  -h, --help              Display help information

支持的声音

支持以下语音字符:

  • 合金(默认)
  • 灰烬
  • 珊瑚
  • 回声
  • 寓言
  • 缟玛瑙
  • 新星
  • 智者
  • 闪烁

支持的型号

  • tts-1
  • tts-1-hd
  • gpt-4o-mini-tts(默认)

输出格式

支持以下输出格式:

  • mp3(默认)
  • 作品
  • 高级音频编码
  • 自由无损音频编解码器
  • wav
  • 脉冲编码调制

环境变量

您还可以使用系统环境变量配置该工具:

OPENAI_API_KEY=your-api-key-here

许可证

麻省理工学院