news 2026/9/3 14:17:16

OpenVoice 语音克隆本地部署指南:一段参考音频,克隆出能跨语言说话的音色

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenVoice 语音克隆本地部署指南:一段参考音频,克隆出能跨语言说话的音色

OpenVoice 语音克隆本地部署指南:一段参考音频,克隆出能跨语言说话的音色

【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice

OpenVoice 是 MIT 与 MyShell 开源的即时语音克隆项目,核心能力是从 3~5 秒参考音频中提取音色,并让该音色用其他语言朗读文本。按本指南完成本地部署后,你可以直接生成一段带自己(或他人)音色的中文/英文语音文件,全程不依赖在线服务,音频不离开本机。

先搞懂原理:它到底克隆了什么

OpenVoice 的生成链路是"两步拼接",理解这一点后面排查问题会容易很多:

  1. 基础说话人 TTS(Base Speaker):负责把文本读成带节奏、语调的语音,口音和情感也由它决定。
  2. 音色转换器(Tone Color Converter):把参考音频中的音色特征"搬"到上一步生成的语音上。

💡 关键结论:它只克隆音色,不克隆口音和情感。官方 docs/QA.md 明确说明,输出语音的口音和情感来自基础 TTS 模型——所以"想要更带情感的输出"不是调参数能解决的,而是换带该风格的基础说话人模型(V1 里就内置了whispering这种风格型说话人)。

环境准备:安装依赖和拉取模型文件

官方安装路径写得很短,照做即可(依据:docs/USAGE.md 的 Linux Install 一节):

conda create -n openvoice python=3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .

依赖版本被 requirements.txt 锁死(如librosa==0.9.1gradio==3.48.0faster-whisper==0.9.0),conda 独立环境能避免和已有环境冲突,推荐 Python 3.9,因为官方只验证了这个版本。

模型权重需要从官方 S3 链接下载(V1 与 V2 是两个不同的压缩包),解压目录名不能错:

版本解压目录内含内容
V1checkpoints/converter/base_speakers/EN/base_speakers/ZH/
V2checkpoints_v2/converter/base_speakers/ses/

⚠️ 如果机器访问不了模型托管源,可以先在能联网的机器上下载再拷入。首次运行se_extractor.get_se时还会自动拉取 Silero VAD 模型,同样受网络影响,失败时按 docs/QA.md 的说明手动下载 zip 放到~/.cache/torch/hub/

跑通最小链路:V1 生成第一句克隆语音

V1 的完整调用流程就是 demo_part1.ipynb 里的这几行,核心是"先提音色,再生成,最后转换":

import torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device = "cuda:0" if torch.cuda.is_available() else "cpu" # 1. 加载基础 TTS 和音色转换器 base_tts = BaseSpeakerTTS('checkpoints/base_speakers/EN/config.json', device=device) base_tts.load_ckpt('checkpoints/base_speakers/EN/checkpoint.pth') converter = ToneColorConverter('checkpoints/converter/config.json', device=device) converter.load_ckpt('checkpoints/converter/checkpoint.pth') # 2. 从参考音频提取音色(VAD 自动切分静音) ref_se, _ = se_extractor.get_se('resources/example_reference.mp3', converter, target_dir='processed', vad=True) # 3. 基础 TTS 生成中间语音,再用转换器换成参考音色 base_tts.tts("This audio is generated by OpenVoice.", 'outputs/tmp.wav', speaker='default', language='English', speed=1.0) converter.convert(audio_src_path='outputs/tmp.wav', src_se=torch.load('checkpoints/base_speakers/EN/en_default_se.pth'), tgt_se=ref_se, output_path='outputs/cloned.wav', message="@MyShell")

参考音频放在哪里都行,仓库自带resources/example_reference.mp3可以直接当测试素材。参考音频要求(依据 QA 文档的排查清单):无背景噪音、单人说话、不太短、没有长时间空白;长度上几秒到几十秒均可,官方 notebook 用 VAD 按约 10 秒切片处理。

✅ 验证点:outputs/cloned.wav的音色接近参考音频、内容是你写的文本。如果内容对但音色不像,直接进入下一节排查。

克隆效果不像的排查顺序

按命中率从高到低依次检查,这四条来自官方 docs/QA.md:

  1. 参考音频是否混有背景噪音或其他人声?
  2. 参考音频是否过短,或包含大段静音?
  3. 是否用了和上次相同文件名的参考音频,但旧processed/缓存没删?这是官方点名的坑:get_se的缓存目录按音频名组织,旧缓存会被直接复用。
  4. 输出"像但不像"往往不是 bug:如前文所说,口音/情感不由音色转换器决定,这是架构设计而非效果缺陷。

💡 想微调相似度,convert()有个tau参数(默认 0.3),它是 Flow 匹配阶段的温度系数,调大输出会更平滑地贴向目标音色;具体取舍建议以多组对照试听为准,官方文档未给出推荐区间。

进阶:V2 跨语言克隆和 Gradio 界面

两条延伸路线可以按需选择:

  • 要更多语言 → 用 V2。V2 需要额外安装 MeloTTS 作为基础 TTS(pip install git+https://github.com/myshell-ai/MeloTTS.git,再跑python -m unidic download),原生支持英、西、法、中、日、韩六种语言,流程见 demo_part3.ipynb:先用 MeloTTS 生成文本语音,再走同一个ToneColorConverter.convert换音色。跨语言克隆时注意:目标语言必须有对应的基础说话人模型覆盖,这是架构约束。
  • 要网页界面 → 跑 Gradio demo。V1 内置了本地界面,一条命令启动(依据 USAGE 文档):
python -m openvoice_app --share

启动后按提示访问地址即可,界面自动检测输入文本是中文还是英文并路由到对应基础说话人。⚠️ 注意官方建议:Gradio demo 遇到问题时先回看 demo_part1/part2 和 QA 文档,官方自己声明它"极简",参数暴露得比 notebook 少。

适用边界与下一步

OpenVoice 是 MIT 协议的技术框架而非成品应用(官方原话:Technology, not a Product),个别音色克隆不稳定属正常现象,生产化需要自己补工程。建议下一步从 demo_part2.ipynb 入手试跨语言场景,或把 V2 的多语言流程封装成自己的服务接口;模型下载链接与版本差异以 docs/USAGE.md 为准。

【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 9:35:49

Kronos金融K线预测三步跑起来:新手上手指南

Kronos金融K线预测三步跑起来:新手上手指南 【免费下载链接】Kronos Kronos: A Foundation Model for the Language of Financial Markets 项目地址: https://gitcode.com/GitHub_Trending/kronos14/Kronos Kronos 是一个开源的金融K线预测基础模型&#xff…

作者头像 李华
网站建设 2026/9/1 9:34:20

2024秋招京东测试岗笔试复盘:题型、考点与答题策略

2024年秋招京东测试岗第2批笔试刚结束,好几个学弟学妹就来跟我吐槽:题量比想象中大,测试理论考得挺细,编程题倒是不难但时间紧,最后差点没写完。说实话,这跟我当年参加京东测试岗笔试的情况很像&#xff0c…

作者头像 李华
网站建设 2026/9/1 9:34:11

小红书服饰行业数据分析全流程:从爬虫到可视化实战

简介:这份资源围绕2022年4月至5月小红书服饰行业数据,提供一套完整的Python数据分析项目,适合数据分析初学者、计算机专业学生及毕业设计选题者。压缩包共9个文件,包含2个Jupyter Notebook源码、6个Excel数据表和1个交互式HTML可视…

作者头像 李华
网站建设 2026/9/1 9:33:45

6GB显存跑通AI单图生成3D:完整工作流与实践

在游戏研发里,一个 3D 角色从概念图到引擎中可运行的资产,通常要经过建模、高模雕刻、拓扑、UV、烘焙、贴图、骨骼绑定和动画初调。传统流程下,这一串工作最短也要一到两周,周期紧的时候甚至成为项目瓶颈。AI 3D 单图生成技术出现…

作者头像 李华
网站建设 2026/9/2 13:54:26

10分钟语音数据训练你的AI音色:RVC WebUI完整上手指南

10分钟语音数据训练你的AI音色&#xff1a;RVC WebUI完整上手指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Convers…

作者头像 李华