文本转语音工具

一个使用Groq TTS API(与OpenAI兼容)的文本转语音CLI和MCP服务器,支持多种语音选项、可调语速和音频播放。

  • by j3k0
  • Shell
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 j3k0/speech.sh

使用说明

演讲.sh

使用Groq TTS API(兼容OpenAI)的文本到速度CLI和MCP服务器。

特性

  • 使用简单的命令将文本转换为语音
  • 多种语音选项(特洛伊、奥斯汀、汉娜、秋天)
  • 语音速度可调
  • 基于哈希的缓存可避免重复的API调用(24小时自动清理)
  • 指数退避重试
  • 通过ffplay、mplayer或VLC播放音频
  • 用于与AI助手集成的MCP服务器(Claude Desktop、Claude Code)

快速开始

git clone https://github.com/j3k0/speech.sh.git
cd speech.sh
export OPENAI_API_KEY="your-groq-api-key"
./speech.sh --text "Hello, world!"

依赖项

  • curl, jq (适用于shell版本)
  • 一个音频播放器: ffplay (来自ffmpeg), mplayer,或 vlc

CLI使用情况

# Basic
./speech.sh --text "Hello, world!"

# With options
./speech.sh --text "Hello!" --voice austin --speed 1.2 --verbose

选项

-t, --text TEXT       Text to convert to speech (required)
-v, --voice VOICE     Voice to use (default: troy)
-s, --speed SPEED     Speech speed (default: 1.0)
-o, --output FILE     Output file path (default: auto-generated)
-a, --api_key KEY     API key
-m, --model MODEL     TTS model (default: canopylabs/orpheus-v1-english)
-p, --player PLAYER   Audio player: auto, ffmpeg, mplayer, vlc (default: auto)
-r, --retries N       Retry attempts (default: 3)
-T, --timeout N       Timeout in seconds (default: 30)
    --verbose         Enable verbose logging

API密钥

按以下三种方式之一(按优先顺序)提供Groq API密钥:

  1. --api_key "your-key"
  2. export OPENAI_API_KEY="your-key"
  3. 名为的文件 API_KEY 在脚本的目录中

MCP 服务器

有两种实现方式可供选择:

Python(推荐)

使用 FastMCP SDK。需要Python 3.10+和 uv.

# Setup
uv venv --python python3 .venv
uv pip install --python .venv/bin/python "mcp[cli]" httpx

# Run
OPENAI_API_KEY="your-key" .venv/bin/python server.py

克劳德桌面/Claude代码配置

{
  "mcpServers": {
    "speak": {
      "command": "/path/to/speech.sh/.venv/bin/python",
      "args": ["/path/to/speech.sh/server.py"],
      "env": {
        "OPENAI_API_KEY": "your-groq-api-key",
        "SPEECH_VOICE": "troy",
        "SPEECH_SPEED": "1.0",
        "SPEECH_MODEL": "canopylabs/orpheus-v1-english"
      }
    }
  }
}

壳牌(传统)

原始的基于shell的MCP服务器(mcp.sh).适用于没有Python的环境,但可能会遇到Claude Desktop的macOS沙盒问题。

./mcp.sh

MCP工具

服务器公开了一个 speak 工具:

参数 类型 必填 默认 说明
text string yes 要说话的文本
voice string no troy 要使用的语音
速度 数量 否 1.0 语速

环境变量

变量 描述 默认值
OPENAI_API_KEY Groq API密钥 (必需)
SPEECH_VOICE 默认语音 troy
SPEECH_SPEED 默认速度 1.0
SPEECH_MODEL TTS模型 canopylabs/orpheus-v1-english
SPEECH_API_URL API端点(Python) https://api.groq.com/openai/v1/audio/speech

建筑

  • 演讲.sh -基于外壳的TTS引擎(API调用、缓存、回放)
  • 麦克普什 -speech.sh上基于Shell的MCP包装器(stdio上的JSON-RPC 2.0)
  • 服务器.py -Python MCP服务器,独立替换上述两个脚本

许可证

通用公共许可证