Voicebox 将语音克隆、多语言语音合成、全局听写和 Agent 语音接口整合到本地应用,并支持七种 TTS 引擎。其本地数据处理方式适合关注语音隐私和可定制性的开发场景。
开源 AI 语音工作室。克隆任意声音、生成语音、在任何应用中进行语音输入,还能让 Agent 使用你拥有的声音与你交谈。完整的语音输入/输出技术栈,全程在你的本地设备上运行。
voicebox.sh • 文档 • 下载 • 功能 • API • 故障排查

点击上方图片,在 voicebox.sh 上观看演示视频。


Voicebox 是一款本地优先的 AI 语音工作室——它将 ElevenLabs 和 WisprFlow 的能力集成在一个免费、开源的应用中。只需几秒钟的音频即可克隆声音;通过 7 个 TTS 引擎生成涵盖 23 种语言的语音;使用全局快捷键在任意文本字段中进行语音输入;还可以让任何支持 MCP 的 AI Agent 使用你选择的声音说话。
两家主流云服务厂商分别占据语音输入/输出闭环的一端——ElevenLabs 负责输出,WisprFlow 负责输入。Voicebox 两者兼顾,并通过内置的本地 LLM 将其连接起来,用于优化文本和提供按 profile 配置的 persona,同时让整个系统都在你的设备上运行。
完整隐私保护——模型、声音数据和捕获内容绝不会离开你的设备。
7 个 TTS 引擎——Qwen3-TTS、Qwen CustomVoice、LuxTTS、Chatterbox Multilingual、Chatterbox Turbo、HumeAI TADA 和 Kokoro。
声音克隆与预设声音——既可以根据参考样本进行 zero-shot 克隆,也可以使用 Kokoro 和 Qwen CustomVoice 提供的 50 多种精选预设声音。
23 种语言——涵盖英语、阿拉伯语、日语、印地语、斯瓦希里语等。
后期处理效果——音高调整、混响、延迟、合唱、压缩和滤波器。
富有表现力的语音——通过 Chatterbox Turbo 使用 [laugh]、[sigh]、[gasp] 等副语言标签;通过 Qwen CustomVoice 使用自然语言控制表达方式。
不限长度——通过自动分块和交叉淡化处理脚本、文章及章节。
Stories 编辑器——用于制作对话、播客和叙事内容的多轨时间线。
语音输入——支持 push-to-talk 和切换模式的全局听写快捷键、在 macOS 上经过辅助功能验证的自动粘贴、每个文本字段内置的麦克风,以及基于 Whisper 的 STT。
Agent 语音输出——只需一次工具调用(voicebox.speak),任何支持 MCP 的 Agent(Claude Code、Cursor、Cline)都能用你克隆的声音与你交谈。
声音人格——为任意声音 profile 附加自由形式的 persona,随后通过内置的本地 LLM 执行 Compose、Rewrite 或 Respond;Agent 也可以通过 MCP 调用相同模式。
API 优先——提供 REST API 和内置 MCP server,可将语音输入/输出集成到你自己的应用及 Agent 中。
原生性能——使用 Tauri(Rust)构建,而非 Electron。
全平台运行——支持 macOS(MLX/Metal)、Windows(CUDA)、Linux、AMD ROCm、Intel Arc 和 Docker。
Linux——目前尚未提供预构建二进制文件。请参阅 voicebox.sh/linux-install,了解从源码构建的说明。
遇到问题?请参阅故障排查指南,其中介绍了常见的安装、生成、模型下载和 GPU 问题。
7 个 TTS 引擎各有所长,每次生成时均可切换:
只有 Chatterbox Turbo 能理解 [laugh] 和 [sigh] 之类的副语言标签。Qwen3-TTS、LuxTTS、Chatterbox Multilingual 和 HumeAI TADA 会将它们作为普通文本逐字朗读。
选择 Chatterbox Turbo 后,在文本输入框中输入 / 即可打开标签插入器,在语音文本中内联添加富有表现力的标签:
[laugh] [chuckle] [gasp] [cough] [sigh] [groan] [sniff] [shush] [clear throat]
提供由 Spotify pedalboard 库驱动的 8 种音频效果。可以在生成后应用效果、实时预览,并创建可复用的预设。
内置 4 种预设(Robotic、Radio、Echo Chamber、Deep Voice),同时支持自定义预设。还可以为每个 profile 分别指定默认效果。
文本会在句子边界处自动拆分,每个分块独立生成,最后通过交叉淡化拼接。所有引擎均支持此功能。
可配置自动分块上限(100~5,000 个字符)。
交叉淡化滑块(0~200ms),用于实现平滑过渡。
最大文本长度:50,000 个字符。
智能拆分能够正确处理缩写、CJK 标点以及 [tags]。
每次生成都支持多个版本,并可追踪来源:
原始版本——干净的 TTS 输出,始终保留。
效果版本——可以基于任意源版本应用不同的效果链。
Takes——使用新的 seed 重新生成,以获得不同变化。
来源追踪——每个版本都会记录自身的演变关系。
收藏——为生成结果加星,方便快速访问。
生成过程不会阻塞。提交任务后,可以立即开始输入下一条内容。
串行执行队列可避免 GPU 资源争用。
通过 SSE 实时推送状态。
失败的生成任务可以重试。
应用启动时会自动恢复因崩溃而停滞的生成任务。
从音频文件创建 profile,或直接在应用内录音。
导入或导出 profile,以便共享或备份。
支持多样本,提高声音克隆质量。
为每个 profile 设置默认效果链。
使用描述和语言标签进行整理。
面向对话、播客和叙事内容的多声音时间线编辑器。
支持拖放操作的多轨编排。
直接在时间线中修剪和拆分音频。
自动播放并同步播放指针。
可以为每个轨道片段固定版本。
这是语音输入/输出闭环的另一半。在系统中的任意位置按住快捷键、说话,然后松开——在 macOS 上,转写文本会直接粘贴到当前聚焦的文本字段中。你也可以点击 Voicebox 任意文本输入框中的麦克风,直接在应用内听写。
可配置组合键——按住说话和点击切换模式分别拥有独立的组合键,都可以在应用内的组合键选择器中重新绑定。按住 push-to-talk 时轻触空格键,可以无缝升级为切换模式的录音会话,音频不会出现中断。
感知目标的粘贴(macOS)——通过辅助功能验证,将内容注入当前聚焦的文本字段;同时以原子方式保存并恢复剪贴板,避免覆盖你原有的剪贴板内容。
首次运行权限引导——应用内的权限步骤会引导你授予 macOS 辅助功能和输入监控权限,并提供跳转到系统设置的深层链接。
Voicebox 的每个文本字段中都有应用内麦克风按钮——无论是生成表单、profile 描述、故事标题,还是任何可以输入文字的地方。
LLM 优化——可以选择在粘贴前清理“嗯”等填充词、口吃和说错后重说的内容。
屏幕悬浮条——浮动覆盖层会显示录音、转写、优化和说话状态。Agent 对你说话时也会使用同一悬浮条,因此语音闭环的两个方向都遵循同一套交互模型。
Voicebox 使用 OpenAI Whisper 进行转写——听写、Captures 标签页和 /transcribe API 都由同一个模型提供支持。根据所使用的平台,模型会运行在 MLX(Apple Silicon)或 PyTorch(CUDA / ROCm / DirectML / CPU)上。
更多引擎(Parakeet v3、Qwen3-ASR)已列入计划——请参阅 Roadmap。
每次听写、应用内录音以及上传的音频文件都会进入 Captures 标签页——原始音频与转写文本配对保存,并且始终保留。
重放、重新转写和优化——可以使用任意规模的 Whisper 模型重新运行 STT,也可以使用不同选项让本地 LLM 重新处理原始转写文本,包括清理填充词、移除自我纠正内容和保留技术术语。
行内编辑——直接修改转写文本,并在失去焦点时保存。
作为声音 profile 播放——只需点击一下,即可用克隆声音将任意捕获内容转换为语音。
提升为声音样本——将某条捕获内容的音频和转写文本作为任意声音 profile 的参考样本。
本地存储捕获内容——原始音频和转写文本会保留在 Voicebox 数据目录中,Settings 中提供了打开该文件夹的快捷入口。
每个 Agent 都能拥有自己的声音。只需调用一次工具,任何支持 MCP 的 Agent 就能用你克隆的声音与你交谈,无论是任务完成通知、提问还是其他消息。听写时出现的同一悬浮条,也会在 Agent 说话时显示,因此你始终能看到设备正在输出什么内容。
// In any MCP-aware agent:
await voicebox.speak({
text: "Deploy complete.",
profile: "Morgan",
});
对于不支持 MCP 的系统——包括 ACP、A2A、shell 脚本和自定义运行框架——还提供了 POST /speak。
双向悬浮条——录音、转写、优化和说话都是同一个操作系统级覆盖层的不同状态,因此听写和 Agent 语音共用同一界面。
按 Agent 绑定声音——在 Settings → MCP 中,可以将 Claude Code 固定绑定至 Morgan,将 Cursor 固定绑定至 Scarlett,这样不用查看屏幕也能辨别正在说话的是哪个 Agent。每个客户端的 last_seen_at 时间戳可以确认安装是否确实生效。
始终可见——不会在后台静默播放 TTS;每次由 Agent 发起的说话操作,都会在完整播放期间显示悬浮条及声音 profile 名称。
HTTP + stdio 传输——可以在 Claude Code、Cursor、Windsurf 或 VS Code MCP 中以 URL 形式安装,也可以让仅支持 stdio 的客户端连接应用内置的 voicebox-mcp 二进制文件。
为任意声音 profile 附加一段自由形式的人格描述——这个声音是谁、如何说话、关心什么。当设置好人格后,生成框中会出现两个操作,由完全在本地运行的内置 Qwen3 LLM 提供支持。
Compose——一个随机生成按钮,会将一条符合角色设定的新台词填入文本区域;你可以编辑后播放,也可以再次点击以生成不同版本。
以角色身份说话——一个切换开关,会先通过人格 LLM 将输入文本改写成角色的口吻,再交给 TTS。
Agent 也可以通过 MCP 访问同一条改写路径:向 voicebox.speak 传入 personality: true,即可把这个工具变成“文本输入 → 人格 LLM → TTS”的处理管线。听写的优化步骤也由同一个 LLM 提供支持——应用中只使用一个 LLM、一份模型缓存和一份 GPU 显存占用。
本地 LLM 选项:Qwen3 0.6B / 1.7B / 4B,与 TTS 共用同一运行时(Apple Silicon 使用 MLX,其他平台使用 PyTorch)。
使用场景:Agent 开发闭环(通过语音提出问题,再用克隆声音听取回答)、游戏和叙事工具中的交互式角色,以及帮助无法再用原本声音说话的人士进行语音交流。
可以按模型卸载,以释放 GPU 显存而不删除下载内容。
通过 VOICEBOX_MODELS_DIR 自定义模型目录。
迁移模型文件夹,并显示进度。
提供取消或清除下载任务的 UI。
Voicebox 提供 REST API,可将语音输入/输出集成到你自己的应用和 Agent 中。
# Generate speech
curl -X POST http://127.0.0.1:17493/generate \
-H "Content-Type: application/json" \
-d '{"text": "Hello world", "profile_id": "abc123", "language": "en"}'
# Agent voice output — any app or script can speak in a cloned voice
curl -X POST http://127.0.0.1:17493/speak \
-H "Content-Type: application/json" \
-H "X-Voicebox-Client-Id: my-script" \
-d '{"text": "Deploy complete.", "profile": "Morgan"}'
# Transcribe an audio file
curl -X POST http://127.0.0.1:17493/transcribe \
-F "audio=@recording.wav" \
-F "model=whisper-turbo"
# List voice profiles
curl http://127.0.0.1:17493/profiles
POST /speak 接受作为名称(不区分大小写)或 id 的 profile,并使用与 MCP 工具相同的优先级解析:显式参数 → 按客户端绑定 → capture_settings.default_playback_voice_id。
Voicebox 内置了 Model Context Protocol server,因此任何支持 MCP 的 Agent(Claude Code、Cursor、Windsurf、Cline、VS Code MCP 扩展)都可以说话、转写,以及浏览捕获内容和 profile。
Claude Code 一行安装命令:
claude mcp add voicebox \
--transport http \
--url http://127.0.0.1:17493/mcp \
--header "X-Voicebox-Client-Id: claude-code"
任意 HTTP MCP 客户端(Cursor、Windsurf、VS Code 等):
{
"mcpServers": {
"voicebox": {
"url": "http://127.0.0.1:17493/mcp",
"headers": { "X-Voicebox-Client-Id": "cursor" }
}
}
}
对于不支持 HTTP MCP 的客户端,可以回退到 stdio——将其指向应用内置的 voicebox-mcp 二进制文件:
{
"mcpServers": {
"voicebox": {
"command": "/Applications/Voicebox.app/Contents/MacOS/voicebox-mcp",
"env": { "VOICEBOX_CLIENT_ID": "claude-desktop" }
}
}
}
内置四个工具:voicebox.speak、voicebox.transcribe、voicebox.list_captures、voicebox.list_profiles。可以在 Voicebox → Settings → MCP 中管理按客户端绑定的声音。有关工具签名、解析优先级、说话悬浮条约定和安全说明,请参阅完整的 MCP 指南。
// In any MCP-aware agent:
await voicebox.speak({
text: "Tests passing. Ready to merge.",
profile: "Morgan", // optional — falls back to the per-client binding
personality: true, // optional — rewrites text through the profile's personality LLM first
});
使用场景:Agent 开发闭环(语音输入、语音输出)、游戏对话、播客制作、辅助功能工具、语音助手和内容自动化。
完整的 API 文档位于 http://127.0.0.1:17493/docs。
如需了解完整的工程状态、待解决 issue 分类以及按优先级排列的工作队列,请参阅 docs/PROJECT_STATUS.md——这是一份持续更新的文档,用于追踪已经发布、正在进行的工作、处于评估阶段的候选 TTS 引擎,以及特定集成为何被接受或被放入待办列表。
有关详细的环境设置和贡献指南,请参阅 CONTRIBUTING.md。
git clone https://github.com/jamiepine/voicebox.git
cd voicebox
just setup # creates Python venv, installs all deps
just dev # starts backend + desktop app
安装 just:brew install just 或 cargo install just。运行 just --list 可查看所有命令。
前置依赖:Bun、Rust、Python 3.11+、Tauri Prerequisites,以及 macOS 上的 Xcode。
仓库根目录内置了一份已配置好的 .mcp.json——在该 checkout 中运行 Claude Code 时,只要开发版应用正在运行,就会自动加载 Voicebox MCP 工具。
just build # Build CPU server binary + Tauri app
just build-local # (Windows) Build CPU + CUDA server binaries + Tauri app
多引擎架构让新增 TTS 引擎变得非常直接。分步指南涵盖完整流程:依赖研究、后端协议实现、前端接入以及 PyInstaller 打包。
该指南专门针对 AI 编程 Agent 进行了优化。Agent skill 只需获得一个模型名称,就能自主完成整个集成过程——你只需要在本地测试构建结果。
voicebox/
├── app/ # Shared React frontend
├── tauri/ # Desktop app (Tauri + Rust)
├── web/ # Web deployment
├── backend/ # Python FastAPI server
├── landing/ # Marketing website
└── scripts/ # Build & release scripts
欢迎贡献!相关指南请参阅 CONTRIBUTING.md。
创建一个功能分支。
发现安全漏洞?请以负责任的方式报告。详情请参阅 SECURITY.md。
MIT License——详情请参阅 LICENSE。