VoiceStudio 在 9 月登上了 GitHub Trending 的 #1。真正吸引我的是它的描述:开源、完全在本地运行的 ElevenLabs 替代方案——语音克隆、配音、646 种语言的目录;无需账户、无需 API 密钥,也没有按字符计费的账单。
我在英语和日语旁白上已经付给 ElevenLabs 近 $200。所以这不是一个抽象问题。16 GB Mac 跑得了这个东西吗?安装配置有多难?声音好到可以拿给付费客户听吗?如果答案是可以,那 ElevenLabs 究竟在卖什么,是本地应用给不了的?
这次实验的 git 历史从 2026 年 10 月 17 日(第一次提交本地 TTS 规格)到 10 月 26 日(两个本地化版本都已建成)。前后是九天,不是一个季度。中文和韩文音频都已完整:各 258 对旁白,总长 3 小时 06 分和 3 小时 25 分。
VoiceStudio 到底是什么
VoiceStudio 是一个桌面应用,不是需要你一直盯着的 Python 脚本。它封装了一个本地 API,在同一个界面里提供 16 个 TTS 引擎和 11 个语音识别引擎的目录。它支持 macOS、Windows、Linux 和 Docker。应用采用 AGPL-3.0(代码仓库,检索于 2026 年 10 月 25 日)。
截至 10 月 25 日,这个仓库已有约 85,000 个星标,距离它在 2026 年 4 月 9 日创建只有约六个月。它至少在 9 月的两天里登上过 GitHub Trending 榜首。第一个意外是许可证。应用是开源的,但模型权重并不自动使用同一许可证。默认的 OmniVoice 引擎另有条款,其预训练权重不可商用(模型卡,检索于 2026 年 10 月 25 日)。我最终使用的 CosyVoice 3 是 Apache-2.0,VoxCPM2 也是 Apache-2.0。
这个区别是第一课。「开源 ElevenLabs 替代方案」描述的是应用,不是权重、声音或输出。如果你要把它用于付费工作,就得自己逐个引擎把许可证的来龙去脉查清楚。
16 GB Mac 跑得动吗?
可以。但并不总是跑得好,也不总是能跑你想要的引擎。
安装配置并不难。装应用、打开、选引擎、让它下载权重。难的是找到一个能在这台机器上不倒下、把 258 张幻灯片的批次跑完的引擎。
我先试了 VoxCPM2。它使用 Apple 的 MPS,声音不错。但在 16 GB Apple Silicon Mac 的高负载下,可用内存降到约 8%,交换空间超过 9 GB,请求开始超时。模块 1 的试运行在我停止前只完成了 36 张中的 1 张。模型不是声音生成得差,而是在内存压力下无法完成长批次。
我改用 CPU 上的 CosyVoice 3,它完成了这批工作。参考音频必须不超过 30 秒,这在克隆声音时是一个切实的限制。我用的 30 秒样本是 24 kHz 单声道。
然后批次还是失败了,而这次的原因与模型无关。
那个看起来像模型问题的故障
一小时后,我只得到 258 组中的 4 组音频对。日志里先是重试,接着是本地 worker 池的 429,然后是孤儿任务。显而易见的结论是:本地引擎处理不了中文。
其实它可以。问题出在 Node 的 fetch。它的默认标头超时是五分钟。有些中文幻灯片需要五到七分钟才能合成。客户端在 worker 仍在生成时放弃了请求,然后重试,又为同一张幻灯片排入第二个任务。队列里塞满了已经没人等待的工作。
如果服务器还在处理你放弃的那个请求,重试就不是修复。
把语音合成改走超时时间更长的 Node http/https 传输后,模块 1 完成了 36/36。第一个完整的中文检查点达到 258/258 组,旁白总长 3 h 05 m 57 s。从第一个文件到最后一个文件,日历时间为 28 h 12 m 41 s。这个数字包含故障、暂停、加固和重试,不是一次干净的合成基准测试。最糟的一张幻灯片三次尝试共花了 37 分钟。
这就是本地推理的真实样子。模型不是一个能以演示速度把文本变成音频的魔法盒。它是一项有长尾的批处理任务,而工程工作就在那条长尾里。
机器决定了架构
16 GB Mac 不是 TTS 服务器。普通幻灯片 2–6 分钟完成;极端情况下要 13–23 分钟。最糟的一张三次尝试用了 37m 09s。流水线里每一项实质改进,都是为了让任务在这台慢机器上活下来,而不是在速度上打败托管服务。
最终保留下来的控制措施:
TtsEngine抽象层,让本地和托管旁白可以明确选择,而不是写死。这个抽象层在 10 月 19 日落地,本地选择功能则在 10 月 21 日加入。- 符合实际工作的传输超时,因为默认的五分钟假设比实际工作所需时间还短。
- 单一运行锁和 worker 锁、失败即停,以及重试前排空 worker,因为往一个繁忙引擎里重试并不叫重试。
- 可续跑的句子分块,因为把一张 30 分钟的幻灯片从零重跑,浪费的是这台机器唯一稀缺的资源。
- 安全替换,因为失败的新版本不能毁掉好的旧版本。
- 每个模块重置 worker,作为长时间运行中防止内存漂移的预防措施。
- 采样率归一化,因为有一次音频拼装把 24 kHz 和 44.1 kHz 的片段拼起来,产出了一条 63 分钟的音轨。在检查时长之前,它看起来像是一份没问题的文件。
caffeinate -i,在 10 月 24 日——第八天——才写进文档。此前我一直在一台随时可能睡着的 Mac 上跑好几个小时的批次。这是整条流水线里最不高级的一行,也可能是最重要的一行。我感觉自己像个新手。事实上,我就是新手。
重点不是这条流水线有多厉害,而是流水线本身就是产品。这八天都花在让一个缓慢的本地引擎像基础设施一样工作:失败即停,从中断处续跑,绝不用未经验证的新版本替换好版本,还要让机器保持清醒。
为什么没有粤语
10 月 21 日,我把粤语从这个项目里撤掉了。原因是证据,不是理念:这门课没有一条经过验证的本地粤语路径。VoxCPM2 不支持 yue。CosyVoice 列出了 yue,但我还没有针对这门课验证过。我本可以把一个猜测发布出去,或者用一个没人听过它说这种语言的声音。错误的粤语版比没有粤语版更糟。网站的文章仍保留 zh-HK 语言区域;课程是简体中文,不是繁体中文,也不是粤语。
即使模型尚未验证某种语言,流水线也能生成该语言的文件。最后的关卡,必须是由人来说「不行」。
258/258 不等于正确
第一个完整的中文检查点里,有 16 张幻灯片至少缺了一句话。幻灯片数量是对的,音频对也都存在,但仍有十六张幻灯片的旁白是错的。这些问题通过对照脚本检查文本覆盖率发现,再逐一修复。
这改变了验收门槛。「所有文件都存在」变成「所有文件都存在,旁白覆盖脚本,而且每个模块的样本都已听过」。完全对齐才是门槛;全绿的批次不是产品。
质量够用吗?
我听过的修复后样本,对这门课来说够用;完整验收是另一道门槛。这是负责人作出的判断,不是认证。
我用本地 ASR 转录音频,再与脚本对比。早期抽查的平均值是 0.903,完整中文检查点的平均值是 0.908。这些是归一化文本相似度分数,不是自然度或说话人相似度的衡量。最糟的一张——模块 4 第 8 张——得分 0.776;它听错了一个品牌名。模块 6 一张语码切换的幻灯片先是产出无意义内容,接着重复段落,然后截断;按句子分块后修复到 0.909。
声音清晰、前后一致,而且在我听来明显是我的声音。它没有 ElevenLabs 那种精致度。中文版和韩文版没有经过人类母语者逐行编校;我用 AI 编辑器审核,并听了样本。这个限制应该写在课程页面上,而不只写在博客里。
如果你的标准是「听起来像录音棚配音」,那就花钱请人。如果你的标准是「清晰、一致、是我的声音,而且够用来教学」,现在用本地方案已经能做到了。
它花了多少钱
ElevenLabs:英语和日语旁白,包括声音克隆,接近 $200。
本地:一台 Mac;这些运行没有额外的按字符计费 TTS 账单,也没有云 TTS 或 ASR 支出。第一个中文检查点用 28 小时的日历时间换来 3 小时音频,此外还有上表中的工程和 QA 时间。电费没有测量。
这 $200 买到的是一个音色、一套工作流,以及别人负责维持的正常运行时间。本地路径买到的是对托管旁白 API 更少的依赖、在本地处理声音,以及一张不会随每次重新渲染而增长的账单;代价则是为一个根本不在模型里的超时问题投入数天工程工作。翻译起草仍然使用云端 Claude;只有旁白和 ASR 留在 Mac 上。
那么,ElevenLabs 有多难被替代?
这里我必须谨慎,因为一台 Mac 上的一门课不是一个市场。
对这次工作负载来说,改变的是新增旁白成本。如果你有权克隆这个声音,工作是批处理,你能验证输出,也能容忍缓慢的长尾,那么本地推理就能免去再来一遍或再加一种语言的按字符成本。对为批处理流水线选择 API 的开发者来说,这是一个切实需要纳入考量的因素。
托管服务仍然提供的东西,更难替代:
- 质量上限。 我在本地测到的输出,不是我听过最好的托管服务声音。
- 延迟。 本地批次每张幻灯片要几分钟。一个实时应答的产品是另一道工程题。
- 运营可靠性。 我不得不调试五分钟的超时、内存上限、worker 排空和许可证。
- 声音权利与合规。 克隆是一个法律问题,不是一个功能。使用托管 API,并不会把客户确保自己拥有相关权利并已取得同意的责任转移出去。
- 广度。 CosyVoice 列出了我四种发布语言的支持;我验证了中文,韩文验证还在进行。一个全球产品需要多得多的语言。
诚实的结论比「开源杀死 ElevenLabs」窄得多。本地推理改变了我这套批量重新渲染工作负载的计算方式,但并没有取代那个在交互延迟、丰富的声音目录、合同约定支持或特定质量上限很重要时你会调用的产品。这些只是我从一个项目得出的判断,不是市场预测。
为什么这成了一个课程故事
我一开始不是想写语音模型,而是想把一门课做成更多语言版本,多到靠我一个人做不完。
中文版和正在制作的韩文版,用的都是这门课所教的同一套运营模式:调研、规划、搭流水线、验证输出,并保留必须由人负责的部分。一名广告运营人员,Claude 起草翻译,本地开放权重声音模型负责旁白,没有本地化供应商,也没有配音工作室。
我就是把这套运营模式中的一部分用在了自己的产品上。
如果你从事广告,正在想 AI 是威胁还是杠杆,这就是杠杆那一面。你不需要大团队。你需要的是品味、一份检查清单,以及调试最后一公里的意愿。
我会怎么跟另一位开发者说
- 什么时候试本地:你已获得克隆这个声音的授权,工作是批处理,你能验证输出,也能容忍缓慢的长尾。
- 什么时候为托管付费:你需要实时低延迟、丰富的声音目录、合同约定的正常运行时间,或特定的质量上限。
- 先检查权重许可证,再把付费产品建在一个「开源」应用上。AGPL-3.0 在其条件下允许商用;模型权重和声音权利是另外两个问题。
- 测试最糟的情况,而不是演示。最糟的情况不是更长的提示词,而是一张很长的语码切换幻灯片、一次传输超时和一个重试队列同时出现。
常见问题
16 GB Mac 能运行本地语音克隆吗?
可以。CosyVoice 3 在 CPU 上运行;VoxCPM2 在负载下需要的内存余量比这台机器能提供的更多。预期每张幻灯片要几分钟,不是几秒。
开源 TTS 足够用于付费课程吗?
我听过的修复后中文样本清晰、前后一致,但没有录音棚级的精致度。这是负责人作出的判断。
VoiceStudio 可以免费用于商业用途吗?
应用采用 AGPL-3.0,在其条件下允许商用。模型权重有各自的许可证;OmniVoice 的预训练权重不可商用。发布前要逐个检查引擎。
中文版和韩文版是 AI 翻译的吗?
是——Claude 起草,AI 编辑器审核,不是人类母语者审校。旁白和 ASR 使用 CosyVoice 3 与本地转录模型在本地运行;翻译起草使用了云端。
一门 258 张幻灯片的课程要多久?
中文检查点:3 小时 06 分音频用了 28 小时日历时间,包含故障和重试;之后还做了一轮 16 张幻灯片的修复。韩文检查点:3 小时 25 分音频用了 31 小时,包括 worker 卡住后的绕行处理和两张幻灯片的修复。
课程
课程是 AI-Native Media Operations——七个模块、十六个模板,旁白提供英语、日语、简体中文和韩语。