RVC1006AMD_Intel的使用教程和一些Bug(building 'fairseq.libbleu', ValueError, UnicodeDecodeError)的解决方法
_Windows 10, x64, python 3.10.x 情况下部署 RVC1006AMD_Inter 包的过程_
相关链接:
一, 下载相关的包
RVC
官方提供了163云盘的资源下载链接,点击这里跳转到链接处
如果链接失效了, 请通过上边的相关链接的 "
Retrieval-based-Voice-Conversion-WebUI (RVC) GitHub
项目地址 " 跳转到GitHub
下载注意, 这个包比较大, 建议优先部署下面的包
Python ( 安装了 Python 的可以跳过这一步 )
Python 的安装程序直接去官网处下载, 防小白在这里放个下载链接
在官网的
Looking for a specific release?
栏中找到Python 3.10.x
(x
指代任意数字, 意思是只要是 3.10 就可以了), 点击右边的Download
找到
Files
栏, 在栏里找到Windows Installer
项(如果是x64
的话下载x64
版的), 直接点击项下载 (不是右边的GPG
或者Sigstore
), 下载好后运行.在打开的界面勾选上
Add python.exe to PATH
然后选择Customize installation
, 勾选上全部选项然后Next
将下列几个选项勾选 (就是前五个):
- `Install Python 3.10 for all users` - `Associate files with Python (requires the 'py' launcher)` - `Create shortcuts for installed applications` - `Add Python to environment variables:` - `Precompile standard library`
然后
Install
等待运行完成验证安装:
打开
cmd
, 输入python --version
, 如果输出Python 3.10.11
则配置正常, 如果报错则尝试将python
改成py
(并且接下来所有在命令行里python
的字眼都要被替换为py
), 如果仍然报错请检查电脑是否安装了其他的Python
或者Python
并没有被正确的安装输入
pip --version
, 如果输出pip xx.xx from C:\Program Files\Python310\lib\site-packages\pip (python 3.10)
则安装成功, 不得的话自行百度: "'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。
"
二, 安装依赖环境
进入 RVC
的目录, 打开 cmd
至目录路径(不会cd命令自行百度, 目录例如: C:\\User\\Administrator\\Downloads\\RVC1006AMD_Intel1
)
-
安装
pytorch
及其核心依赖,若已安装则跳过。参考自:https://pytorch.org/get-started/locally/
pip install torch torchvision torchaudio
-
如果是 win 系统 + Nvidia Ampere 架构(RTX30xx),根据 #21 的经验,需要指定 pytorch 对应的 CUDA 版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
-
根据自己的显卡安装对应依赖
-
N卡
pip install -r requirements.txt
-
A卡/I卡
pip install -r requirements-dml.txt
-
A卡ROCM(Linux)
pip install -r requirements-amd.txt
-
I卡IPEX(Linux)
pip install -r requirements-ipex.txt
-
如果遇到了 building 'fairseq.libbleu' extension
错误(请检查上下文, 这个错误不一定出现在最后一行), 请参考最下方关于这个错误的解决方案
三, 尝试运行
1. 音频文件换声
只用换声或者不推演模型可以不用管
在目录下打开 cmd
, 输入 python infer_web.py
在弹出来的浏览器窗口中
- 选择推理音色
- 输入音频文件在本地的绝对路径
- 点击下方的转换, 尝试换声
tips: 建议使用小一点的音频, 确认可用了再换成大的
转换完成后的音频会出现在浏览器的输出音频中, 试听后感觉还可以就直接下载
如果报错, 并且检查上下文发现这两句话的其中一句, 请看报错, 我对这两种报错都有方案(这是重灾区):
- ValueError: mode must be 'r', 'w', or None, got: rb
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 25: illegal multibyte sequence
2. AI 换声
这篇文章写得太好了, 不需要我补充任何内容, 建议看这篇
报错:
building 'fairseq.libbleu' extension
解决方案: 需要安装 Visual Studio Installer
并安装 Visual Studio 2022 (这是临时的, 报错解决后可以删除)
点击
vs_BuildTools
下载地址 , 然后点击跳转出来的网页的"下载生成工具"来下载vs_BuildTools
打开
vs_BuildTools
, 点击继续, 让它安装Visual Studio Installer
, 安装完成后会自动打开Visual Studio Installer
在打开的窗口中选中 '使用 C++ 的桌面开发', 在右边的可选栏中启用 MSVC (最新) 和 默认的 windows SDK, 其他的关闭, 然后安装
安装完了之后尝试使用在
cmd
中使用命令pip install fairseq
, 如果仍然报错(没有 Install Success 字样而是 Error 的) 请尝试多种 windows SDK 和 MSVC 提一嘴: 对于大部分人来说
conda
用起来并不简单, 而且更重要的是我试过了5, 6个不同的办法, 全部没用, 所以还是返璞归真装上了 Visual Studio (反正这个文件只用编译一次, 用完就把 VS 删了, 没啥大问题, 要是团队开发的话, 这种方案明显更加稳妥吧, 也就浪费那点时间, 除非要经常更换开发环境不然还是用 VS 方便得多)
ValueError: mode must be 'r', 'w', or None, got: rb
解决方案: 修改库文件
用记事本打开
RVC1006AMD_Intel1\infer\lib\audio.py
文件将所有
av.open(*****)
中"rb"
或者是"wb"
修改为"r"
和"w"
注意: !!! 最下面的那个
with open(file, "rb") as f:
是不用改的 !!! 别把 "r" 写成 "w" (我)!!!保存后重新运行解决
UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 25: illegal multibyte sequence
解决方案: 修改库文件
用记事本打开
RVC1006AMD_Intel1\infer\lib\audio.py
文件向所有
av.open(*****)
中添加metadata_encoding='utf-8'
这个值, 例:# 以前 out = av.open(o, "w", format=audio_format) # 修改 out = av.open(o, "w", format=audio_format, metadata_encoding='utf-8')
重点是添加值, 不要直接复制粘贴整个语句 (我的代码为了
Debug
是被修改过的)不要忘记添加 ',' 来分隔值