OpenVoice
零样本语音克隆引擎,一段音频即可复刻任意说话人的音色与风格
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
零样本语音克隆引擎,一段音频即可复刻任意说话人的音色与风格
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:OpenVoice 项目 Logo
想象一下这样的场景:你在网上听到一段英语播客,主播的声音让你印象深刻——浑厚、有磁性、有独特的节奏感。现在你只需要把这段音频上传到某个工具,输入一段中文文字,点击生成——就能听到这位"外国主播"用地道的普通话复述你的内容,保留了他原本的音色、语调和说话风格。这听起来像是科幻,但实际上它已经是一个 GitHub 上拥有超过 36,000 颗星的开源项目——OpenVoice。
OpenVoice 由麻省理工学院(MIT)和 MyShell 团队联合开发,核心技术论文于 2023 年 12 月发布在 arXiv 上。参与贡献的主要作者包括 MIT 的 Zengyi Qin、清华大学的 Wenliang Zhao 和 Xumin Yu,以及 MyShell 的 Ethan Sun。
这个项目的起源解决了一个行业痛点:传统语音克隆需要大量目标说话人的录音数据(通常数小时甚至更多),并且克隆一个新声音的过程往往需要数天时间。而 OpenVoice 真正做到了"即时"——用户只需提供一段十几秒的参考音频,就能克隆出该说话人的音色,并用它生成多语言语音。这在 2023 年初是一个技术突破。
从 2023 年 5 月起,OpenVoice 的技术就开始在 MyShell 平台上提供服务。截至 2023 年 11 月,该技术已经被用户使用了数千万次,并伴随着 MyShell 平台的用户爆发式增长而广泛传播。这种从真实生产环境验证过的技术,再反哺开源社区的做法,本身就是 AI 项目中一个值得关注的模式。
如果把语音克隆比作"复制声音",那么 OpenVoice 的技术创新在于它拆分了解构了"声音"的组成。研究者在论文中将声音分解为两个独立维度:
第一维度是音色(Tone Color),也就是每个人声音的"身份证"——独特的高低、共鸣特点、声纹特征。OpenVoice 通过一个专门的 Tone Color Converter(音色转换器) 从参考音频中提取说话人的音色向量(Speaker Embedding),然后将其"注入"到目标语音的生成过程中。这个转换器不需要大量目标说话人的训练数据,是零样本(Zero-Shot)的核心。
第二维度是语言内容与风格,由一个基础说话人 TTS 模型负责。这个基础模型决定了输出语音的语言、口音、情感、停顿、节奏等风格参数。OpenVoice V1 使用了改进后的 VITS/VITS2 架构作为基础 TTS,而 V2 则进一步升级了训练策略,大幅提升了音频质量。
这种"音色 + 风格"的解耦设计带来了一个重要能力——跨语言克隆。参考音频可以是英语,生成的内容可以是中文或日语,模型不需要在训练集中同时见过这两种语言。这是传统多说话人 TTS 系统无法做到的。
在架构实现上,代码库结构清晰,主要模块包括:
models.py:核心模型定义,SynthesizerTrn 类实现 VITS 变压器架构text/text_to_sequence:文本到音素序列的转换,支持中英文文本清理mel_processing.py:梅尔频谱图的计算与处理se_extractor.py:说话人嵌入(Speaker Embedding)提取,使用 Silero-VAD 进行语音活动检测api.py:BaseSpeakerTTS 和 ToneColorConverter 两个核心 API 类的封装openvoice_app.py:Gradio Web UI 的实现,提供交互式语音克隆体验2024 年 4 月,团队发布了 OpenVoice V2,带来了三方面的关键改进:
音频质量显著提升:V2 采用了全新的训练策略,在保持即时克隆能力的同时,大幅提高了生成语音的自然度和清晰度。用户反馈 V2 生成的音频在音色保留和自然流畅度上都有明显进步。
原生多语言支持扩展:V1 主要聚焦英语和中文,V2 则原生支持英语、西班牙语、法语、中文、日语和韩语等六种语言,覆盖了全球使用人口最多的语言体系。
许可证变更:从 V2 开始,项目明确采用 MIT 许可证,完全免费可商用,这对于想在产品中集成语音克隆功能的开发者来说是一个重要利好。在此之前,V1 的商业使用条款存在一些模糊地带,V2 的明确授权消除了这一障碍。
对于普通用户,OpenVoice 提供了两种使用方式:
方式一:Gradio Web UI。运行 python -m openvoice_app --share 即可启动一个本地网页服务。用户上传参考音频,输入要生成的文本,选择语言,Gradio 界面会实时返回生成的音频片段。这种方式适合快速体验和验证效果。
方式二:Python API 编程调用。对于需要集成到生产系统的开发者,api.py 中的 BaseSpeakerTTS 和 ToneColorConverter 类提供了完整的 Python 接口。典型的使用流程是:加载基础说话人 TTS 模型 → 提取参考音频的音色向量 → 使用 ToneColorConverter 将音色迁移到生成的音频上。
但需要注意,上手 OpenVoice 存在一定门槛。首先,必须下载预训练模型权重——V1 需要从 AWS S3 下载约数 GB 的 checkpoint 文件,V2 则额外依赖 MeloTTS 基础模型和 UniDic 词典。其次,需要 GPU 支持——没有 NVIDIA GPU 的用户在本地运行会很吃力。GitHub Issue 中有大量关于安装问题(尤其是 Silero-VAD 下载失败)的讨论,反映出环境配置的复杂性。
此外,OpenVoice 团队也坦诚指出,这个项目是"技术,不是产品"。生成音频的质量高度依赖参考音频的质量——背景噪音、多人混音、过短的音频都会严重影响效果。QA 文档中专门提到:"OpenVoice 只克隆音色,不克隆口音或情感"——如果用户期望听到和参考音频一模一样的情绪和口音,这需要另行配置对应语言和情感风格的基础说话人模型。
在语音克隆领域,OpenVoice 的出现填补了"开源、即时、商业可用"三者之间的空白。它的主要竞争对手包括 Coqui TTS(定位相似但技术路线不同)、XTTS-v2(商业闭源)、VALLE-X(学术研究导向)。在 MyShell 团队提供的对比 demo 中,OpenVoice 在音色相似度和自然度上优于 XTTS-v2 和 VALLE-X。
从技术演进的角度看,OpenVoice 代表了一个重要趋势:将复杂的多说话人 TTS 系统解耦为基础能力 + 个性化适配,从而实现即时、零样本的个性化语音合成。这种架构思想已经被后续多个开源项目借鉴,比如 MyShell 自家的 MeloTTS 就在 OpenVoice 的基础上进一步简化了模型结构,提升了推理速度。
对于 AI 开发者和 AI 爱好者来说,OpenVoice 的价值不仅在于它能做什么,更在于它示范了如何将一个 SOTA 研究成果工程化落地——提供 API、提供 demo、解决安装问题、推动社区贡献(Windows 安装指南、Docker 指南)。这种"研究-产品-开源"的闭环,是当前 AI 开源生态中非常值得关注的模式。
| 项目 | 详情 |
|---|---|
| 主要语言 | Python |
| 核心框架 | PyTorch(VITS/VITS2 架构) |
| 依赖库 | Gradio(Web UI)、librosa、faster-whisper、wavmark |
| 许可协议 | MIT(V1 + V2 均免费商用) |
| 最低硬件要求 | NVIDIA GPU + 6GB VRAM |
| 预训练模型 | V1 checkpoint(约数 GB)+ V2 checkpoint |
| 支持语言 | V1:英/中;V2:英/西/法/中/日/韩 |
| GitHub 星标 | 36,000+ |
| 最新更新 | 2025年4月 |
OpenVoice 是一个正在活跃开发中的项目,以上分析基于 2025 年 5 月采集的代码库状态。