mirror of
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-01-20 02:51:09 +00:00
Place does by language
This commit is contained in:
96
docs/cn/Changelog_CN.md
Normal file
96
docs/cn/Changelog_CN.md
Normal file
@@ -0,0 +1,96 @@
|
||||
### 20230813更新
|
||||
1-常规bug修复
|
||||
- 保存频率总轮数最低改为1 总轮数最低改为2
|
||||
- 修复无pretrain模型训练报错
|
||||
- 增加伴奏人声分离完毕清理显存
|
||||
- faiss保存路径绝对路径改为相对路径
|
||||
- 支持路径包含空格(训练集路径+实验名称均支持,不再会报错)
|
||||
- filelist取消强制utf8编码
|
||||
- 解决实时变声中开启索引导致的CPU极大占用问题
|
||||
|
||||
2-重点更新
|
||||
- 训练出当前最强开源人声音高提取模型RMVPE,并用于RVC的训练、离线/实时推理,支持pytorch/onnx/DirectML
|
||||
- 通过pytorch-dml支持A卡和I卡的
|
||||
(1)实时变声(2)推理(3)人声伴奏分离(4)训练暂未支持,会切换至CPU训练;通过onnx_dml支持rmvpe_gpu的推理
|
||||
|
||||
### 20230618更新
|
||||
- v2增加32k和48k两个新预训练模型
|
||||
- 修复非f0模型推理报错
|
||||
- 对于超过一小时的训练集的索引建立环节,自动kmeans缩小特征处理以加速索引训练、加入和查询
|
||||
- 附送一个人声转吉他玩具仓库
|
||||
- 数据处理剔除异常值切片
|
||||
- onnx导出选项卡
|
||||
|
||||
失败的实验:
|
||||
- ~~特征检索增加时序维度:寄,没啥效果~~
|
||||
- ~~特征检索增加PCAR降维可选项:寄,数据大用kmeans缩小数据量,数据小降维操作耗时比省下的匹配耗时还多~~
|
||||
- ~~支持onnx推理(附带仅推理的小压缩包):寄,生成nsf还是需要pytorch~~
|
||||
- ~~训练时在音高、gender、eq、噪声等方面对输入进行随机增强:寄,没啥效果~~
|
||||
- ~~接入小型声码器调研:寄,效果变差~~
|
||||
|
||||
todolist:
|
||||
- ~~训练集音高识别支持crepe:已经被RMVPE取代,不需要~~
|
||||
- ~~多进程harvest推理:已经被RMVPE取代,不需要~~
|
||||
- ~~crepe的精度支持和RVC-config同步:已经被RMVPE取代,不需要。支持这个还要同步torchcrepe的库,麻烦~~
|
||||
- 对接F0编辑器
|
||||
|
||||
|
||||
### 20230528更新
|
||||
- 增加v2的jupyter notebook,韩文changelog,增加一些环境依赖
|
||||
- 增加呼吸、清辅音、齿音保护模式
|
||||
- 支持crepe-full推理
|
||||
- UVR5人声伴奏分离加上3个去延迟模型和MDX-Net去混响模型,增加HP3人声提取模型
|
||||
- 索引名称增加版本和实验名称
|
||||
- 人声伴奏分离、推理批量导出增加音频导出格式选项
|
||||
- 废弃32k模型的训练
|
||||
|
||||
### 20230513更新
|
||||
- 清除一键包内部老版本runtime内残留的lib.infer_pack和uvr5_pack
|
||||
- 修复训练集预处理伪多进程的bug
|
||||
- 增加harvest识别音高可选通过中值滤波削弱哑音现象,可调整中值滤波半径
|
||||
- 导出音频增加后处理重采样
|
||||
- 训练n_cpu进程数从"仅调整f0提取"改为"调整数据预处理和f0提取"
|
||||
- 自动检测logs文件夹下的index路径,提供下拉列表功能
|
||||
- tab页增加"常见问题解答"(也可参考github-rvc-wiki)
|
||||
- 相同路径的输入音频推理增加了音高缓存(用途:使用harvest音高提取,整个pipeline会经历漫长且重复的音高提取过程,如果不使用缓存,实验不同音色、索引、音高中值滤波半径参数的用户在第一次测试后的等待结果会非常痛苦)
|
||||
|
||||
### 20230514更新
|
||||
- 音量包络对齐输入混合(可以缓解“输入静音输出小幅度噪声”的问题。如果输入音频背景底噪大则不建议开启,默认不开启(值为1可视为不开启))
|
||||
- 支持按照指定频率保存提取的小模型(假如你想尝试不同epoch下的推理效果,但是不想保存所有大checkpoint并且每次都要ckpt手工处理提取小模型,这项功能会非常实用)
|
||||
- 通过设置环境变量解决服务端开了系统全局代理导致浏览器连接错误的问题
|
||||
- 支持v2预训练模型(目前只公开了40k版本进行测试,另外2个采样率还没有训练完全)
|
||||
- 推理前限制超过1的过大音量
|
||||
- 微调数据预处理参数
|
||||
|
||||
|
||||
### 20230409更新
|
||||
- 修正训练参数,提升显卡平均利用率,A100最高从25%提升至90%左右,V100:50%->90%左右,2060S:60%->85%左右,P40:25%->95%左右,训练速度显著提升
|
||||
- 修正参数:总batch_size改为每张卡的batch_size
|
||||
- 修正total_epoch:最大限制100解锁至1000;默认10提升至默认20
|
||||
- 修复ckpt提取识别是否带音高错误导致推理异常的问题
|
||||
- 修复分布式训练每个rank都保存一次ckpt的问题
|
||||
- 特征提取进行nan特征过滤
|
||||
- 修复静音输入输出随机辅音or噪声的问题(老版模型需要重做训练集重训)
|
||||
|
||||
### 20230416更新
|
||||
- 新增本地实时变声迷你GUI,双击go-realtime-gui.bat启动
|
||||
- 训练推理均对<50Hz的频段进行滤波过滤
|
||||
- 训练推理音高提取pyworld最低音高从默认80下降至50,50-80hz间的男声低音不会哑
|
||||
- WebUI支持根据系统区域变更语言(现支持en_US,ja_JP,zh_CN,zh_HK,zh_SG,zh_TW,不支持的默认en_US)
|
||||
- 修正部分显卡识别(例如V100-16G识别失败,P4识别失败)
|
||||
|
||||
### 20230428更新
|
||||
- 升级faiss索引设置,速度更快,质量更高
|
||||
- 取消total_npy依赖,后续分享模型不再需要填写total_npy
|
||||
- 解锁16系限制。4G显存GPU给到4G的推理设置。
|
||||
- 修复部分音频格式下UVR5人声伴奏分离的bug
|
||||
- 实时变声迷你gui增加对非40k与不懈怠音高模型的支持
|
||||
|
||||
### 后续计划:
|
||||
功能:
|
||||
- 支持多人训练选项卡(至多4人)
|
||||
|
||||
底模:
|
||||
- 收集呼吸wav加入训练集修正呼吸变声电音的问题
|
||||
- 我们正在训练增加了歌声训练集的底模,未来会公开
|
||||
|
||||
93
docs/cn/faq.md
Normal file
93
docs/cn/faq.md
Normal file
@@ -0,0 +1,93 @@
|
||||
## Q1:ffmpeg error/utf8 error.
|
||||
|
||||
大概率不是ffmpeg问题,而是音频路径问题;<br>
|
||||
ffmpeg读取路径带空格、()等特殊符号,可能出现ffmpeg error;训练集音频带中文路径,在写入filelist.txt的时候可能出现utf8 error;<br>
|
||||
|
||||
## Q2:一键训练结束没有索引
|
||||
|
||||
显示"Training is done. The program is closed."则模型训练成功,后续紧邻的报错是假的;<br>
|
||||
|
||||
一键训练结束完成没有added开头的索引文件,可能是因为训练集太大卡住了添加索引的步骤;已通过批处理add索引解决内存add索引对内存需求过大的问题。临时可尝试再次点击"训练索引"按钮。<br>
|
||||
|
||||
## Q3:训练结束推理没看到训练集的音色
|
||||
点刷新音色再看看,如果还没有看看训练有没有报错,控制台和webui的截图,logs/实验名下的log,都可以发给开发者看看。<br>
|
||||
|
||||
## Q4:如何分享模型
|
||||
rvc_root/logs/实验名 下面存储的pth不是用来分享模型用来推理的,而是为了存储实验状态供复现,以及继续训练用的。用来分享的模型应该是weights文件夹下大小为60+MB的pth文件;<br>
|
||||
后续将把weights/exp_name.pth和logs/exp_name/added_xxx.index合并打包成weights/exp_name.zip省去填写index的步骤,那么zip文件用来分享,不要分享pth文件,除非是想换机器继续训练;<br>
|
||||
如果你把logs文件夹下的几百MB的pth文件复制/分享到weights文件夹下强行用于推理,可能会出现f0,tgt_sr等各种key不存在的报错。你需要用ckpt选项卡最下面,手工或自动(本地logs下如果能找到相关信息则会自动)选择是否携带音高、目标音频采样率的选项后进行ckpt小模型提取(输入路径填G开头的那个),提取完在weights文件夹下会出现60+MB的pth文件,刷新音色后可以选择使用。<br>
|
||||
|
||||
## Q5:Connection Error.
|
||||
也许你关闭了控制台(黑色窗口)。<br>
|
||||
|
||||
## Q6:WebUI弹出Expecting value: line 1 column 1 (char 0).
|
||||
请关闭系统局域网代理/全局代理。<br>
|
||||
|
||||
这个不仅是客户端的代理,也包括服务端的代理(例如你使用autodl设置了http_proxy和https_proxy学术加速,使用时也需要unset关掉)<br>
|
||||
|
||||
## Q7:不用WebUI如何通过命令训练推理
|
||||
训练脚本:<br>
|
||||
可先跑通WebUI,消息窗内会显示数据集处理和训练用命令行;<br>
|
||||
|
||||
推理脚本:<br>
|
||||
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/myinfer.py<br>
|
||||
|
||||
例子:<br>
|
||||
|
||||
runtime\python.exe myinfer.py 0 "E:\codes\py39\RVC-beta\todo-songs\1111.wav" "E:\codes\py39\logs\mi-test\added_IVF677_Flat_nprobe_7.index" harvest "test.wav" "weights/mi-test.pth" 0.6 cuda:0 True<br>
|
||||
|
||||
f0up_key=sys.argv[1]<br>
|
||||
input_path=sys.argv[2]<br>
|
||||
index_path=sys.argv[3]<br>
|
||||
f0method=sys.argv[4]#harvest or pm<br>
|
||||
opt_path=sys.argv[5]<br>
|
||||
model_path=sys.argv[6]<br>
|
||||
index_rate=float(sys.argv[7])<br>
|
||||
device=sys.argv[8]<br>
|
||||
is_half=bool(sys.argv[9])<br>
|
||||
|
||||
## Q8:Cuda error/Cuda out of memory.
|
||||
小概率是cuda配置问题、设备不支持;大概率是显存不够(out of memory);<br>
|
||||
|
||||
训练的话缩小batch size(如果缩小到1还不够只能更换显卡训练),推理的话酌情缩小config.py结尾的x_pad,x_query,x_center,x_max。4G以下显存(例如1060(3G)和各种2G显卡)可以直接放弃,4G显存显卡还有救。<br>
|
||||
|
||||
## Q9:total_epoch调多少比较好
|
||||
|
||||
如果训练集音质差底噪大,20~30足够了,调太高,底模音质无法带高你的低音质训练集<br>
|
||||
如果训练集音质高底噪低时长多,可以调高,200是ok的(训练速度很快,既然你有条件准备高音质训练集,显卡想必条件也不错,肯定不在乎多一些训练时间)<br>
|
||||
|
||||
## Q10:需要多少训练集时长
|
||||
推荐10min至50min<br>
|
||||
保证音质高底噪低的情况下,如果有个人特色的音色统一,则多多益善<br>
|
||||
高水平的训练集(精简+音色有特色),5min至10min也是ok的,仓库作者本人就经常这么玩<br>
|
||||
也有人拿1min至2min的数据来训练并且训练成功的,但是成功经验是其他人不可复现的,不太具备参考价值。这要求训练集音色特色非常明显(比如说高频气声较明显的萝莉少女音),且音质高;<br>
|
||||
1min以下时长数据目前没见有人尝试(成功)过。不建议进行这种鬼畜行为。<br>
|
||||
|
||||
## Q11:index rate干嘛用的,怎么调(科普)
|
||||
如果底模和推理源的音质高于训练集的音质,他们可以带高推理结果的音质,但代价可能是音色往底模/推理源的音色靠,这种现象叫做"音色泄露";<br>
|
||||
index rate用来削减/解决音色泄露问题。调到1,则理论上不存在推理源的音色泄露问题,但音质更倾向于训练集。如果训练集音质比推理源低,则index rate调高可能降低音质。调到0,则不具备利用检索混合来保护训练集音色的效果;<br>
|
||||
如果训练集优质时长多,可调高total_epoch,此时模型本身不太会引用推理源和底模的音色,很少存在"音色泄露"问题,此时index_rate不重要,你甚至可以不建立/分享index索引文件。<br>
|
||||
|
||||
## Q11:推理怎么选gpu
|
||||
config.py文件里device cuda:后面选择卡号;<br>
|
||||
卡号和显卡的映射关系,在训练选项卡的显卡信息栏里能看到。<br>
|
||||
|
||||
## Q12:如何推理训练中间保存的pth
|
||||
通过ckpt选项卡最下面提取小模型。<br>
|
||||
|
||||
|
||||
## Q13:如何中断和继续训练
|
||||
现阶段只能关闭WebUI控制台双击go-web.bat重启程序。网页参数也要刷新重新填写;<br>
|
||||
继续训练:相同网页参数点训练模型,就会接着上次的checkpoint继续训练。<br>
|
||||
|
||||
## Q14:训练时出现文件页面/内存error
|
||||
进程开太多了,内存炸了。你可能可以通过如下方式解决<br>
|
||||
1、"提取音高和处理数据使用的CPU进程数" 酌情拉低;<br>
|
||||
2、训练集音频手工切一下,不要太长。<br>
|
||||
|
||||
|
||||
## Q15:如何中途加数据训练
|
||||
1、所有数据新建一个实验名;<br>
|
||||
2、拷贝上一次的最新的那个G和D文件(或者你想基于哪个中间ckpt训练,也可以拷贝中间的)到新实验名;下<br>
|
||||
3、一键训练新实验名,他会继续上一次的最新进度训练。<br>
|
||||
|
||||
Reference in New Issue
Block a user