OpenVoice 即时语音克隆完整指南:用 5 秒参考音频三步跑通本地声音复刻 📅 发布时间:2026/9/1 20:51:58 👁 浏览次数: OpenVoice 即时语音克隆完整指南用 5 秒参考音频三步跑通本地声音复刻【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice手里只有一段 5 秒的人声录音却想让 TA开口朗读任意文本商业平台要么收费要么不开放接口。OpenVoice 是 MIT 与 MyShell 开源的即时语音克隆工具从短参考音频提取音色让该音色说出英文、中文乃至多语言文本且采用 MIT 许可证可免费商用。 项目速览OpenVoice 做的事输入一段参考音频加一段文字输出用参考人的音色读这段文字的语音。它把能力拆成三块——音色克隆准确复制参考音色、风格控制情感、口音、节奏、停顿、语调可独立调节、零样本跨语言克隆参考音频和生成文本的语言都无需出现在训练集里。适合谁想在自己项目里接入语音克隆的开发者和研究者。仓库直接提供了三个可运行的 Notebookdemo_part1.ipynb 风格控制、demo_part2.ipynb 跨语言、demo_part3.ipynb V2 多语言和一个本地 Gradio 网页。官方在 docs/QA.md 里明确说它是技术而非产品多数参考音频下效果不错但不保证每种声音都完美不适合拿来直接给终端用户当成品用。不适合什么如果你想要上传音频就出成品、零代码的完整应用它不是它交付的是模型和流水线工程化稳定性、兜底逻辑需要自己补。 完整跑通从零到生成第一条克隆语音第 1 步搭环境按官方 docs/USAGE.md 的 Linux 安装流程4 条命令装完依赖conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .装成功的标志是pip install -e .正常结束依赖版本在 setup.py 中写死如 numpy 1.22.0、gradio 3.48.0。若报版本冲突多半是 conda 环境里已有新版 numpy删掉重建成 Python 3.9 环境即可。第 2 步放模型文件V1 需要把官方 checkpoint 压缩包下载地址见 docs/USAGE.md解压到仓库根目录的checkpoints文件夹形成checkpoints/base_speakers/EN、checkpoints/base_speakers/ZH、checkpoints/converter三个子目录。漏掉任何一项后面加载模型都会直接报FileNotFoundError先确认目录结构再跑代码。第 3 步跑最小示例下面这段脚本完成初始化并从参考音频提取目标音色仓库自带 resources/example_reference.mp3 可直接用import torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda:0 if torch.cuda.is_available() else cpu base_speaker_tts BaseSpeakerTTS(checkpoints/base_speakers/EN/config.json, devicedevice) base_speaker_tts.load_ckpt(checkpoints/base_speakers/EN/checkpoint.pth) tone_color_converter ToneColorConverter(checkpoints/converter/config.json, devicedevice) tone_color_converter.load_ckpt(checkpoints/converter/checkpoint.pth) source_se torch.load(checkpoints/base_speakers/EN/en_default_se.pth).to(device) target_se, _ se_extractor.get_se(resources/example_reference.mp3, tone_color_converter, vadTrue)接着两步生成克隆语音先让基础 TTS 出底稿再交给转换器换音色base_speaker_tts.tts(This audio is generated by OpenVoice., outputs/tmp.wav, speakerdefault, languageEnglish, speed1.0) tone_color_converter.convert( audio_src_pathoutputs/tmp.wav, src_sesource_se, tgt_setarget_se, output_pathoutputs/output.wav, messageMyShell)效果验证播放outputs/output.wav音色应当与resources/example_reference.mp3中的人声一致但内容和语速由你给的文本决定。想更省事的话也可以直接起一个本地网页演示自动识别中/英文文本限 200 字符python -m openvoice_app --share浏览器打开生成的地址粘贴文本、上传参考音频、点 Send即可在线试听入口代码见 openvoice/openvoice_app.py。 为什么克隆出来的声音像但不全是音色与风格是两套模型OpenVoice 最有辨识度的设计是把音色和怎么说拆开BaseSpeakerTTS负责把文字变成语音管情感、口音、节奏ToneColorConverter只干一件事——把底稿里的音色换成参考人的音色。类比成修图前者是底片后者是把人脸换掉、但保留构图和光线的工具。这样做的好处很实际想换语言或换口音时不用碰克隆模型换一个对应语言的基础说话人模型即可仓库自带 EN/ZH 两套其他语言接任意 TTS 当底稿都行demo_part2.ipynb 用 OpenAI TTS 当底稿做了 11 种语言的演示。转换器内部用 IPA国际音标对齐特征做音色迁移保证换掉音色的同时韵律、停顿这些非音色信息原样保留。对比维度端到端 TTS 声音克隆OpenVoice 分离式方案换语言/换口音换模型或重新训练只替换基础说话人模型情感、节奏控制与音色耦合难单独调由基础模型参数独立控制使用门槛需针对说话人训练预训练转换器直接用5 秒音频起步参考音频要求通常需数分钟数秒到十几秒即可️ 进阶玩法换情感说话风格由tts的speaker参数控制英文基础模型可选friendly、cheerful、excited、sad、angry、terrified、shouting、whispering。注意切到非 default 风格时source_se要换成对应的en_style_se.pth否则音色转换会失准base_speaker_tts.tts(This audio is generated by OpenVoice., outputs/tmp.wav, speakerwhispering, languageEnglish, speed0.9) source_se torch.load(checkpoints/base_speakers/EN/en_style_se.pth).to(device)speed参数同样在这一步生效0.9 变慢、1.2 变快而convert里的tau默认 0.3控制音色转换强度数值越大向参考音色靠得越紧。另外convert默认会用 wavmark 往音频里嵌入message指定的不可听水印部署公开服务时建议保留也可以给ToneColorConverter(..., enable_watermarkFalse)关掉。V2 版本六种语言原生支持V2 音质更好且原生支持英、西、法、中、日、韩六种语言官方说明见 README。checkpoint 解压到checkpoints_v2并按 docs/USAGE.md 装好 MeloTTS 后即可把 MeloTTS 各语言模型当基础说话人完整写法见 demo_part3.ipynb核心就是生成底稿 换音色两步from melo.api import TTS model TTS(languageZH, devicedevice) speaker_id model.hps.data.spk2id[ZH] model.tts_to_file(你好这是一个 OpenVoice V2 示例。, speaker_id, outputs/tmp.wav) source_se torch.load(checkpoints_v2/base_speakers/ses/zh.pth, map_locationdevice) tone_color_converter.convert(audio_src_pathoutputs/tmp.wav, src_sesource_se, tgt_setarget_se, output_pathoutputs/v2_zh.wav)source_se不用自己提取V2 已按说话人预先算好存放在checkpoints_v2/base_speakers/ses/下文件名与 MeloTTS 的 speaker 键名小写对应。⚠️ 避坑速查现象克隆出来的口音、情感和参考人完全对不上。原因OpenVoice 只克隆音色tone color口音和情感由基础说话人模型决定不在转换范围内。解决换用目标口音/情感的基础说话人模型或自行训练并替换框架支持直接换入自己的基础模型。现象生成语音有杂音、质感差。原因参考音频带背景噪声、时长过短、多人同说、或含大段静音参考音频过短还会直接抛出input audio is too short。解决换 5~15 秒、单人、干净无长静音的录音同一说话人参考音频文件名尽量唯一避免processed目录里的旧切分结果造成混乱官方排查清单见 docs/QA.md。现象get_se时卡在 Silero VAD 模型下载并报错。原因se_extractor默认用 Silero VAD 切分音频首次运行需联网拉取模型网络不通则失败。解决手动下载 Silero VAD 仓库 zip 包解压到~/.cache/torch/hub/snakers4_silero-vad_master详见 openvoice/se_extractor.py 与官方 QA。现象纯 CPU 机器上调get_se(..., vadFalse)报 CUDA 相关错误。原因whisper 切分分支在代码里固定使用devicecuda float16。解决没有 GPU 就保持默认的vadTrueSilero VAD 可跑 CPU或配置好 GPU 环境。现象Gradio 网页里粘贴长文本被拒。原因本地演示对输入有限制文本不超过 200 字符语言仅支持中文和英文。解决正式使用走 Notebook 代码路径长文本可先自行分句再逐段合成BaseSpeakerTTS.tts内部本身就按句切分。收尾OpenVoice 的价值在于把音色从 TTS 里拆成了可替换的部件MIT 许可可免费商用5 秒音频即可克隆音色换语言只需换基础说话人模型仓库内 demo 和 Gradio 网页开箱即用。边界也要清楚它只复刻音色不复刻口音和情感V1 自带基础模型只有英/中两套其他语言要自己接 TTS 当底稿它是给开发者搭能力的技术底座不是拿来即用的成品。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考