ARTICLE DETAIL

资讯详情

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

10分钟录音训练专属音色:RVC 变声框架实战指南与调参教程

10分钟录音训练专属音色:RVC 变声框架实战指南与调参教程 10分钟录音训练专属音色RVC 变声框架实战指南与调参教程【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUIRetrieval-based-Voice-Conversion-WebUI简称 RVC是一个基于 VITS 的语音转换变声框架上传几分钟低底噪人声即可训练专属音色模型再用网页界面把任意音频换声成该音色。最大亮点是 top1 特征检索机制从源头杜绝音色泄漏且弱显卡也能快速训练。1 它解决什么问题RVC 出现前想要换个声音通常只有两条路一是用整句文本重新跑 TTS 合成发音节奏与原音频对不上二是直接上端到端语音转换模型训练稍不留意目标音色就漏回原说话人听感忽男忽女、时像时不像。RVC 的思路是不重新生成内容只替换音色这一层。它保留输入音频的旋律、节奏、咬字仅把音色特征换成训练集里的目标音色因此只需 10 分钟左右的语音数据就能得到一个可用的模型官方同时提供 UVR5 人声/伴奏分离和实时变声界面。2 为什么音色稳定四步流水线拆解RVC 的核心推理流程在 infer/modules/vc/pipeline.py可以拆成四步音高提取F0先估计每一帧的基频声音的音高支持 RMVPE、PM、Harvest、Crepe 四种算法频率范围锁定在 50~1100Hz。其中 RMVPE 是 Interspeech 2023 的算法官方注明能根绝哑音问题且比 crepe_full 更快、资源占用更小对应模型文件 infer/lib/rmvpe.py。特征检索top1把输入片段送进 Faiss 索引infer/lib/jit/ 提供加速版检索出训练集中最相似的那一条特征top1用目标音色特征替换输入源特征。这一步就是检索式变声的本体比例由 index_rate 控制。VITS 解码合成带音高的特征交给 VITS 模型变分推断 对抗训练结合的语音生成框架见 infer/lib/infer_pack/models.py解码成波形。后处理RMS 响度包络对齐、重采样到目标采样率、按 32768 满刻度归一化为 16bit 输出。长音频还会按静音边界自动切段pipeline.py 中的 opt_ts 逻辑避免整段一次推理爆显存。3 从零启动 WebUI安装步骤环境要求Python 3.8 以上NVIDIA/AMD/Intel 显卡均有对应依赖文件另需系统已装 ffmpeg。git clone https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI cd Retrieval-based-Voice-Conversion-WebUI pip install torch torchvision torchaudio pip install -r requirements.txt # N卡A/I卡用 requirements-dml.txt python tools/download_models.py # 下载 hubert、pretrained 等预训练模型 python infer-web.py # 默认监听 7865 端口三个容易卡住的点模型清单assets/hubert/hubert_base.pt、assets/pretrained/v1 底模、assets/pretrained_v2/v2 底模需额外下载、assets/uvr5_weights/UVR5 分离模型清单见 tools/ 下的 download_models.py。RMVPE 音高模型需单独下载rmvpe.pt放到项目根目录A/I 卡用户可改用rmvpe.onnx。启动参数--port默认 7865、--noautoopen、--dml等在 configs/config.py 中定义。底模由接近 50 小时的开源 VCTK 数据集训练无版权问题文档在 docs/多语言界面文件在 i18n/locale/含中、英、日、韩等 13 种语言。4 效果影响最大的 4 个参数采样率配置位于 configs/v1 提供 32k/40k/48k 三档v2 提供 32k/48k 两档。以configs/v1/32k.json为例训练段参数为{ train: { epochs: 20000, learning_rate: 1e-4, batch_size: 4, fp16_run: true, lr_decay: 0.999875, segment_size: 12800 }, data: { sampling_rate: 32000, filter_length: 1024, hop_length: 320, n_mel_channels: 80 } }推理端有 4 个滑杆最值得调默认值取自 infer-web.py 界面定义参数范围 / 默认值作用调整建议index_rate检索特征占比0~1默认 1目标音色特征替换输入特征的比例音色不够像可调大发闷、细节丢失则调小protect保护清辅音0~0.5默认 0.330.5 为关闭保护嘶、擦类清辅音与呼吸声防电音撕裂出现电音伪影调低保护更狠索引效果下降再回调filter_radius0~7默认 3≥3 时对中值滤波处理音高削弱哑音用 Harvest 算法且偶发哑音时保持 3 或调大f0_up_key变调键半音数整体升/降调男→女一般 6~12女→男负值训练侧注意epochs写的 20000 只是上限实践中几十 epoch 出初步效果、数百 epoch 稳定fp16_run在旧卡P40、1080 等上会被 configs/config.py 自动强制为 fp32属正常现象。5 声音不对从现象入手排查现象输出像电音、有撕裂感原因清辅音段被强制替换为目标音色特征与辅音瞬态冲突。 处理调低 protect 值如 0.33 → 0.2同时确认输入是 UVR5 分离后的干净人声。现象音色时像时不像甚至偶尔变回原声原因没加载索引文件或 index_rate 为 0检索替换未生效。 处理在界面确认索引文件路径有效Faiss 加载失败会打印异常但流程继续index_rate 拉回 1 重试。现象随机出现哑音断音原因音高轨迹里有孤立毛刺解码后出现无声帧。 处理换 RMVPE 算法官方评价最好Harvest 用户把 filter_radius 设为 3 以上做中值滤波。现象显存不足 / 训练中途 OOM原因batch_size 与采样率档叠加。 处理改用 32k 档配置、关 fp16 不可行时降 batch_size4G 以下显存的机器 config.py 会自动调低并行预处理参数x_max 降到 32。更多问答见 docs/ 下各语言 FAQ如 docs/cn/faq.md。6 进阶玩法仓库里藏着的四件工具模型融合ckpt-merge在ckpt 处理选项卡合并多个训练好的权重做音色混合底层是 infer/lib/train/process_ckpt.py 与 tools/infer/trans_weights.py支持 v1→v2 权重转换。批量推理与索引训练tools/infer_batch_rvc.py 批量转换tools/infer/train-index.py 和 train-index-v2.py 为指定模型重建 Faiss 索引可换 index 优化检索质量。API 与 ONNX仓库根目录 api_231006.py / api_240604.py 提供 REST 接口tools/export_onnx.py 可导出 ONNX 模型做 CPU 侧低资源推理配合 tools/onnx_inference_demo.py。实时变声go-realtime-gui.bat启动实时界面官方数据为端到端 170ms 延迟配 ASIO 设备可达 90mstools/rvc_for_realtime.py 可供第三方实时应用调用。7 适合谁上手RVC 把训练一个能用音色的成本压到了 10 分钟录音 一台普通显卡代价是需要在 UVR5 分离、索引、音高算法三个环节花些调参功夫。建议路径先用 32k/v1 配置跑通一条完整流程熟悉 protect 与 index_rate 的手感后再切 48k/v2 追求音质实时场景则直接从实时界面 RMVPE 入手。【免费下载链接】Retrieval-based-Voice-Conversion-WebUIEasily train a good VC model with voice data 10 mins!项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表