
Voice Bridge
io.github.dwarmerdam由 GitHub 账号 dwarmerdam 发布v0.1.5更新于 Oct 24, 2026
Multi-engine TTS for AI coding assistants. 5 engines, free engine included.
概览
本地文本转语音 MCP 服务器,让 AI 助手通过五种 TTS 引擎之一把回复朗读出来。
- 可以做什么
- 朗读文本,可为单次调用指定引擎;朗读前会过滤代码、密钥、文件路径、URL 和 Markdown,并在句子边界截断过长文本。在 auto、edge-tts、ElevenLabs、Kokoro、macOS say 和 espeak-ng 之间切换默认引擎。查看当前模式、当前引擎以及可用引擎。列出某个引擎提供的语音,省略时使用当前引擎。
- 适用场景
- 适合在有扬声器的桌面上使用编程助手并希望把回复读出来时使用,例如免手操作或无障碍场景,也适合想免 API 密钥使用免费神经网络语音的用户。
- 运行要求
- 以本地进程运行。需要 Python 3.10+ 和 pip;npm 包只是自动安装 Python 包的封装,仍需要 PATH 中有 Python 和 pip。需要音频输出和播放器:macOS 用 afplay,Linux 用 mpv 或 ffplay,Windows 用 ffplay 或 mpv。可选 ElevenLabs 密钥,存放在本地 .env 文件中;Kokoro 需下载约 200MB 模型。
安装
在 SourceWeft 中
- 打开 控制台中的 Voice Bridge,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Voice Bridge
Multi-engine text-to-speech for AI coding assistants. Speaks responses aloud from Claude Code, Cursor, or VS Code via a Claude Code plugin, MCP server, or CLI pipe.
Features
- Free by default -- edge-tts uses Microsoft Neural voices, no API key needed
- 5 engines -- edge-tts, ElevenLabs, Kokoro (local ONNX), macOS say, espeak-ng
- Text safety filter -- strips code blocks, secrets, file paths, URLs, and markdown before speaking
- Claude Code plugin -- Stop hook speaks responses automatically, MCP server for tool-based control
- Voice discovery -- browse, filter by gender/locale, and preview voices interactively
Prerequisites
Voice Bridge is a Python package that plays audio on your local machine. It requires:
Audio player fallback order: macOS uses afplay (always available). Linux tries mpv then ffplay. Windows tries ffplay then mpv.
Not supported: headless servers, Docker containers, SSH sessions, and CI runners typically lack audio output. Voice Bridge will install and run the MCP server, but
speakcommands will fail silently without an audio player and sound hardware.
Quick Start
Install
Test
The setup wizard walks you through: detecting installed engines, testing audio output, optionally entering an ElevenLabs API key (if the SDK is installed), writing default state, and showing Claude Code integration options.
Use
Claude Code Integration
Option 1: Install as a Plugin (Recommended)
This installs the plugin with a Stop hook (auto-speaks responses), the /speak skill, and the MCP server. Auto-installs ai-voice-bridge[edge,mcp] on first session.
Option 2: Manual Hook Setup
Add to your .claude/settings.json:
Then add to your CLAUDE.md:
Option 2: Always-On Mode
Skip the <speak> tag convention entirely:
Now every Claude response is spoken automatically. Toggle off with voice-bridge off.
Hook Details
The Stop hook runs in the background so it doesn't block Claude Code. It:
- Extracts text from
<speak>tags (single-turn mode) or the full response (always-on mode) - Truncates to 2,000 characters before speaking
- Uses a fallback chain: configured engine > espeak > say
- Logs to
~/.voice-bridge/voice-bridge.log(auto-rotated at 1MB, keeps 2 backups) - Runs
vb-speak --streamfor sentence-by-sentence playback
Engines
When engine is set to auto (default), Voice Bridge picks the first available in this order: edge-tts > say > espeak > kokoro > elevenlabs. ElevenLabs is only considered "available" if the SDK is installed AND a valid API key is configured -- it will never be auto-selected without credentials.
Discovering Voices
Filtering options: --gender (Male/Female) works with edge-tts and kokoro. --locale (e.g. en-US, en-GB) works with edge-tts and say. --sample N picks N random voices. All combine with --preview for interactive audition.
ElevenLabs preview uses free pre-recorded samples when available (no API credits consumed).
Switching Engines
ElevenLabs Setup
Kokoro Setup (Offline)
Configuration
Voice Bridge stores configuration in ~/.voice-bridge/ (macOS), ~/.local/share/voice-bridge/ (Linux, respects XDG_DATA_HOME), or %APPDATA%\voice-bridge\ (Windows).
Override with the VOICE_BRIDGE_HOME environment variable.
State Variables
The .state file is a shell-sourceable key-value file. All values are optional — defaults apply if unset.
Text Safety Filter
Before any text reaches the TTS engine, Voice Bridge strips:
- Code blocks (fenced
```and inline`) - Secrets: OpenAI/Anthropic keys (
sk-...), GitHub tokens (ghp_,gho_), AWS keys (AKIA...), PEM private keys, 64+ char hex strings - File paths: Unix (
/Users/...,/home/...) and Windows (C:\Users\...) - URLs:
http://andhttps:// - Markdown: headers, bold/italic markers, list bullets, table rows
Text is truncated to 4,000 characters at the nearest sentence boundary (. ). The Claude hook applies a separate 2,000 character limit before passing text to vb-speak.
CLI Reference
Streaming mode (--stream): reads stdin, splits text at sentence boundaries (. , ! , ? ), and speaks each sentence as it completes. For edge-tts, sentences are queued so the next one generates while the current one plays.
Speed Control
Each engine accepts a different speed format:
Speed applies to whichever engine is currently active. Check with voice-bridge speed (no value).
MCP Server
Voice Bridge includes an MCP (Model Context Protocol) server so any MCP-compatible tool can speak text aloud.
npm shim (
npx ai-voice-bridge): The npm package is a thin wrapper that auto-installs the Python package. It requires Python 3.10+ and pip on yourPATH. On startup it checks for audio players and warns if none are found. See Prerequisites for full requirements.
Setup with Claude Desktop
Add to your claude_desktop_config.json:
Or after npm publish, use the npm shim:
Setup with Cursor / VS Code
Add the same MCP server config in your editor's MCP settings. The config format is the same as Claude Desktop.
Setup with Claude Code
MCP Tools
Install with MCP support
This installs the voice-bridge-mcp command as an alternative to python3 -m voice_bridge.mcp.server.
Development
License
MIT. See LICENSE for details.
The edge-tts optional dependency is licensed under GPL-3.0. It is not included in the base install.
来源:README.md,提交 113e0bc
工具
0版本历史
1- v0.1.5最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分