1
0
mirror of https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI.git synced 2026-06-05 01:10:22 +08:00

doc(cn): tidy format of Changelog

This commit is contained in:
源文雨
2024-06-05 16:05:40 +09:00
parent a322e706f9
commit 19ffe2c03c
2 changed files with 127 additions and 70 deletions

View File

@@ -1,30 +1,40 @@
### 20231006更新
我们制作了一个用于实时变声的界面go-realtime-gui.bat/gui_v1.py事实上早就存在了本次更新重点也优化了实时变声的性能。对比0813版
- 1、优优化界面操作参数热更新调整参数不需要中止再启动懒加载模型已加载过的模型不需要重新加载增加响度因子参数响度向输入音频靠近
- 2、优化自带降噪效果与速度
- 3、大幅优化推理速度
我们制作了一个用于实时变声的界面go-realtime-gui.bat/gui_v1.py事实上早就存在了本次更新重点也优化了实时变声的性能。
对比0813版
1. 优化界面操作
- 参数热更新(调整参数不需要中止再启动)
- 懒加载模型(已加载过的模型不需要重新加载)
- 增加响度因子参数(响度向输入音频靠近)
2. 优化自带降噪效果与速度
3. 大幅优化推理速度
注意输入输出设备应该选择同种类型例如都选MME类型。
1006版本整体的更新为
- 1、继续提升rmvpe音高提取算法效果对于男低音有更大的提升
- 2、优化推理界面布局
1. 继续提升rmvpe音高提取算法效果对于男低音有更大的提升
2. 优化推理界面布局
### 20230813更新
1-常规bug修复
- 保存频率总轮数最低改为1 总轮数最低改为2
- 修复无pretrain模型训练报错
- 增加伴奏人声分离完毕清理显存
- faiss保存路径绝对路径改为相对路径
- 支持路径包含空格(训练集路径+实验名称均支持,不再会报错)
- filelist取消强制utf8编码
- 解决实时变声中开启索引导致的CPU极大占用问题
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的推理
2. 重点更新
- 训练出当前最强开源人声音高提取模型RMVPE并用于RVC的训练、离线/实时推理支持pytorch/onnx/DirectML
- 通过pytorch-dml支持A卡和I卡的
1. 实时变声
2. 推理
3. 人声伴奏分离
4. 训练暂未支持会切换至CPU训练
5. 通过onnx_dml支持rmvpe_gpu的推理
### 20230618更新
- v2增加32k和48k两个新预训练模型
@@ -47,7 +57,6 @@ todolist
- ~~crepe的精度支持和RVC-config同步已经被RMVPE取代不需要。支持这个还要同步torchcrepe的库麻烦~~
- 对接F0编辑器
### 20230528更新
- 增加v2的jupyter notebook韩文changelog增加一些环境依赖
- 增加呼吸、清辅音、齿音保护模式
@@ -106,4 +115,3 @@ todolist
底模
- 收集呼吸wav加入训练集修正呼吸变声电音的问题
- 我们正在训练增加了歌声训练集的底模未来会公开

View File

@@ -1,95 +1,144 @@
## Q1:ffmpeg error/utf8 error.
大概率不是ffmpeg问题而是音频路径问题<br>
ffmpeg读取路径带空格、()等特殊符号可能出现ffmpeg error训练集音频带中文路径在写入filelist.txt的时候可能出现utf8 error<br>
大概率不是ffmpeg问题而是音频路径问题
ffmpeg读取路径带空格、()等特殊符号可能出现ffmpeg error训练集音频带中文路径在写入filelist.txt的时候可能出现utf8 error
## Q2:一键训练结束没有索引
显示"Training is done. The program is closed."则模型训练成功,后续紧邻的报错是假的;<br>
显示"Training is done. The program is closed."则模型训练成功,后续紧邻的报错是假的;
一键训练结束完成没有added开头的索引文件可能是因为训练集太大卡住了添加索引的步骤已通过批处理add索引解决内存add索引对内存需求过大的问题。临时可尝试再次点击"训练索引"按钮。
一键训练结束完成没有added开头的索引文件可能是因为训练集太大卡住了添加索引的步骤已通过批处理add索引解决内存add索引对内存需求过大的问题。临时可尝试再次点击"训练索引"按钮。<br>
## Q3:训练结束推理没看到训练集的音色
点刷新音色再看看如果还没有看看训练有没有报错控制台和webui的截图logs/实验名下的log都可以发给开发者看看。<br>
点刷新音色再看看如果还没有看看训练有没有报错控制台和webui的截图logs/实验名下的log都可以发给开发者看看。
## 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文件夹下强行用于推理可能会出现f0tgt_sr等各种key不存在的报错。你需要用ckpt选项卡最下面手工或自动本地logs下如果能找到相关信息则会自动选择是否携带音高、目标音频采样率的选项后进行ckpt小模型提取输入路径填G开头的那个提取完在weights文件夹下会出现60+MB的pth文件刷新音色后可以选择使用。<br>
rvc_root/logs/实验名 下面存储的pth不是用来分享模型用来推理的而是为了存储实验状态供复现以及继续训练用的。用来分享的模型应该是weights文件夹下大小为60+MB的pth文件
后续将把weights/exp_name.pth和logs/exp_name/added_xxx.index合并打包成weights/exp_name.zip省去填写index的步骤那么zip文件用来分享不要分享pth文件除非是想换机器继续训练
如果你把logs文件夹下的几百MB的pth文件复制/分享到weights文件夹下强行用于推理可能会出现f0tgt_sr等各种key不存在的报错。你需要用ckpt选项卡最下面手工或自动本地logs下如果能找到相关信息则会自动选择是否携带音高、目标音频采样率的选项后进行ckpt小模型提取输入路径填G开头的那个提取完在weights文件夹下会出现60+MB的pth文件刷新音色后可以选择使用。
## Q5:Connection Error.
也许你关闭了控制台(黑色窗口)。<br>
也许你关闭了控制台(黑色窗口)。
## Q6:WebUI弹出Expecting value: line 1 column 1 (char 0).
请关闭系统局域网代理/全局代理。<br>
请关闭系统局域网代理/全局代理。
这个不仅是客户端的代理也包括服务端的代理例如你使用autodl设置了http_proxy和https_proxy学术加速使用时也需要unset关掉
这个不仅是客户端的代理也包括服务端的代理例如你使用autodl设置了http_proxy和https_proxy学术加速使用时也需要unset关掉<br>
## Q7:不用WebUI如何通过命令训练推理
训练脚本:<br>
可先跑通WebUI消息窗内会显示数据集处理和训练用命令行<br>
训练脚本:
推理脚本:<br>
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/myinfer.py<br>
可先跑通WebUI消息窗内会显示数据集处理和训练用命令行
例子:<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>
推理脚本:
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/myinfer.py
例子:
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
f0up_key=sys.argv[1]
input_path=sys.argv[2]
index_path=sys.argv[3]
f0method=sys.argv[4]#harvest or pm
opt_path=sys.argv[5]
model_path=sys.argv[6]
index_rate=float(sys.argv[7])
device=sys.argv[8]
is_half=bool(sys.argv[9])
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>
小概率是cuda配置问题、设备不支持大概率是显存不够out of memory
训练的话缩小batch size如果缩小到1还不够只能更换显卡训练推理的话酌情缩小config.py结尾的x_padx_queryx_centerx_max。4G以下显存例如10603G和各种2G显卡可以直接放弃4G显存显卡还有救。
训练的话缩小batch size如果缩小到1还不够只能更换显卡训练推理的话酌情缩小config.py结尾的x_padx_queryx_centerx_max。4G以下显存例如10603G和各种2G显卡可以直接放弃4G显存显卡还有救。<br>
## Q9:total_epoch调多少比较好
如果训练集音质差底噪大20~30足够了调太高底模音质无法带高你的低音质训练集<br>
如果训练集音质高底噪低时长多可以调高200是ok的训练速度很快既然你有条件准备高音质训练集显卡想必条件也不错肯定不在乎多一些训练时间<br>
如果训练集音质差底噪大20~30足够了调太高底模音质无法带高你的低音质训练集
如果训练集音质高底噪低时长多可以调高200是ok的训练速度很快既然你有条件准备高音质训练集显卡想必条件也不错肯定不在乎多一些训练时间
## Q10:需要多少训练集时长
推荐10min至50min<br>
  保证音质高底噪低的情况下,如果有个人特色的音色统一,则多多益善<br>
高水平的训练集(精简+音色有特色5min至10min也是ok的仓库作者本人就经常这么玩<br>
也有人拿1min至2min的数据来训练并且训练成功的但是成功经验是其他人不可复现的不太具备参考价值。这要求训练集音色特色非常明显比如说高频气声较明显的萝莉少女音且音质高<br>
1min以下时长数据目前没见有人尝试成功过。不建议进行这种鬼畜行为。<br>
推荐10min至50min
保证音质高底噪低的情况下,如果有个人特色的音色统一,则多多益善
高水平的训练集(精简+音色有特色5min至10min也是ok的仓库作者本人就经常这么玩
也有人拿1min至2min的数据来训练并且训练成功的但是成功经验是其他人不可复现的不太具备参考价值。这要求训练集音色特色非常明显比如说高频气声较明显的萝莉少女音且音质高
1min以下时长数据目前没见有人尝试成功过。不建议进行这种鬼畜行为。
## Q11:index rate干嘛用的怎么调科普
  如果底模和推理源的音质高于训练集的音质,他们可以带高推理结果的音质,但代价可能是音色往底模/推理源的音色靠,这种现象叫做"音色泄露"<br>
index rate用来削减/解决音色泄露问题。调到1则理论上不存在推理源的音色泄露问题但音质更倾向于训练集。如果训练集音质比推理源低则index rate调高可能降低音质。调到0则不具备利用检索混合来保护训练集音色的效果<br>
如果训练集优质时长多可调高total_epoch此时模型本身不太会引用推理源和底模的音色很少存在"音色泄露"问题,此时index_rate不重要,你甚至可以不建立/分享index索引文件。<br>
  如果底模和推理源的音质高于训练集的音质,他们可以带高推理结果的音质,但代价可能是音色往底模/推理源的音色靠,这种现象叫做"音色泄露"
index rate用来削减/解决音色泄露问题。调到1则理论上不存在推理源的音色泄露问题,但音质更倾向于训练集。如果训练集音质比推理源低,则index rate调高可能降低音质。调到0则不具备利用检索混合来保护训练集音色的效果
如果训练集优质时长多可调高total_epoch此时模型本身不太会引用推理源和底模的音色很少存在"音色泄露"问题此时index_rate不重要你甚至可以不建立/分享index索引文件。
## Q11:推理怎么选gpu
config.py文件里device cuda:后面选择卡号;<br>
卡号和显卡的映射关系,在训练选项卡的显卡信息栏里能看到。<br>
config.py文件里device cuda:后面选择卡号;
卡号和显卡的映射关系,在训练选项卡的显卡信息栏里能看到。
## Q12:如何推理训练中间保存的pth
通过ckpt选项卡最下面提取小模型。<br>
通过ckpt选项卡最下面提取小模型。
## Q13:如何中断和继续训练
现阶段只能关闭WebUI控制台双击go-web.bat重启程序。网页参数也要刷新重新填写<br>
继续训练相同网页参数点训练模型就会接着上次的checkpoint继续训练。<br>
现阶段只能关闭WebUI控制台双击go-web.bat重启程序。网页参数也要刷新重新填写
继续训练相同网页参数点训练模型就会接着上次的checkpoint继续训练。
## Q14:训练时出现文件页面/内存error
进程开太多了,内存炸了。你可能可以通过如下方式解决<br>
1、"提取音高和处理数据使用的CPU进程数" 酌情拉低;<br>
2、训练集音频手工切一下不要太长。<br>
进程开太多了,内存炸了。你可能可以通过如下方式解决
1、"提取音高和处理数据使用的CPU进程数" 酌情拉低;
2、训练集音频手工切一下不要太长。
## Q15:如何中途加数据训练
1、所有数据新建一个实验名<br>
2、拷贝上一次的最新的那个G和D文件或者你想基于哪个中间ckpt训练也可以拷贝中间的到新实验名<br>
3、一键训练新实验名他会继续上一次的最新进度训练。<br>
1、所有数据新建一个实验名
2、拷贝上一次的最新的那个G和D文件或者你想基于哪个中间ckpt训练也可以拷贝中间的到新实验名
3、一键训练新实验名他会继续上一次的最新进度训练。
## Q16: error about llvmlite.dll