RVC1006AMD_Intel的使用教程和一些Bug(building 'fairseq.libbleu', ValueError, UnicodeDecodeError)的解决方法

_Windows 10, x64, python 3.10.x 情况下部署 RVC1006AMD_Inter 包的过程_

相关链接:

Retrieval-based-Voice-Conversion-WebUI (RVC) GitHub 项目地址

vs_BuildTools 下载地址

一, 下载相关的包

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)

  1. 安装 pytorch 及其核心依赖,若已安装则跳过。参考自:

    https://pytorch.org/get-started/locally/

    pip install torch torchvision torchaudio
    
  2. 如果是 win 系统 + Nvidia Ampere 架构(RTX30xx),根据 #21 的经验,需要指定 pytorch 对应的 CUDA 版本

    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    
  3. 根据自己的显卡安装对应依赖

    • 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

​ 在弹出来的浏览器窗口中

  1. 选择推理音色
  2. 输入音频文件在本地的绝对路径
  3. 点击下方的转换, 尝试换声

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 是被修改过的)

不要忘记添加 ',' 来分隔值

posted @ 2024-04-28 00:10  Koji_233  阅读(549)  评论(0编辑  收藏  举报