引言
"免费的本地 ElevenLabs + WisprFlow,合二为一。"
这是"每日一个开源项目"系列的第139篇文章 。今天的主角是 Voicebox------一款本地优先的开源 AI 语音工作室,由独立开发者 Jamie Pine 构建。
ElevenLabs 的语音克隆效果很好,但每月 $22 起的订阅费、按字符计费的限制,以及你的声音数据上传到他们服务器,是很多人的痛点。WisprFlow 解决的是语音听写问题,但同样依赖云端。
Voicebox 把这两个功能整合进一个本地运行的桌面应用:7 个 TTS 引擎、零样本声音克隆、全局听写热键、多音轨 Stories 编辑器、以及通过 MCP 给 AI Agent 提供语音能力。所有模型在设备上运行,声音数据不发出去。
32.3k Stars,MIT 协议,Tauri + Rust 构建。
你将学到什么
- 7 个内置 TTS 引擎的特点和适用场景(从超轻量的 Kokoro 到 Qwen3-TTS 高质量克隆)
- 零样本声音克隆的工程实现:几秒音频如何变成可复用的声音模型
- Voice Personality 功能:如何让 AI 在特定人设下发声
- Stories 编辑器:多轨时间线生产播客对话
- MCP 集成:给 Claude Code 等 Agent 装上说话能力
- Apple Silicon 上的 MLX 加速优势
前置知识
- 了解 TTS(文字转语音)和语音克隆的基本概念
- 使用过 ElevenLabs 或类似语音 AI 工具更容易对比
- Claude Code 或 MCP 使用经验(了解 Agent 语音集成部分)
项目背景
项目简介
Voicebox 是一个本地优先的 AI 语音工作室,定位是"ElevenLabs 和 WisprFlow 的免费开源替代品"。
它把两类功能整合在一起:语音输出 (TTS + 声音克隆)和语音输入(听写 + STT)。这两个方向通常是分开的工具,Voicebox 把它们放进同一个桌面应用,共用本地模型基础设施。
项目的技术核心是 Qwen3-TTS 的集成------阿里巴巴在 2025 年发布的开源 TTS 模型,在零样本声音克隆质量上接近甚至超过 ElevenLabs,让本地级别的声音克隆第一次变得实用。
作者介绍
- 作者: Jamie Pine(jamiepine)
- 官网 : voicebox.sh
- License: MIT
- 版本: v0.5.0,25 个 Release,588 次提交
项目数据
- ⭐ GitHub Stars: 32,300+
- 🍴 Forks: 3,900+
- 📄 License: MIT
- 💻 技术栈: TypeScript 55% / Python 34% / Rust 9%
主要功能
7 个 TTS 引擎
Voicebox 内置 7 个引擎,按使用场景选择:
| 引擎 | 语言数 | 核心特点 |
|---|---|---|
| Qwen3-TTS | 10 | 高质量多语言声音克隆,阿里开源 |
| Qwen CustomVoice | 10 | 9 个预设音色,自然语言控制音调 |
| LuxTTS | 英语 | 极轻量,CPU 上 150 倍实时速度 |
| Chatterbox Multilingual | 23 | 最广语言覆盖(含阿拉伯语、斯瓦希里语等) |
| Chatterbox Turbo | 英语 | 支持副语言情绪标签([laugh]、[sigh]) |
| TADA(HumeAI) | 10 | 支持 700 秒以上的长音频连贯生成 |
| Kokoro | 8 | 82M 超小模型,50 个预设音色 |
引擎的差异化很明显:LuxTTS 在没有 GPU 的笔记本上也能跑得很快;Chatterbox Turbo 能表达笑声和叹气;TADA 适合长有声书;Kokoro 是最小的选择。
声音克隆
零样本克隆:上传几秒钟的参考音频,Voicebox 提取音色特征,生成可复用的声音档案(Voice Profile)。
markdown
操作流程:
1. 录制或上传参考音频(3-10 秒效果足够好)
2. 创建 Voice Profile(命名、添加描述)
3. 在任何 TTS 任务里选择这个 Profile
4. 多段样本可以合并,提升克隆精度
支持在应用内直接录制参考音频,不需要找外部录音文件。
Voice Personality(声音人设)
这是一个在 TTS 工具里少见的功能:给声音档案绑定一个人格描述,然后让 LLM 在发声前先把文本改写成这个人格的表达风格。
vbnet
例子:
Voice Profile: "Alex - 科技播客主持人"
Personality: "活泼、对技术话题热情、偶尔用行话、喜欢用类比解释复杂概念"
输入文本: "量子计算机使用量子比特处理信息。"
LLM 改写后: "量子计算机这玩意儿有意思------它不用普通的 0 和 1,
而是用量子比特,可以同时是 0 又是 1,有点像薛定谔的猫。"
然后才发给 TTS 引擎生成语音
本地 Qwen3(0.6B/1.7B/4B 可选)负责改写,整个流程不离开设备。
Stories 编辑器
多音轨时间线编辑器,用于制作对话式内容(播客、角色扮演、有声书对话):
- 每个轨道对应一个声音档案(不同说话人)
- 按时间线排列音频片段
- 直接在编辑器里调整顺序和时长
- 生成完整的多人对话音频文件
全局听写热键
STT 部分基于 Whisper(Base 到 Large,以及 Turbo 变体):
- 全局热键(任意应用下触发)
- Push-to-Talk 和 Toggle 两种模式
- 识别结果直接输入到当前激活的文本框
- 所有录音存进 Captures 标签页,带完整文字稿
- 支持在文字稿上直接编辑,重新生成语音
后期处理效果
基于 Spotify Pedalboard 库,生成后可以对音频叠加效果:
- 音高偏移(Pitch Shift)
- 混响(Reverb)、延迟(Delay)
- 合唱(Chorus)、压缩(Compression)
- 高通/低通滤波
- 支持效果预设,方便复用
MCP Agent 语音集成
四个 MCP 工具,让 Claude Code 等 AI Agent 能开口说话:
bash
# 添加 MCP 服务器到 Claude Code
claude mcp add voicebox \
--transport http \
--url http://127.0.0.1:17493/mcp \
--header "X-Voicebox-Client-Id: claude-code"
| MCP 工具 | 功能 |
|---|---|
voicebox.speak |
用指定声音档案朗读文本 |
voicebox.transcribe |
转录音频文件 |
voicebox.list_captures |
列出已保存的录音 |
voicebox.list_profiles |
列出可用的声音档案 |
REST API 方式同样可用:
bash
# 直接调用生成语音
curl -X POST http://127.0.0.1:17493/generate \
-H "Content-Type: application/json" \
-d '{"text": "部署完成", "profile_id": "abc123", "language": "zh"}'
项目详细剖析
技术架构
markdown
前端(React + TypeScript + Tailwind)
↓
Tauri 桥(Rust)
↓
FastAPI 后端(Python)
├── TTS 引擎(Qwen3-TTS / LuxTTS / Kokoro...)
├── Whisper STT
├── Qwen3 LLM(Personality 改写)
├── Pedalboard 后期处理
└── SQLite 数据存储
Tauri + Rust 保持桌面应用轻量(不带 V8 引擎),Python FastAPI 后端负责模型推理的重活。这个分工在 AI 桌面应用里越来越常见:UI 层用 Web 技术做,推理层用 Python 做,Tauri 桥接两者。
推理后端选择
| 硬件 | 推理后端 | 特点 |
|---|---|---|
| macOS Apple Silicon | MLX / Metal | Neural Engine 加速,比 CPU PyTorch 快 4-5 倍 |
| Windows/Linux NVIDIA | PyTorch CUDA | 标准 GPU 推理 |
| Linux AMD | PyTorch ROCm | AMD GPU 支持 |
| Windows 任意 GPU | DirectML | 微软通用 GPU 接口 |
| Intel Arc | IPEX/XPU | Intel GPU 支持 |
| 无 GPU | CPU fallback | LuxTTS 在 CPU 上 150x 实时速度 |
Apple Silicon 上的 MLX 加速是个实质优势:M 系列芯片的 Neural Engine 专门处理矩阵运算,TTS 推理比 CPU PyTorch 快 4-5 倍,对实时听写和快速生成很关键。
Captures 系统
所有语音交互都存档:
markdown
Captures 标签页
├── 录音文件(听写 + 主动录制)
├── 自动生成文字稿(Whisper)
├── 内联编辑(直接修改文字稿)
├── 重新生成语音(用新的声音档案)
└── 导出音频
这个设计把 Voicebox 从"一次性生成工具"变成了"语音内容工作台":旧的录音可以随时用新声音重新生成,文字稿可以编辑后再发音,相当于一个轻量级的语音内容管理系统。
无限时长生成
TTS 模型通常有单次生成的长度限制(通常几百字)。Voicebox 的处理方式:
- 把长文本按句子/段落分块
- 对每个块单独调用 TTS 引擎
- 用交叉淡入淡出(Crossfade)平滑拼接
- 输出完整的长音频文件
TADA 引擎本身支持 700 秒以上的连贯生成,对有声书场景特别有价值------不需要分段处理,语调和情绪可以保持连贯。
快速开始
安装前置依赖(macOS):
bash
# 安装 Bun(前端包管理)
curl -fsSL https://bun.sh/install | bash
# 安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Python 3.11+(建议用 pyenv)
pyenv install 3.11.9 && pyenv global 3.11.9
# Tauri 前置(macOS)
xcode-select --install
克隆和启动:
bash
git clone https://github.com/jamiepine/voicebox.git
cd voicebox
just setup # 创建 Python venv,安装所有依赖(首次需要下载模型)
just dev # 启动后端 + 桌面应用
项目地址与资源
官方资源
- 🌟 GitHub : jamiepine/voicebox
- 🌐 官网 : voicebox.sh
相关技术
- Qwen3-TTS: 阿里巴巴开源 TTS 模型
- Kokoro TTS : hexgrad/kokoro
- Chatterbox: Resemble AI 开源 TTS
- Spotify Pedalboard: Python 音频效果库
总结
Voicebox 把本地语音 AI 里分散的几个工具整合进了一个应用:TTS 引擎、声音克隆、听写、音频后处理、多轨编辑、Agent 语音接口。
32.3k Stars 的增长速度和项目年龄对应,说明这个场景有很强的需求------ElevenLabs 的订阅模式让很多用户一直在找替代品,Qwen3-TTS 发布后本地克隆质量才第一次在实用层面对齐了云端方案。
技术选型(Tauri + MLX + 多引擎架构)对这类应用是合适的:UI 轻量,推理快,可以按硬件选择最优后端。Voice Personality 和 Captures 系统说明作者不只是在做"能用"的工具,而是在思考"工作流"。
对于需要大量生成配音内容、有隐私顾虑不想上传音频、或者想给 AI Agent 配上说话能力的开发者,Voicebox 值得装一下试试。
探索 PrimeSkills ------ 精选 AI Agent 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。