如何用OpenVoice实现即时语音克隆:面向新手的完整上手指南 如何用OpenVoice实现即时语音克隆面向新手的完整上手指南【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoiceOpenVoice 是 MIT 与 MyShell 开源的语音克隆基础模型音频基础模型基于 MIT 协议发布可免费用于商业场景。它只需一段 5~15 秒的参考音频就能让新写的文本用这个人的音色念出来甚至用同一音色说多种语言。本文按装好 → 跑通 → 换音色 → 跨语言的路径带你从零完成第一次语音克隆。为什么值得用 OpenVoice3 个关键理由音色、风格、语言三者分开控制。OpenVoice 只克隆参考音频的音色声音的质地口音、情绪、节奏由基础 TTS 模型决定互不干扰。这就像给一段念好的台词重新配音换人剧本和表演风格不动只把发声者换成另一个人。跨语言零样本克隆。参考音频可以是任意语言生成文本也可以是另一种语言两者都不要求出现在训练数据里。V2 原生支持 6 种语言。2024 年 4 月发布的 V2 直接内置英语、西班牙语、法语、中文、日语、韩语的基础说话人。版本特点V1准确克隆音色、灵活风格控制、跨语言克隆V2音质更好换了一种训练策略、原生 6 语言、与 V1 同为 MIT 协议快速上手OpenVoice 最小配置 4 步走环境要求不高Linux Python 3.9 PyTorch有 GPU 体验更好。建环境并装依赖。预期效果pip install -e .跑完后不报缺包错误。conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .下载模型权重。V1 和 V2 的安装命令完全相同区别只在权重包解压目录。预期效果仓库根目录下出现checkpoints/或checkpoints_v2/文件夹里面有config.json和checkpoint.pth。V1下载checkpoints_1226.zip解压到checkpoints/V2下载checkpoints_v2_0417.zip解压到checkpoints_v2/权重下载地址见 docs/USAGE.mdV2 需要装 MeloTTS。V2 用 MeloTTS 当基础说话人装完跑一次unidic初始化。预期效果python -c import melo无报错。pip install githttps://github.com/myshell-ai/MeloTTS.git python -m unidic download跑通第一次音色提取。加载转换器 → 传一段参考音频 → 拿到音色向量target_se。预期效果终端打印OpenVoice version: v2且processed/目录下生成了切分后的 wav 片段。import torch from openvoice import se_extractor from openvoice.api import ToneColorConverter device cuda:0 if torch.cuda.is_available() else cpu conv ToneColorConverter(checkpoints_v2/converter/config.json, devicedevice) conv.load_ckpt(checkpoints_v2/converter/checkpoint.pth) target_se, audio_name se_extractor.get_se(你的参考音频.mp3, conv, vadTrue)原理扫盲谁决定怎么说谁决定谁在说OpenVoice 的流水线可以拆成两句话理解基础说话人 TTSBase Speaker TTS负责怎么说把文本变成带特定口音、情绪、韵律的声音。音色转换器Tone Color Converter负责谁在说把参考音频压缩成一个音色向量代码里叫sespeaker embedding再把这个向量贴到任意 TTS 输出上。se_extractor.get_se()内部做的事也不复杂先用 Silero VAD 按静音把音频切段min_speech_duration0.1秒、min_silence_duration1秒参数见 openvoice/se_extractor.py再对每个片段提取se并取平均所以多人混录的音频会互相串味。跨语言能成立的关键是 IPA国际音标对齐不同语言的文本先统一转成音素级表示再交给模型避免音素对不上导致的发音崩坏。整体数据流向见下图实战技巧克隆一个特定声音并让它说外语下面以 V1 英文基础说话人为例V2 可换成 MeloTTS 的任意语言模型流程一致。加载基础 TTS 并生成底音。预期效果得到一段机器默认音色念出的base.wav。from openvoice.api import BaseSpeakerTTS base_tts BaseSpeakerTTS(checkpoints/base_speakers/EN/config.json, devicedevice) base_tts.load_ckpt(checkpoints/base_speakers/EN/checkpoint.pth) base_tts.tts(text, output_pathbase.wav, speakerDefault, languageEnglish, speed1.0)speed参数控制语速speaker取值以对应config.json里的speakers列表为准。做音色转换。src_se是底音说话人的音色向量V1 在checkpoints/base_speakers/EN/下V2 在checkpoints_v2/ses/目录tgt_se就是第 4 步提取的target_se。预期效果输出cloned.wav听感是换成了参考音频那个人的声音。cloned conv.convert( audio_src_pathbase.wav, src_sesrc_se, tgt_setarget_se, output_pathcloned.wav, )换语言 换基础 TTS。比如想让它说中文把第 1 步换成checkpoints/base_speakers/ZH/的模型、languageChinese第 2 步的tgt_se原样复用即可。这就是零样本跨语言的全部操作。不想写代码的话也可以直接起一个本地 Gradio 界面加载 V1 权重支持中英文输入python -m openvoice_app --share预期效果浏览器打开页面输入文本 上传参考音频点按钮即可试听。入口代码在 openvoice/openvoice_app.py。进阶玩法在线平台体验官方平台 myshell.ai 上部署了英语美音/英音/印音/澳音、西语、法语、中文、日语、韩语共 9 个 TTS 小部件可以不开环境直接试用也可以在平台上创建机器人通过语音克隆功能做一个自定义声音。扩展更多语言OpenVoice 支持任意语言前提是你有一个该语言的基础说话人。转换器团队已经训练好基础说话人 TTS 相对容易接入方式就是替换掉现有的 base speaker详见 docs/QA.md。控制转换力度convert()有个tau0.3的参数控制音色融合的强度可以小步调整对比听感音频太短会导致水印嵌入失败终端会提示Audio too short属于正常现象不影响音色输出。避坑指南4 个高频问题怎么解1. 提取se时 Silero 模型下载失败现象get_vad_segments卡住或报网络错误。原因Silero VAD 是首次调用时在线下载的机器访问不了源站就会失败。解法手动下载 silero-vad 的 zip 包解压到~/.cache/torch/hub/snakers4_silero-vad_master目录具体版本问题见 docs/QA.md。2. 克隆出来的音质差、有杂音现象输出含糊、破音或背景嗡嗡响。原因参考音频有背景噪声、太短、包含多人说话、含长段空白或者同名音频没清掉processed/缓存用了上次的旧结果。解法换一段干净、单人、无长静音的录音重跑前删掉processed/文件夹。3. 为什么克隆出来不是参考人的口音和情绪现象想要参考音频里那种慵懒语气输出却是平淡的。原因OpenVoice 只克隆音色口音和情绪由基础 TTS 决定转换器不复制这两项。解法换一个自带该口音/风格的基础说话人模型tgt_se不动。4. 无 GPU 时切音频报错现象vadFalse走 Whisper 切分时初始化失败。原因openvoice/se_extractor.py 中 Whisper 模型固定按cudafloat16加载。解法优先使用vadTrueSilero VADCPU 可跑纯 CPU 环境再考虑修改该文件的device参数。收尾接下来读什么OpenVoice 定位是给开发者和研究者的语音克隆技术而非开箱即用的产品——它对大多数声音有效但不保证每种声音都完美官方原话见 docs/QA.md。跑通本文流程后建议按这个顺序深入安装与权重说明docs/USAGE.md三个官方示例风格控制 / 跨语言 / V2 多语言demo_part1.ipynb、demo_part2.ipynb、demo_part3.ipynbAPI 核心实现openvoice/api.pyBaseSpeakerTTS与ToneColorConverter两个类掌握提取se→ 换基础 TTS →convert这三步之后音色克隆、多语言配音、自定义助手语音这几类需求就都通了。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考