OpenVoice 完整语音克隆实战指南:用15秒音频样本克隆音色
OpenVoice 完整语音克隆实战指南用15秒音频样本克隆音色【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoiceOpenVoice 是 MIT 与 MyShell 开源的语音克隆模型你只需 15 秒左右的参考音频就能把目标说话人的音色搬到任意文本上并输出多语言语音。读完这篇指南你会在本地跑通一套完整的语音克隆流水线并掌握跨语言克隆、风格控制和一键 Web 演示三种玩法。项目速览30秒看懂 OpenVoice 能干什么OpenVoice 把说话人是谁音色和说什么、怎么说的内容、情绪、语速拆成了两个独立模块基础说话人 TTS 负责合成语音内容音色转换器负责把任意语音的音色替换成参考音频的音色。这种设计让它可以克隆任何语言的参考语音——参考音频说中文也行说西班牙语也行最终输出什么语言由 TTS 端决定。V1 和 V2 均基于 MIT License可免费商用。功能说明即时音色克隆15 秒参考音频即可提取音色向量SE无需训练多语言合成V2 原生支持英语、西班牙语、法语、中文、日语、韩语 6 种语言风格与语速控制通过speaker参数切换 default/whispering 等风格speed参数调节语速跨语言零样本克隆参考语音语言与目标语言可以完全不同无需在训练集里见过该语言内置数字水印输出的 WAV 默认用 wavmark 写入文字水印如MyShell工作原理语音克隆背后的配音机制你可以把整个流程想象成一部电影的配音原班演员基础 TTS先把台词完整演一遍录音室里的一切台词、节奏、情绪都定了然后换一位配音演员参考说话人把声音覆录上去——嘴型内容不变声音换成新人的。OpenVoice 干的就是这件事而配音演员的身份档案是一个叫SE 向量Speaker Embedding的音色编码它相当于一个人的声音指纹从参考音频里一次性提取出来之后克隆谁就带上谁的指纹。具体到代码里一次克隆分 4 步输入待朗读的文本 一段参考音频如仓库自带的resources/example_reference.mp3。TTS 合成BaseSpeakerTTS.tts()把文本切句、转成音素序列用 VITS 风格模型合成一段中性音色语音speed参数在此控制语速内部用length_scale 1.0/speed实现。音色提取se_extractor.get_se()先用 Silero VAD 把参考音频切成约 10 秒的语音片段转成 mel 频谱后送入参考编码器ref_enc多段向量取平均得到 SE。音色转换ToneColorConverter.convert()在 IPA国际音标对齐的框架内把 TTS 语音的音色替换为目标 SE融合强度由tau控制默认 0.3再写入水印、存盘。图1OpenVoice 语音克隆框架展示文本、风格与音色三路的对齐流程一句话总结内容管说什么SE 向量管谁在说IPA 对齐负责让两者跨语言时也对得上。快速上手从安装到克隆的最短路径OpenVoice 最低配置要求配置项最低要求推荐配置系统Linux官方安装文档面向 LinuxUbuntu 20.04Python3.9setup.py中要求3.93.9 稳定版计算设备CPU 可跑速度较慢NVIDIA GPUse_extractor里的 Whisper 按 CUDA float16 配置磁盘代码依赖 检查点预留 5GBSSD 加速模型加载OpenVoice 安装步骤建环境并装代码V1、V2 完全相同conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .下载检查点V1 对应checkpoints_1226.zip解压到checkpoints/目录V2 对应checkpoints_v2_0417.zip解压到checkpoints_v2/。下载链接见仓库内 docs/USAGE.md。用 V2 还需额外安装 MeloTTS 并执行python -m unidic download两条命令均在 docs/USAGE.md 的 OpenVoice V2 章节。核心类都在 openvoice/api.pyBaseSpeakerTTS、ToneColorConverter音色提取逻辑在 openvoice/se_extractor.py。 提示建议先跑 V1 把流程跑通再切 V2。V1 的英文基础模型在checkpoints/base_speakers/EN/自带en_default_se.pth源音色文件示例代码不用额外准备。一次跑通的最小示例下面这段按 demo_part1.ipynb 精简而来保存为clone.py运行产出cloned.wavimport torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda:0 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) conv ToneColorConverter(checkpoints/converter/config.json, devicedevice) conv.load_ckpt(checkpoints/converter/checkpoint.pth) target_se, _ se_extractor.get_se(resources/example_reference.mp3, conv, vadTrue) base_tts.tts(This audio is generated by OpenVoice., tmp.wav, speakerdefault, languageEnglish) conv.convert(tmp.wav, torch.load(checkpoints/base_speakers/EN/en_default_se.pth).to(device), target_se, output_pathcloned.wav, messageMyShell) 提示首次运行get_se会自动下载 Silero VAD 模型网络不通时参考下方 FAQ 手动处理。实战玩法三种把克隆用起来的方式玩法一跨语言克隆——让英语声音说中文适用场景参考音频是英语母语者但你需要中文配音如给中文内容配上自己的英语音色。具体做法克隆本身与语言无关只需换基础 TTS 的语言配置。把上面的checkpoints/base_speakers/EN换成checkpoints/base_speakers/ZHlanguageEnglish改成languageChinese文本换成中文src_se换成zh_default_se.pth其余流程原样保留详见仓库中的 demo_part2 脚本。预期效果输出的中文语音保留参考人的音色但口音由中文基础模型决定OpenVoice 只克隆音色不克隆口音。V2 用户则直接用 MeloTTS 作为基础模型英语、西语、法语、中文、日语、韩语 6 种语言开箱即用见 demo_part3 脚本。图2语音克隆工作流示意展示参考音频到多语言克隆输出的完整步骤 提示想要更低延迟或更稳的效果参考音频选 15 秒左右、无背景噪音的单人录音超过 20 秒的长音频 VAD 会自动切片后再平均不必担心。玩法二风格控制——耳语、变速都靠参数适用场景有声书、播客、广告配音需要同一个人换口气正常播报、耳语强调、慢速讲解。具体做法风格由基础模型自带的 speaker 决定语速由speed决定。例如生成耳语版base_tts.tts(text, src_path, speakerwhispering, languageEnglish, speed0.9)然后照常用conv.convert()换上目标音色。同一套流程跑一遍即可得到不同风格的成片。预期效果whispering音色明显更轻更近speed0.9比正常慢约 10%内容语义不变只有声音风格变化克隆音色全程保持。图3TTS 风格选择指南展示不同说话风格与参数的操作入口 提示convert()的message参数控制写入的水印文本正式项目建议固定为可追溯的标识如团队名tau0.3是音色融合强度值越大目标音色越压过源音色。玩法三一条命令开 Web 演示适用场景想给同事快速演示或不想写脚本。具体做法在项目根目录运行python -m openvoice_app --share仓库自带的 Gradio 界面会在浏览器打开上传参考音频、输入文本即可克隆。预期效果几秒内看到完整流程的可视化界面适合评估音色效果后再决定是否接入代码流水线。避坑与 FAQOpenVoice 语音克隆常见问题❓症状get_vad_segments报下载失败日志里有 Downloading: …snakers4/silero-vad/zipball/master结论不是代码问题是你这台机器访问不了那个下载地址。解决手动下载该 zip 包解压到~/.cache/torch/hub/snakers4_silero-vad_master目录后重跑即可。不同版本 Silero 的处理方式见 docs/QA.md。❓症状AssertionError: input audio is too short结论参考音频经 VAD 静音剔除后有效语音时长不足 10 秒代码按 10 秒一段切分切不出任何一段就报错。解决换一段 15 秒以上、人声占比高的录音如果音频里混了大段静音或多人说话先用剪辑工具只保留单人语音段。❓症状克隆出来的语音口音/情绪和参考人完全不像结论这是设计如此不是 bug。OpenVoice 只克隆音色tone color口音和情绪由基础说话人 TTS 决定。想要带伦敦腔的输出就要挂一个伦敦腔的基础模型——项目允许你替换自带的基础说话人接入自己的 TTS。❓症状生成语音音质差、有杂音结论九成是参考音频不干净。按 docs/QA.md 的清单逐项排查是否有背景噪音、是否太短、是否多人同讲、是否有长静音。另有一个隐蔽坑get_se会用文件名音频内容哈希在processed/目录缓存结果如果你重用了同名音频文件请删掉processed/文件夹再跑。延伸资源openvoice/api.pyBaseSpeakerTTS、ToneColorConverter两个核心类的全部实现含水印写入逻辑openvoice/se_extractor.pyVAD 切片、Whisper 切分与 SE 向量提取openvoice/text/多语言文本清洗与音素符号表docs/USAGE.md官方安装文档含 V1/V2 检查点下载链接与 Windows、Docker 社区方案docs/QA.md官方问答音色差异、语言支持、Silero 报错都在里面先把 V1 的clone.py跑通再把参考音频换成你自己的声音——5 分钟后你就有了第一个可商用的克隆音色流水线。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →