十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何5分钟跑通OpenVoice:开源语音克隆完整上手指南

如何5分钟跑通OpenVoice:开源语音克隆完整上手指南 如何5分钟跑通OpenVoice开源语音克隆完整上手指南【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice你手里有一段 5 秒录音想让另一个人用同样的音色说出完全不同的话——这正是 OpenVoice 做的事。它是由 MIT 和 MyShell 开源的即时语音克隆instant voice cloning音频基础模型通过音色转换器Tone Color Converter从参考音频里提取音色再贴到任意 TTS 生成的语音上全程 MIT 协议可商用。 先搞懂一个关键设计它只克隆音色不克隆腔调很多项目的第一次翻车都源于对 OpenVoice 的误解。官方在 docs/QA.md 里说得很直白OpenVoice 只克隆参考说话人的音色tone color不克隆口音和情感。输出语音的口音、情绪、节奏、语调全部由基础说话人 TTS 模型Base Speaker TTS决定。说白了整条流水线分两步基础说话人 TTS 负责说什么、怎么说语言、口音、情感参数音色转换器负责听起来像谁。架构图里能看到音色提取器从参考语音里拿到 tone color embedding同时 Encoder 侧生成去掉了音色、保留全部其他风格的 IPA 对齐特征两者在 Flow 网络里融合后由 Decoder 输出语音这个分离式设计带来两个实际好处一是零样本跨语言——参考语音和生成语音的语言都不需要在训练集里出现过二是风格可控——想换口音不用换音色换个基础说话人模型即可。 安装与版本选择V1 和 V2 只差一个 checkpoint 目录环境要求不苛刻Python 3.9 PyTorchLinux 下最省心。安装步骤只有一套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 .之后按需求下载对应 checkpoint 解压到指定目录即可V1 解压到checkpointsV2 解压到checkpoints_v2。两个版本怎么选OpenVoice V1OpenVoice V2音频质量基础显著提升改进训练策略语言支持任意语言自备基础说话人模型英、西、法、中、日、韩原生支持基础 TTS仓库自带 base speakers需额外安装 MeloTTSpip install MeloTTS后执行python -m unidic download许可MITMIT如果目标是中文、日文等语言的日常使用直接上 V2如果只是想快速验证跨语言克隆的玩法V1 自带的英文/中文基础说话人就够。 最短路径跑通第一段克隆语音跑通之后再看细节。以下代码对应 demo_part1.ipynb 的核心流程设备用cuda无 GPU 时改成cpu但se_extractor里的 Whisper 模型依赖 CUDA纯 CPU 环境建议vadFalsefrom openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda # 基础说话人 TTS负责内容和口音 base BaseSpeakerTTS(checkpoints/base_speakers/EN/config.json, devicedevice) base.load_ckpt(checkpoints/base_speakers/EN/checkpoint.pth) # 音色转换器负责像谁 converter ToneColorConverter(checkpoints/converter/config.json, devicedevice) converter.load_ckpt(checkpoints/converter/checkpoint.pth) # 1. 从参考音频提取目标音色自动 VAD 切分 多段平均 target_se, name se_extractor.get_se(resources/example_reference.mp3, converter, vadTrue) # 2. 生成任意语言的中间语音 base.tts(Hello, this is a cloned voice demo., tmp/en.wav, speakerdefault, languageEnglish) # 3. 音色转换贴回参考音色 converter.convert(tmp/en.wav, target_se, target_se, output_pathout.wav)三个要点值得注意get_se会先用 Silero VAD 把参考音频切段再对每段的音色 embedding 取平均所以参考音频 5~15 秒即可不用刻意凑长。convert的tau0.3是相似度系数官方默认值一般不用动调大让输出更贴近参考音色调小则保留更多原始韵律。想跳过代码直接玩仓库自带极简 Gradio 本地界面一条命令python -m openvoice_app --share启动浏览器里贴文件、改文字、点生成就行。不想本地部署的话也可以直接在 MyShell 平台上体验它的语音克隆能力进入 Workshop → 创建 Bot → 通过语音克隆创建声音三步完成 克隆效果不理想时的3个排查方向效果不好时九成问题出在参考音频而不是模型。按官方 QA 的清单逐条过有背景噪声——换成干净录音这是最常见的原因。音频太短或混入多人说话——split_audio_vad切出的有效段不够音色 embedding 不稳定。长段空白——VAD 之后的有效语音占比太低。改了文件名但没删processed目录——这是最容易忽略的坑get_se按文件内容 hash 命名缓存同名旧缓存可能导致你以为换了参考音频其实没有。安装阶段还有一个高频坑Silero VAD 模型从 GitHub 拉取网络不通时get_vad_segments会报错。解决办法是手动下载 zip 包解压到~/.cache/torch/hub/snakers4_silero-vad_master详见 docs/QA.md。 进阶跨语言克隆和多语言原生支持V1 的跨语言玩法在 demo_part2.ipynb 里换不同语言的基础说话人模型如checkpoints/base_speakers/ZH音色 embedding 保持不变就能让同一音色说中文、带印度口音的英文等——tts()的speaker参数可以选default、whispering等不同基础说话人speed控制语速情感则靠换模型实现。V2 更进一步用 demo_part3.ipynb 配合 MeloTTS 作为基础说话人对英语含美式、英式、印度、澳式口音、西班牙语、法语、中文、日语、韩语做了原生支持基础说话人的音色 embedding 直接预存在checkpoints_v2/base_speakers/ses/里省掉了提取步骤。多语言混排场景比如英文主体里夹一句中文旁白目前是分段生成再拼接的方案单句内部不做语言切换这个边界要心里有数。最后提醒一句OpenVoice 官方定位是技术而非产品多数声音在正确使用下效果很好但别期待每段录音都完美。生成音频自带 wavmark 隐形水印ToneColorConverter默认enable_watermarkTrue用于标识克隆来源商用时留意这一点。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表