文本转语音服务

Kokoro文本转语音服务,可将文本转换为MP3文件,并支持上传至S3存储。

  • by mberg
  • Python
  • 本地部署
  • 55 星标
  • 更新于
在 GitHub 查看 mberg/kokoro-tts-mcp

使用说明

Kokoro文本转语音(TTS)MCP服务器

Kokoro文本转语音MCP服务器,可生成.mp3文件,并可选择上传到S3。

使用:https://huggingface.co/spaces/hexgrad/Kokoro-TTS

配置

将以下内容添加到MCP配置中。更新你自己的价值观。

  "kokoro-tts-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/toyourlocal/kokoro-tts-mcp",
        "run",
        "mcp-tts.py"
      ],
      "env": {
        "TTS_VOICE": "af_heart",
        "TTS_SPEED": "1.0",
        "TTS_LANGUAGE": "en-us",
        "AWS_ACCESS_KEY_ID": "",
        "AWS_SECRET_ACCESS_KEY": "",
        "AWS_REGION": "us-east-1",
        "AWS_S3_FOLDER": "mp3",
        "S3_ENABLED": "true",
        "MP3_FOLDER": "/path/to/mp3"
      } 
    }

安装ffmmeg

这是将.wav转换为.mp3文件所必需的

对于mac:

brew install ffmpeg

要在本地运行,请将这些添加到.env文件中。请参阅env.example并复制到.env,然后使用您自己的值进行修改。

支持的环境变量

  • AWS_ACCESS_KEY_ID:您的AWS访问密钥ID
  • AWS_SECRET_ACCESS_KEY:您的AWS秘密访问密钥
  • AWS_S3_BUCKET_NAME:S3存储桶名称
  • AWS_S3_REGION:S3地区(例如美国东部-1)
  • AWS_S3_FOLDER:S3存储桶中的文件夹路径
  • AWS_S3_ENDPOINT_URL:S3兼容存储的可选自定义端点URL
  • MCP_HOST:将服务器绑定到的主机(默认值:0.0.0.0)
  • MCP_PORT:要侦听的端口(默认值:9876)
  • MCP_CLIENT_HOST:客户端连接到服务器的主机名(默认值:localhost)
  • DEBUG:启用调试模式(设置为“true”或“1”)
  • S3_ENABLED:启用S3上传(设置为“true”或“1”)
  • MP3_FOLDER:存储MP3文件的路径(默认为脚本目录中的“MP3”文件夹)
  • MP3_RETENTION_DAYS:自动删除前保留MP3文件的天数
  • DELETE_LOCAL_AFTER_S3_UPLOAD:S3上传成功后是否删除本地MP3文件(设置为“true”或“1”)
  • TTS_VOICE:TTS客户端的默认语音(默认:af_heart)
  • TTS_SPEED:TTS客户端的默认速度(默认值:1.0)
  • TTS_LANGUAGE:TTS客户端的默认语言(默认:en-us)

在本地运行服务器

首选方法使用UV

uv run mcp-tts.py

使用TTS客户端

这 mcp_client.py 该脚本允许您向服务器发送TTS请求。它可以按如下方式使用:

连接设置

在同一台机器上运行服务器和客户端时:

  • 服务器应绑定到 0.0.0.0 (所有接口)或 127.0.0.1 (仅限本地主机)
  • 客户端应连接到 localhost 或 127.0.0.1

基本用法

python mcp_client.py --text "Hello, world!"

从文件中读取文本

python mcp_client.py --file my_text.txt

自定义语音和速度

python mcp_client.py --text "Hello, world!" --voice "en_female" --speed 1.2

禁用S3上传

python mcp_client.py --text "Hello, world!" --no-s3

命令行选项

python mcp_client.py --help

MP3文件管理

TTS服务器生成MP3文件,这些文件存储在本地,并可选择上传到S3。您可以配置这些文件的管理方式:

本地存储

  • 集 MP3_FOLDER 在你的 .env file指定MP3文件的存储位置
  • 除非自动删除,否则文件将保留在此文件夹中

自动清理

  • 集 MP3_RETENTION_DAYS=30 (或任何数字)自动删除超过该天数的文件
  • 集 DELETE_LOCAL_AFTER_S3_UPLOAD=true 成功上传S3后立即删除本地文件

S3集成

  • 启用/禁用S3上传 S3_ENABLED=true 或 DISABLE_S3=true
  • 在中配置AWS凭据和bucket设置 .env 文件
  • 可以使用客户端的 --no-s3 选项