ARTICLE DETAIL

资讯详情

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

OpenVoice 语音克隆本地部署指南:一段参考音频,克隆出能跨语言说话的音色

OpenVoice 语音克隆本地部署指南:一段参考音频,克隆出能跨语言说话的音色 OpenVoice 语音克隆本地部署指南一段参考音频克隆出能跨语言说话的音色【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoiceOpenVoice 是 MIT 与 MyShell 开源的即时语音克隆项目核心能力是从 3~5 秒参考音频中提取音色并让该音色用其他语言朗读文本。按本指南完成本地部署后你可以直接生成一段带自己或他人音色的中文/英文语音文件全程不依赖在线服务音频不离开本机。先搞懂原理它到底克隆了什么OpenVoice 的生成链路是两步拼接理解这一点后面排查问题会容易很多基础说话人 TTSBase Speaker负责把文本读成带节奏、语调的语音口音和情感也由它决定。音色转换器Tone Color Converter把参考音频中的音色特征搬到上一步生成的语音上。 关键结论它只克隆音色不克隆口音和情感。官方 docs/QA.md 明确说明输出语音的口音和情感来自基础 TTS 模型——所以想要更带情感的输出不是调参数能解决的而是换带该风格的基础说话人模型V1 里就内置了whispering这种风格型说话人。环境准备安装依赖和拉取模型文件官方安装路径写得很短照做即可依据docs/USAGE.md 的 Linux Install 一节conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e .依赖版本被 requirements.txt 锁死如librosa0.9.1、gradio3.48.0、faster-whisper0.9.0conda 独立环境能避免和已有环境冲突推荐 Python 3.9因为官方只验证了这个版本。模型权重需要从官方 S3 链接下载V1 与 V2 是两个不同的压缩包解压目录名不能错版本解压目录内含内容V1checkpoints/converter/、base_speakers/EN/、base_speakers/ZH/V2checkpoints_v2/converter/、base_speakers/ses/⚠️ 如果机器访问不了模型托管源可以先在能联网的机器上下载再拷入。首次运行se_extractor.get_se时还会自动拉取 Silero VAD 模型同样受网络影响失败时按 docs/QA.md 的说明手动下载 zip 放到~/.cache/torch/hub/。跑通最小链路V1 生成第一句克隆语音V1 的完整调用流程就是 demo_part1.ipynb 里的这几行核心是先提音色再生成最后转换import torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter device cuda:0 if torch.cuda.is_available() else cpu # 1. 加载基础 TTS 和音色转换器 base_tts BaseSpeakerTTS(checkpoints/base_speakers/EN/config.json, devicedevice) base_tts.load_ckpt(checkpoints/base_speakers/EN/checkpoint.pth) converter ToneColorConverter(checkpoints/converter/config.json, devicedevice) converter.load_ckpt(checkpoints/converter/checkpoint.pth) # 2. 从参考音频提取音色VAD 自动切分静音 ref_se, _ se_extractor.get_se(resources/example_reference.mp3, converter, target_dirprocessed, vadTrue) # 3. 基础 TTS 生成中间语音再用转换器换成参考音色 base_tts.tts(This audio is generated by OpenVoice., outputs/tmp.wav, speakerdefault, languageEnglish, speed1.0) converter.convert(audio_src_pathoutputs/tmp.wav, src_setorch.load(checkpoints/base_speakers/EN/en_default_se.pth), tgt_seref_se, output_pathoutputs/cloned.wav, messageMyShell)参考音频放在哪里都行仓库自带resources/example_reference.mp3可以直接当测试素材。参考音频要求依据 QA 文档的排查清单无背景噪音、单人说话、不太短、没有长时间空白长度上几秒到几十秒均可官方 notebook 用 VAD 按约 10 秒切片处理。✅ 验证点outputs/cloned.wav的音色接近参考音频、内容是你写的文本。如果内容对但音色不像直接进入下一节排查。克隆效果不像的排查顺序按命中率从高到低依次检查这四条来自官方 docs/QA.md参考音频是否混有背景噪音或其他人声参考音频是否过短或包含大段静音是否用了和上次相同文件名的参考音频但旧processed/缓存没删这是官方点名的坑get_se的缓存目录按音频名组织旧缓存会被直接复用。输出像但不像往往不是 bug如前文所说口音/情感不由音色转换器决定这是架构设计而非效果缺陷。 想微调相似度convert()有个tau参数默认 0.3它是 Flow 匹配阶段的温度系数调大输出会更平滑地贴向目标音色具体取舍建议以多组对照试听为准官方文档未给出推荐区间。进阶V2 跨语言克隆和 Gradio 界面两条延伸路线可以按需选择要更多语言 → 用 V2。V2 需要额外安装 MeloTTS 作为基础 TTSpip install githttps://github.com/myshell-ai/MeloTTS.git再跑python -m unidic download原生支持英、西、法、中、日、韩六种语言流程见 demo_part3.ipynb先用 MeloTTS 生成文本语音再走同一个ToneColorConverter.convert换音色。跨语言克隆时注意目标语言必须有对应的基础说话人模型覆盖这是架构约束。要网页界面 → 跑 Gradio demo。V1 内置了本地界面一条命令启动依据 USAGE 文档python -m openvoice_app --share启动后按提示访问地址即可界面自动检测输入文本是中文还是英文并路由到对应基础说话人。⚠️ 注意官方建议Gradio demo 遇到问题时先回看 demo_part1/part2 和 QA 文档官方自己声明它极简参数暴露得比 notebook 少。适用边界与下一步OpenVoice 是 MIT 协议的技术框架而非成品应用官方原话Technology, not a Product个别音色克隆不稳定属正常现象生产化需要自己补工程。建议下一步从 demo_part2.ipynb 入手试跨语言场景或把 V2 的多语言流程封装成自己的服务接口模型下载链接与版本差异以 docs/USAGE.md 为准。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表