ARTICLE DETAIL

资讯详情

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

OpenVoice 语音克隆实战:如何用一段参考音频合成 6 种语言的声音

OpenVoice 语音克隆实战:如何用一段参考音频合成 6 种语言的声音 OpenVoice 语音克隆实战如何用一段参考音频合成 6 种语言的声音【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoiceOpenVoice 语音克隆是 MyShell 开源的即时声音克隆方案几秒参考音频即可用该音色朗读英语、中文等 6 种语言的文本MIT 协议可商用。本文面向会执行命令、但不关心模型细节的开发者从配环境讲起带你跑出第一句克隆语音再讲清原理和常见坑。一、能力全景几秒参考音频能换来什么先建立预期OpenVoice 语音克隆的核心能力有四项即时克隆只需 5-15 秒参考音频无需训练提取一次音色向量即可反复使用跨语言合成参考音频和输出语言不必相同中文参考也能说日语风格可控语速、口音、情感由基座 TTS 决定可换模型或调参数V2 原生 6 语言英语、西班牙语、法语、中文、日语、韩语另有水印与开源双许可保障二、快速上手从环境配置到第一次克隆出声音一条命令配好环境按 使用文档 的要求用 Python 3.9conda create -n openvoice python3.9 conda activate openvoice git clone https://gitcode.com/GitHub_Trending/op/OpenVoice cd OpenVoice pip install -e . # 安装 OpenVoice 及全部依赖V1 还是 V2一张表选版本对比项V1V22024-04 起语言随基座 TTS仓库自带英语/中文基座原生 6 语言EN/ES/FR/ZH/JP/KR基座 TTS仓库检查点内含 BaseSpeakerTTS需另装 MeloTTS 作为基座音质基础水平换用更激进的增强训练策略检查点目录checkpoints/checkpoints_v2/参考示例demo_part1.ipynb、demo_part2.ipynbdemo_part3.ipynb两个版本均为 MIT 协议可自由商用。跑通第一次声音克隆先按 使用文档 中的官方链接下载 V2 检查点文件较大建议断点续传解压到checkpoints_v2/目录再按该文档 OpenVoice V2 一节安装 MeloTTS并执行python -m unidic download # 下载 MeloTTS 需要的日语词典然后写一个最小脚本。第一步加载音色转换器并提取参考音频的音色向量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) # 从参考音频提取音色自动 VAD 切分并缓存到 processed/ target_se, _ se_extractor.get_se(resources/example_reference.mp3, conv, vadTrue)第二步用基座 TTS 合成中性语音再换声线from melo.api import TTS # 基座说话人生成中性语音 model TTS(languageEN, devicedevice) model.tts_to_file(Hello, this is OpenVoice., 0, outputs_v2/tmp.wav) # 转换为目标音色src_se 是基座自带的音色 src_se torch.load(checkpoints_v2/base_speakers/ses/en-newest.pth, map_locationdevice) conv.convert(outputs_v2/tmp.wav, src_se, target_se, output_pathoutputs_v2/out.wav)✅ 播放outputs_v2/out.wav内容是中性的英文短句音色却来自你的参考音频。第一次声音克隆完成。三、魔法背后一个翻译官、一台调音台的分工把整条流水线想象成一个录音棚。基座 TTS 是翻译官把文字念成语音声音自然但音色固定。音色提取器是扫描仪从参考音频里提取一个音色向量 SE相当于这个人的声音指纹。音色转换器是调音台把翻译官的声音换声线成目标指纹但内容、语速、情感一概不动。 关键在图里的 IPA 对齐编码器-解码器在音素级对齐源音频和目标音频保证只替换音色而破坏不了发音。记住一条边界OpenVoice 只克隆音色口音和情感由基座 TTS 决定想换口音得换基座模型。四、场景实战三种典型用法场景一把一篇文章变成你的声音播客目标用你自己的音色朗读任意长文操作录 5-15 秒干净人声作为参考音频按第二节流程提取target_se长文按句子切分逐句tts_to_fileconvert段间加约 0.05 秒静音拼接参考 demo_part3.ipynb 的写法预期效果得到音色与你一致、内容完全可控的成片改文案重跑即可音色向量可缓存复用场景二一段中文参考音频跨语言合成日语目标验证零样本跨语言语音合成能力操作target_se只需提取一次。循环 6 种语言每次换 MeloTTS 的语言参数并从checkpoints_v2/base_speakers/ses/取对应语言的src_se见 demo_part3.ipynb预期效果同一个音色说出六种语言的句子注意中文文本混入少量英文单词如 vacation是官方示例的做法可原样照抄场景三零代码体验克隆流程目标不写代码先感受效果操作本地路线——装好 V1 检查点到checkpoints/后执行python -m openvoice_app --share浏览器打开即用不想装环境则可用官方已部署的 TTS 小部件选择语言、上传参考音频即可预期效果页面上选音色、输入文本、拿结果与本地流水线完全等价五、避坑指南现象-原因-解法对照表现象可能原因一句话解法克隆音的口音/情感和参考人不像OpenVoice 只克隆音色口音情感由基座 TTS 产生换带该口音的基座模型或替换自己的基座合成音质差、有杂音参考音频有噪声、多人声或长空白段换 5-15 秒干净单人录音重复运行结果不更新processed/按文件名缓存了旧音色清空processed/目录再提取Silero VAD 下载失败VAD 模型从外网拉取受限网络不通手动下载 silero-vad 包解压到~/.cache/torch/hub/报 input audio is too shortVAD 过滤后有效语音不足 1 秒把参考音频延长到数秒以上CUDA out of memory参考音频过长或显存不足缩短参考音频或把device改为cpu更多问题可查 官方 QA官方也提醒OpenVoice 是技术而非产品个别声音效果不佳属正常范围。六、调优与部署建议质量的第一变量是参考音频干净、单人、5-15 秒比调任何参数都有效tau参数控制音色替换强度默认 0.3见 核心API 中convert的签名隐形水印convert默认在输出中嵌入 wavmark 水印每 2 段 16kHz 采样写入一段比特串初始化时传enable_watermarkFalse可关闭生产接入音色提取带缓存同一文件重跑直接复用推理在 GPU 上用 FP16接口层建议包一层 FastAPI参考音频落盘后走get_se→convert两步以官方文档为准检查点下载地址、MeloTTS 安装命令均以 docs/USAGE.md 当前版本为准七、速查卡命令与参数用途命令 / 参数建环境conda create -n openvoice python3.9后pip install -e .下载模型官方链接见 docs/USAGE.md解压到checkpoints/V1或checkpoints_v2/V2V2 额外依赖安装 MeloTTS python -m unidic download本地可视化界面python -m openvoice_app --shareV1提取音色se_extractor.get_se(audio_path, model, vadTrue)声音转换model.convert(src, src_se, tgt_se, output_path)音色强度 / 关水印convert(..., tau0.3)/enable_watermarkFalse核心代码openvoice/api.py、openvoice/se_extractor.py从一段参考音频到六种语言的克隆声音OpenVoice 语音克隆把换声线拆成了可独立控制的三步。照着第二节的脚本跑通第一句剩下的就是换基座、换语言、接进你自己的产品里。【免费下载链接】OpenVoiceInstant voice cloning by MIT and MyShell. Audio foundation model.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表