ARTICLE DETAIL

资讯详情

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

OpenVoice 即时语音克隆:10 秒音频克隆音色,3 步本地跑通

OpenVoice 即时语音克隆:10 秒音频克隆音色,3 步本地跑通 OpenVoice 即时语音克隆10 秒音频克隆音色3 步本地跑通【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoiceOpenVoice 是由 MIT 与 MyShell 开源的即时语音克隆Instant Voice Cloning音频基础模型给一段参考音频它就能把说话人的音色迁移到任意语言的新语音上MIT 协议、可商用。这篇文章带你从一段音频变成可用音色这个场景出发讲清它的拆音思路并给出从安装到推理的最短路径和排坑清单。一段音频变音色它能解决什么问题假设你有两种常见需求手里有一段 10 秒左右的录音想让自己的声音开口说一段从没念过的文案想让同一个声音说中文、英文、日文且不用分别录音。传统做法是分别录音再剪辑成本高且不可复用。OpenVoice 的思路是把音色从语音里拆出来单独搬运内容说什么、什么口音、什么情绪由一个基础 TTS 模型负责生成OpenVoice 只负责最后一步——把参考音频的音色刷到生成结果上。类比一下基础 TTS 像一个声线中性的配音演员先念稿OpenVoice 则是一位调音师负责把这段稿子染成目标声音的声纹颜色其他什么都不动。拆开看Base Speaker Tone Color Converter 两段流水线OpenVoice 的推理由两个模型接力完成核心实现见 openvoice/api.pyBase Speaker TTS负责生成内容、语速、口音、情绪。V1 内置英文/中文基础说话人模型V2 则搭配 MeloTTS原生支持英语、西班牙语、法语、中文、日语、韩语六种语言Tone Color Converter音色转换器先用 openvoice/se_extractor.py 从参考音频中提取音色嵌入se再配合 Encoder-Flow-Decoder 结构把音色写到新语音上。关键在于它使用IPA国际音标对齐的特征——这些特征抹掉音色但保留所有其他风格所以换音色不会连带把口音、节奏也换掉。这也解释了一个高频疑问OpenVoice 只克隆音色不克隆口音和情绪。想要某种口音或情绪应该换一个带该风格的基础说话人模型而不是指望转换器复制过来。不装环境先体验两条低门槛路径如果只是想听效果不必先折腾本地环境跑官方 Gradio 本地演示装完依赖后python -m openvoice_app --share参考 demo_part1.ipynb、demo_part2.ipynb、demo_part3.ipynb 三个 Notebook分别对应风格控制、跨语言克隆、V2 多语言演示。三步跑通安装、下模型、写 10 行推理代码第一步装环境。需要 Linux Python 3.9 PyTorchGPU 可选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 .第二步放模型权重。从官方发布页下载对应版本检查点压缩包解压到项目根目录的checkpointsV1或checkpoints_v2V2文件夹。V2 还需额外安装 MeloTTS 依赖并运行python -m unidic download拉取日语分词词典细节见 docs/USAGE.md。第三步调用。整个克隆链路其实只有三步加载两个模型、提取参考音色、生成后转换。最小可运行示例英文文本 → 目标音色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. 从参考音频提取目标音色se_extractor 会自动 VAD 切段 target_se, _ se_extractor.get_se(resources/example_reference.mp3, converter, vadTrue) source_se torch.load(checkpoints/base_speakers/EN/en_default_se.pth).to(device) # 3. 先合成底稿再刷上目标音色 base_tts.tts(Hello, this is OpenVoice., tmp.wav, speakerdefault, languageEnglish, speed1.0) converter.convert(tmp.wav, source_se, target_se, output_pathoutput.wav)想换风格时把speaker参数换成cheerful、whispering、sad等即可可选值见 demo_part1.ipynbspeed控制语速。注意get_se会按文件名 音频哈希缓存结果到processed文件夹且不会自动覆盖换参考音频请换文件名。V2 的用法见 demo_part3.ipynb用 MeloTTS 的TTS(language...)生成底稿音色转换部分与上面完全一致只是权重路径换到checkpoints_v2。V1 还是 V2一张表帮你选对比项OpenVoice V1OpenVoice V22024.04 起选型建议音频质量基线水平训练策略更强听感更自然追求音质选 V2语言支持任意语言取决于你配的基础 TTS英/西/法/中/日/韩原生支持六国语言选 V2小众语言用 V1 自配基础模型基础模型内置英中 BaseSpeaker搭配 MeloTTS想换底座如其他开源 TTS更自由的是 V1 思路许可MITMIT明确可商用两者均可商用补充一个进阶点V1 的任意语言能力来自零样本跨语言设计——参考语音和生成语音所用的语言都可以不在训练集里因为音色转换器只认音色特征不认语言。效果不对先查这 4 个地方按命中率从高到低排参考音频不干净。要求单人、无背景噪声、无长段静音5~15 秒最佳。多人对话、带 BGM 的片段都会污染音色嵌入缓存没删。processed文件夹按文件名存了旧结果同名文件换内容后务必清理Silero VAD 下载失败。get_vad_segments首次运行需联网拉取 Silero VAD 模型网络受限时会报错——手动下载该压缩包解压到~/.cache/torch/hub/对应目录即可详见 docs/QA.md期望错位。觉得口音/情绪不像不是 bug转换器不克隆这两项需换基础说话人模型官方甚至建议可直接用 OpenAI TTS 充当底座见 demo_part2.ipynb。官方在 docs/QA.md 里有一句实话值得记住OpenVoice 是技术而非产品它面向开发者与研究者大多数场景可用但不保证每个声音都完美。一句话收尾一句话记住 OpenVoice音色归转换器风格归基础 TTSIPA 对齐保证两者互不串味——先按三步把链路跑通再用 V2 换六国语言剩下的都是调参的小事。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表