几秒音频克隆你的音色:OpenVoice 语音克隆本地部署完整实战

发布时间:2026/9/1 13:24:49
几秒音频克隆你的音色:OpenVoice 语音克隆本地部署完整实战 几秒音频克隆你的音色OpenVoice 语音克隆本地部署完整实战【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice想让视频、播客、游戏角色都用上自己的声音却被闭源 API 的收费和账号限制卡住OpenVoice 是 MIT 和 MyShell 开源的即时语音克隆方案给它几秒参考音频就能复制出你的音色再用这个音色说中英文、换情感风格MIT 协议免费商用。这篇带你从零在本地跑通它再上手两个最实用的进阶玩法。一分钟认识 OpenVoice这节给你一份项目底细读完你就知道它适不适合你。定位音频基础模型级的即时语音克隆技术方案不是开箱即用的产品目标用户是开发者和研究者核心能力精准复制参考音频的音色tone color并支持多语言、多口音输出风格控制对情感、口音、节奏、停顿、语调等做细粒度控制内置耳语、兴奋、悲伤等多种说话风格零样本跨语言参考语音和目标语音的语言都不需要在训练集里就能跨语言克隆V2 升级音质更好原生支持英语、西班牙语、法语、中文、日语、韩语六种语言许可证MITV1 和 V2 均免费商用硬件门槛建议 NVIDIA GPU无 GPU 时模型可回退 CPU但部分切分流程直接要求 GPU代码入口核心推理类在 openvoice/api.py即 BaseSpeakerTTS 和 ToneColorConverter 两个主类它是怎么做到的这节用大白话讲清原理你之后调参、排查问题都会顺很多。OpenVoice 把语音克隆拆成两步像画家画内容、调色师定配色。第一步由 BaseSpeakerTTS基础说话人 TTS 模型负责把文本合成语音画内容口音、情感、节奏都由它决定第二步由 ToneColorConverter音色转换器定配色它先从你的参考音频里提取一个代表声音长相的向量——术语叫音色嵌入即把一个人的嗓音压缩成一串数字——再把这份音色覆盖到 TTS 生成的语音上。说白了转换器只换音色不改内容。这也解释了它为什么能跨语言文本内容交给 TTS音色交给转换器两者互不干扰所以用中文 TTS 合成的语音也能直接换皮成任何人的声音。从零跑通这节给你最短安装路径和一个最小示例跟着敲就能听到第一句克隆音频。本地部署最快路径用 conda 建一个 Python 3.9 环境克隆仓库并安装依赖conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .接着打开 docs/USAGE.md按里面的官方链接下载 V1 检查点压缩包解压到checkpoints目录用 V2 则解压到checkpoints_v2并额外安装 MeloTTS。装好后一条命令启动 Gradio 界面python -m openvoice_app看到什么界面说明成功了浏览器会自动打开标题为 MyShell OpenVoice 的页面。在 Text Prompt 输入一句话Style 选 defaultReference Audio 上传一段 10 秒左右的干净录音勾选 Agree 后点 Send——Synthesised Audio 区域出现可播放的音频且音色贴近你的参考录音就算跑通了。不想开网页用最小代码示例想在自己的代码里调用demo_part1.ipynb 就是官方最小示例核心四步import torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda if torch.cuda.is_available() else cpu base_tts BaseSpeakerTTS(checkpoints/base_speakers/EN/config.json, devicedevice) base_tts.load_ckpt(checkpoints/base_speakers/EN/checkpoint.pth) source_se torch.load(checkpoints/base_speakers/EN/en_default_se.pth).to(device) converter ToneColorConverter(checkpoints/converter/config.json, devicedevice) converter.load_ckpt(checkpoints/converter/checkpoint.pth) target_se, name se_extractor.get_se(resources/example_reference.mp3, converter, vadTrue) base_tts.tts(Hello, this is OpenVoice., outputs/tmp.wav, speakerdefault, languageEnglish) converter.convert(outputs/tmp.wav, source_se, target_se, output_pathoutputs/out.wav)运行后outputs/out.wav能正常播放、音色贴近参考音频说明代码级调用也通了。进阶玩法这节挑两个最有价值的进阶场景每个都按场景→做法→效果给你完整路径。玩法一同一音色换风格说话场景你想让克隆出的声音既能正常播报也能耳语、发怒、装开心。做法OpenVoice 的英文基础说话人内置了 default、whispering、cheerful、terrified、angry、sad、friendly 等多种风格说话人在 Gradio 的 Style 下拉框直接选或在代码里把speaker参数换成对应风格完整流程见 demo_part1.ipynb。效果音色始终是你的语气情绪按所选风格走做有声书和配音时一句话就能切换情绪。玩法二零样本跨语言克隆场景你只有一段中文录音却想让你用英文说话反过来也行。做法分别加载checkpoints/base_speakers/EN和checkpoints/base_speakers/ZH两套基础说话人用同一份 target_se 音色嵌入先让目标语言的 TTS 合成语音再用 ToneColorConverter 的 convert 方法覆盖音色demo_part2.ipynb 里有现成代码。效果即使目标语言不在训练集里输出语音也能基本保持原说话人的音色实现零样本跨语言。踩坑自救这节把官方 QA 里最常见的真问题整理成表遇到问题直接对号入座。现象原因处理运行时提示 Silero 模型下载失败openvoice/se_extractor.py 的 get_vad_segments 需联网拉取 silero-vad 模型断网就失败按 docs/QA.md 手动下载该模型压缩包解压到 ~/.cache/torch/hub/snakers4_silero-vad_master报错 input audio is too short参考音频太短VAD 切不出可用语音段换一段 10 秒以上、语句完整的干净录音生成音频有噪声、音质差参考音频带背景噪声、过短、多人说话或含长段空白换清晰单人录音若参考文件与之前重名先删掉 processed 缓存目录再重新提取口音、情绪不像参考人OpenVoice 只克隆音色口音和情绪由基础说话人 TTS 决定换一个对应口音/情绪的基础说话人模型或选用合适风格无 GPU 时跑得极慢或报 CUDA 错误模型默认优先 cudase_extractor 的 whisper 切分分支直接要求 GPU配 NVIDIA GPU 运行纯 CPU 环境保持 vadTrue绕开 whisper 分支接下来可以玩什么这节给你几条延伸路线都带仓库内真实路径照着点就能深入。demo_part3.ipynbOpenVoice V2 示例配合 MeloTTS 原生合成英语、中文、日语等六种语言音质优于 V1docs/USAGE.md官方使用说明收录 Windows、Docker 等社区贡献的安装指南openvoice/text/文本清洗与音标预处理模块想了解多语言文本如何进入模型就从这里看起openvoice/api.py两个核心类所在文件想接入自己训练的基础说话人替换这里的 BaseSpeakerTTS 即可OpenVoice 把换音色拆成了 TTS 生成与音色覆盖两步你只需把参考音频质量管好剩下的交给它。现在就按从零跑通那节装好环境用你自己的一段 10 秒录音克隆出属于你的第一句声音。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考