语音合成工具

一个多语言语音合成工具,支持48种语音、9种语言和多种情感标记,适用于MCP客户端和桌面应用。

  • by mcp-tool-shop-org
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mcp-tool-shop-org/mcp-voice-soundboard

使用说明

日本語 | 中文 | Español | Français | हिन्दी | Italiano | Português (BR)

48 voices • 9 languages • 5 presets • 8 emotions • SSML-lite • SFX tags • multi-speaker dialogue
Swappable TTS backends. Guardrails built in. Ships as a single npx command.


亮点

  • MCP本地 --stdio传输,适用于Claude Desktop、Cursor和任何MCP客户端
  • 5工具 — voice_speak, voice_dialogue, voice_status, voice_interrupt, voice_inner_monologue
  • 48种批准的声音,9种语言 --英语(美国+英国)、日语、普通话、西班牙语、法语、印地语、意大利语、巴西葡萄牙语。精心策划的预设: narrator, announcer, whisper, storyteller, assistant
  • 情绪跨度 --8种情绪 {joy}...{/joy} 内联标记
  • SSML lite — <break>, <emphasis>, <prosody> 没有完整的SSML复杂性
  • SFX标签 — [ding], [chime], [whoosh], [tada], [pop], [click] 内联音效
  • 多人对话 — Speaker: line 带有自动转换和暂停指令的格式
  • 护栏 --速率限制、并发信号量、请求超时、路径遍历保护、秘密编校
  • 可更换后端 --Mock(内置)、HTTP代理、Python桥或自带

快速开始

npx @mcptoolshop/voice-soundboard-mcp

或全局安装:

npm install -g @mcptoolshop/voice-soundboard-mcp
voice-soundboard-mcp

克劳德桌面/MCP客户端配置

添加到MCP客户端配置中(例如。 claude_desktop_config.json):

{
  "mcpServers": {
    "voice-soundboard": {
      "command": "npx",
      "args": ["-y", "@mcptoolshop/voice-soundboard-mcp"]
    }
  }
}

有选项:

{
  "mcpServers": {
    "voice-soundboard": {
      "command": "npx",
      "args": [
        "-y", "@mcptoolshop/voice-soundboard-mcp",
        "--artifact=path",
        "--output-dir=/tmp/voice-output",
        "--timeout=30000",
        "--max-concurrent=2"
      ]
    }
  }
}

MCP工具

voice_speak

从文本合成语音。

text:         "Hello world!"
voice?:       "am_fenrir"          # Voice ID or preset name
speed?:       1.0                  # 0.5 - 2.0
mood?:        "dry"                # Humor mood (sensor-humor integration)
format?:      "wav"                # wav | mp3 | ogg | raw
artifactMode?: "path"             # path | base64
outputDir?:   "subdir"            # Subdirectory within output root
sfx?:         true                # Enable [ding], [chime] etc.

voice_dialogue

多人对话合成。

script:       "Alice: Hello!\nBob: Hey there!"
cast?:        { "Alice": "af_sky", "Bob": "am_fenrir" }
speed?:       1.0
concat?:      true                 # Combine into single file
debug?:       true                 # Include cue_sheet
artifactMode?: "path"             # path | base64
outputDir?:   "subdir"            # Subdirectory within output root

voice_status

返回引擎运行状况、可用语音、预设和后端信息。没有争论。

voice_interrupt

停止或回滚活动合成。

streamId?:    "stream-123"
reason?:      "user_spoke"         # user_spoke | context_change | timeout | manual

voice_inner_monologue

用于环境叙事的短暂微话语。需要 --ambient 旗帜或 VOICE_SOUNDBOARD_AMBIENT_ENABLED=1.

text:         "Interesting..."     # Max 500 chars, auto-redacted
category?:    "thinking"           # general | thinking | observation | debug

声音

来自9种语言的48个声音。语言是从语音ID前缀自动推断出来的,不需要配置。

前缀 语言
af_ / am_ 英语(美国)
bf_ / bm_ 英语(英国)
jf_ / jm_ 日语
zf_ / zm_ 普通话
ef_ / em_ 西班牙语
ff_ 法语
hf_ / hm_ 印地语
if_ / im_ 意大利语
pf_ / pm_ 巴西葡萄牙语

英语-美国

ID 姓名 性别 风格
af_aoede Aoede 女 音乐剧
af_bella 贝拉 女 暖
af_heart 心 女 关怀
af_jessica 杰西卡 女 专业
af_kore Kore 女 年轻
af_nicole 妮可 女 柔
af_sarah Sarah 女 透明
af_sky 天空 女 艾莉
am_eric Eric 男 自信
am_fenrir 芬里尔 男 强大
am_liam 利亚姆 男 友善
am_michael 迈克尔 男 深
am_onyx 缟玛瑙 雄性 光滑
am_puck Puck 男 俏皮

英语-英国

ID 姓名 性别 风格
bf_alice 爱丽丝 女 合适
bf_emma 艾玛 女 精致
bf_isabella 伊莎贝拉 女 暖
bm_fable 寓言 男 讲故事
bm_george 乔治 男 权威
bm_lewis 刘易斯 男 友善

日语

ID 姓名 性别 风格
jf_alpha 阿尔法 女 清澈
jf_gongitsune 贡itsune 女 讲故事
jf_nezuko Nezuko 女 温柔
jf_tebukuro Tebukuro 女 暖
jm_kumo Kumo 男 冷静

普通话

ID 姓名 性别 风格
zf_xiaobei 小贝 女 聪明
zf_xiaoni 小妮 女 温柔
zf_xiaoxiao 潇潇 女 清
zf_xiaoyi 小怡 女 暖
zm_yunjian 云建 男 权威
zm_yunxi Yunxi 男 友善
zm_yunxia 云霞 男 冷静
zm_yunyang 云阳 男 自信

西班牙语

ID 姓名 性别 风格
ef_dora 多拉 女 暖
em_alex 亚历克斯 男 自信
em_santa 圣诞老人 男 乔利

法语

ID 姓名 性别 风格
ff_siwis Siwis 女 精致

印地语

ID 姓名 性别 风格
hf_alpha 阿尔法 女 清澈
hf_beta 贝塔 女 暖
hm_omega Omega 男 深
hm_psi Psi 男 冷静

意大利语

ID 姓名 性别 风格
if_sara 萨拉 女 暖
im_nicola 尼古拉 男 自信

巴西葡萄牙语

ID 姓名 性别 风格
pf_dora 多拉 女 暖
pm_alex 亚历克斯 男 自信
pm_santa 圣诞老人 男 乔利

预设

预设 语音 速度 描述
narrator bm_george 0.95 冷静、清晰、纪实风格
announcer am_eric 1.1 大胆、充满活力、广播风格
whisper af_sky 0.85 柔软、亲密、温柔
storyteller bf_emma 0.90 表现力强、节奏多变
assistant af_jessica 1.0 友好、乐于助人、健谈

情感跨度

将文本包裹在情感标签中,以控制韵律和语音路由:

{joy}Great news!{/joy} But {calm}let me explain.{/calm}

支持: neutral, serious, friendly, professional, calm, joy, urgent, whisper

CLI标志

标志 默认值 描述
--artifact=path|base64 path 音频传输模式
--output-dir=<path> <tmpdir>/voice-soundboard/ 输出目录
--backend=mock|http|python mock 后端选择
--ambient 关闭 启用内心独白系统
--max-concurrent=<n> 3 最大并发合成请求数
--timeout=<ms> 60000 每次请求超时
--retention-minutes=<n> 240 自动清理年龄(0表示禁用)

包裹

这是一个pnpm monorepo,有两个可发布的包:

包 描述 npm
@mcptoolshop/voice-soundboard-core 后端无关的核心库(验证、SSML、分块、模式)
@mcptoolshop/voice-soundboard-mcp 带CLI、护栏和传输的MCP服务器

发展

# Install
pnpm install

# Build
pnpm build

# Test (363 tests)
pnpm test

# Build + test in one step
pnpm verify

部分 MCP工具车间

项目结构

mcp-voice-soundboard/
  packages/
    core/               @mcptoolshop/voice-soundboard-core
      src/
        limits.ts         SHIP_LIMITS, text/chunk limits
        schemas.ts        VoiceRequest, VoiceResponse, error codes
        artifact.ts       resolveOutputDir, path sandbox
        voices.ts         Approved voice registry + presets
        emotion.ts        Emotion span parser
        ssml/             SSML-lite parser + limits
        chunking/         Text chunker
        sfx/              SFX tag parser + registry
        sandbox.ts        Safe filenames, symlink checks
        ambient.ts        AmbientEmitter for inner monologue
        redact.ts         PII/secret redaction
    mcp-server/         @mcptoolshop/voice-soundboard-mcp
      src/
        server.ts         MCP tool registration + guardrail wiring
        cli.ts            CLI entrypoint (stdio transport)
        backend.ts        Backend abstraction + mock/HTTP
        concurrency.ts    SynthesisSemaphore
        rateLimit.ts      ToolRateLimiter (sliding window)
        timeout.ts        withTimeout utility
        retention.ts      Output file cleanup timer
        redact.ts         Server-level redaction
        validation.ts     Synthesis result validation
        tools/            Individual tool handlers
  assets/               Logo, audio event manifests
  docs/                 Architecture docs

隐私

没有遥测。 此工具不收集使用数据,不发送分析,也不向您配置的TTS后端发出网络请求。所有处理都是本地的。

安全

看 安全.md 用于漏洞报告。

看 线程_模式.md 进行全面的威胁面分析。

相关

项目 描述
音板插件 Claude Code插件——斜线命令,情感感知叙事

支持

记分卡

类别 分数 备注
A.安全 10/10 Security.md,威胁_MODEL.md,编辑,无遥测
B.错误处理 8/10 结构化错误契约(代码/提示/可重试),toToolError模式
C.操作员文档 9/10 自述文件、变更日志、手册、工具文档
D.运输卫生 9/10 CI、验证脚本、可靠性、锁文件
E.身份 10/10 徽标、翻译、登录页、元数据
总计 46/50

许可证

麻省理工学院


Built by MCP Tool Shop