发布时间:2026/9/1 14:22:18
OpenVoice 语音克隆完整指南:4 步跑通本地部署,让克隆的声音说多种语言 OpenVoice 语音克隆完整指南4 步跑通本地部署让克隆的声音说多种语言【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice想让旁白用女儿的声音手头却只有她 10 秒的录音又不想专门训练模型。OpenVoice 是 MIT 与 MyShell 开源的即时语音克隆工具几秒参考音频就能复制音色让这声音说多种语言。本文按原理、本地部署、高频场景带你跑通。 速览OpenVoice 是什么项目速览定位一个音色转换器不重训 TTS只把现有语音的音色换成参考人的V1 版本支持风格控制与跨语言克隆自带英文、中文基础说话人其他语言需自备V2 版本音质更好原生支持英、西、法、中、日、韩六种语言搭配 MeloTTS 使用快速体验本地网页python -m openvoice_app --share许可证MIT商业和研究都免费 原理音色和风格为什么要分开要解决的问题传统做法是给每个人单独训练一个 TTS 模型成本高、周期长。你真正想要的往往只是用这个人的音色而情感、口音、语速这些还是想自己控制。关键设计OpenVoice 把语音生成拆成两个角色。基础说话人 TTS 模型决定怎么说话——情感、口音、节奏都由它管音色转换器只负责用谁的声音说话——先把参考音频编码成一个音色向量再解码基础说话人输出的音频时只替换其中的音色其余特征原样保留。整个过程按 IPA国际音标可以理解为语音的音标字典做对齐所以换语言时音色也不会跑偏。带来的效果一段参考音频可以在多种语言间复用想换情感或口音只需换一个基础说话人模型音色转换器不用重训。OpenVoice 的 IPA 对齐流程左侧基础说话人 TTS 负责风格右侧编码器-流匹配-解码器只替换音色 从零跑通4 步装好并克隆第一段声音第 1 步建好环境并安装项目做什么创建 Python 3.9 环境装好依赖。项目要求 Python ≥3.9依赖在 setup.py 中锁定版本。conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .验证成功运行python -c import openvoice; print(ok)能打印ok即可。第 2 步放好模型文件做什么下载检查点模型权重包。V1 解到项目根目录的checkpoints/V2 解到checkpoints_v2/。下载入口见官方使用文档 docs/USAGE.md。用 V2 的话还需按该文档安装 MeloTTS并执行python -m unidic download验证成功ls checkpoints能看到base_speakers和converter两个目录。第 3 步初始化模型提取音色做什么加载基础说话人和音色转换器从参考音频提取目标音色向量。仓库自带示例音频可直接试用真实录音时请给每个说话人起唯一文件名缓存按文件名区分。import torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda:0 if torch.cuda.is_available() else cpu ckpt_base, ckpt_converter checkpoints/base_speakers/EN, checkpoints/converter base_speaker_tts BaseSpeakerTTS(f{ckpt_base}/config.json, devicedevice) base_speaker_tts.load_ckpt(f{ckpt_base}/checkpoint.pth) tone_color_converter ToneColorConverter(f{ckpt_converter}/config.json, devicedevice) tone_color_converter.load_ckpt(f{ckpt_converter}/checkpoint.pth) target_se, _ se_extractor.get_se(resources/example_reference.mp3, tone_color_converter, vadTrue)验证成功processed/下出现以文件名命名的目录里面有se.pth音色向量缓存。这里vadTrue表示用 VAD 切分音频VAD 是自动判断音频里哪一段有人说话的工具能把长录音切成短段再提取音色。第 4 步生成第一段克隆音频做什么先让基础说话人合成一段语音再交给音色转换器换成参考人的音色。source_se torch.load(f{ckpt_base}/en_default_se.pth).to(device) base_speaker_tts.tts(This audio is generated by OpenVoice., outputs/tmp.wav, speakerdefault, languageEnglish, speed1.0) tone_color_converter.convert(outputs/tmp.wav, src_sesource_se, tgt_setarget_se, output_pathoutputs/output_en_default.wav)验证成功outputs/里出现tmp.wav基础音色和output_en_default.wav克隆结果。两个文件对比播放第二句应是参考人的音色。完整示例在 demo_part1.ipynb。场景实战三个高频用法场景一如何调整情感、语速和说话风格风格由基础说话人控制。英文基础说话人支持 8 种风格friendly、cheerful、excited、sad、angry、terrified、shouting、whispering换风格时要同步换对应的音色向量en_style_se.pth。speed参数可调语速0.9 会慢一点。source_se torch.load(f{ckpt_base}/en_style_se.pth).to(device) base_speaker_tts.tts(text, outputs/tmp.wav, speakerwhispering, languageEnglish, speed0.9) tone_color_converter.convert(outputs/tmp.wav, src_sesource_se, tgt_setarget_se, output_pathoutputs/output_whispering.wav)验证成功outputs/output_whispering.wav是耳语效果音色不变。注意中文基础说话人目前只支持 default 风格。场景二如何让同一音色说中文和英文V1 的跨语言做法很直接换基础说话人音色向量不动。target_se提取一次中英通用。zh_tts BaseSpeakerTTS(checkpoints/base_speakers/ZH/config.json, devicedevice) zh_tts.load_ckpt(checkpoints/base_speakers/ZH/checkpoint.pth) zh_tts.tts(今天天气真好我们一起出去吃饭吧。, outputs/tmp.wav, speakerdefault, languageChinese) tone_color_converter.convert(outputs/tmp.wav, src_setorch.load(checkpoints/base_speakers/ZH/zh_default_se.pth).to(device), tgt_setarget_se, output_pathoutputs/output_chinese.wav)V2 则原生支持英、西、法、中、日、韩六语用 MeloTTS 当基础说话人各语言对应的源音色向量在checkpoints_v2/base_speakers/ses/里流程见 demo_part3.ipynb。想扩展更多语言只要换一个该语言的基础说话人即可原理演示见 demo_part2.ipynb。场景三本地网页界面怎么开不想写代码直接启动 Gradio 网页版python -m openvoice_app --share验证成功终端打印出访问地址浏览器打开后输入文本、上传参考音频即可克隆。网页会自动检测输入文本是中文还是英文并选对应模型--share会额外生成一个临时公网链接方便手机试听。实现代码在 openvoice/openvoice_app.py。调优与提速现象原因解法长音频切分慢、等待久Whisper 按词边界切分要跑 medium 模型传vadTrue走 VAD 路径按约 10 秒切段不依赖 WhisperCPU 机器上 Whisper 切分报错代码中 Whisper 路径写死了 GPU 和 fp16用vadTrue绕过见 openvoice/se_extractor.py输出音频里藏有水印ToneColorConverter默认开启 wavmark 隐形水印初始化时传enable_watermarkFalse关闭公开部署建议保留换了参考音频结果却不变get_se按文件名缓存到processed/不会自动覆盖删掉processed/下同名文件夹后再跑避坑指南5 个高频问题Q1运行 get_se 时报 Silero 下载失败机器无法联网拉取 silero-vad。手动下载 silero-vad 的 zip 包解压到~/.cache/torch/hub/snakers4_silero-vad_master详见 docs/QA.md。Q2生成的口音或情感不像参考人OpenVoice 只克隆音色口音和情感由基础说话人模型决定。想换就换基础说话人比如把 EN 检查点换成 ZH 检查点。Q3换了参考音频输出却没变化se_extractor把结果缓存在processed/目录且不覆盖。删掉该目录下同名文件夹再重新运行即可。Q4生成音频有杂音或音色发虚对照检查参考音频是否有背景噪声、是否过短、是否多人说话、是否有大段静音。换一条干净的单人短音频重跑。Q5中文输出能像英文那样换情感风格吗不能。中文基础说话人只支持 defaultwhispering、shouting 等 8 种风格目前只在英文基础说话人上可用。总结OpenVoice 把音色和风格拆开基础说话人管怎么说话转换器管用谁的声音一段参考音频即可跨语言复用MIT 协议可自由商用。后续可以关注 V2 原生语言覆盖的扩展以及社区接入的新基础说话人——每接入一个它就多会一种语言。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/1 14:22:18

Deep Q-Learning实战:交叉路口自适应信号控制与训练优化

简介:面向智能交通与强化学习研究者,这是一份基于SUMO的深度Q学习交通信号控制完整示例框架,源自硕士论文的简化代码,适合希望快速上手DRL与SUMO联调的初学者或论文复现者。项目围绕“在交叉路口选择最优相位以最大化通行效率”展…

2026/9/1 14:22:18

从SpaceX看宏大技术愿景的工程验证:成本、复用与闭环

SpaceX 提出“公司价值将超过地球”这种说法时,大多数人听到的是一句市值口号。但如果把它当成一个工程命题来看,真正值得拆解的并不是估值数字,而是它背后的技术能力、成本结构和发展路径。一家航天公司要支撑所谓“冲出地球”的价值判断&am…

2026/9/1 14:22:18

C/C++集成Live2D实时驱动:视线追踪与眨眼交互方案

最近在做一个桌面虚拟形象交互项目时,需要在纯 C/C 环境下把 Live2D 模型跑起来,并且实时驱动表情、视线和触摸动作。真正用 C/C Dear ImGui 集成 Live2D,再叠加视线追踪、眨眼检测和触摸触发动作的完整方案并不多见。本文基于实际项目经验&…

2026/9/1 14:37:31

用技术视角拆解五大热点:构建你的信息差分析框架

每天信息流里都会出现一批“信息差”内容:房贷利率、人形机器人、航天发射、核聚变、数字产业政策……标题很刺激,收藏夹很热闹,但过几天再回头看,大多数人只记住了情绪,没有留下判断力。 这篇文章不打算复读“今日热…

2026/9/1 14:37:31

yuzu:开源Switch模拟器,第一次跑通从零到第一局

yuzu:开源Switch模拟器,第一次跑通从零到第一局 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 你手边有一张Switch游戏卡,想在大屏上把它跑起来。yuzu是一款开源的Switch模拟器…

2026/9/1 14:37:31

基于Spring Boot+Thymeleaf的旅游景点酒店预订网站设计与实现

简介:这是一套面向计算机专业本科生的毕业设计实战项目,基于SpringBootThymeleafMySQL构建的旅游景点与酒店预订网站,完整覆盖电商类系统核心业务场景,适用于课程设计、毕设选题及Java全栈能力进阶学习。资源包共487个文件&#x…

2026/9/1 14:37:31

电动车目标检测实战:基于1600+数据集与YOLOv8从训练到部署

简介:本资源是面向计算机视觉初学者与智能交通算法开发者的目标检测实战数据集,聚焦电动车识别这一典型城市感知任务,可用于YOLO、Faster R-CNN等主流模型的训练与评估。压缩包共2000个文件,含1599张标注清晰的JPG图像及401份对应…

2026/9/1 14:32:30

黑客爱用的 HOOK 技术大揭秘!

黑客爱用的 HOOK 技术大揭秘! 什么是 HOOK 技术? 病毒木马为何惨遭杀软拦截? 商业软件为何频遭免费破解? 系统漏洞为何能被补丁修复? 这一切的背后到底是人性的扭曲,还是道德的沦丧,敬请收…

2026/8/31 1:05:20

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…