翼度科技»论坛 编程开发 python 查看内容

RVC1006AMD_Intel的使用教程和一些Bug(building 'fairseq.libbleu'

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
  1. _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
将下列几个选项勾选 (就是前五个):

    1. - `Install Python 3.10 for all users`
    2. - `Associate files with Python (requires the 'py' launcher)`
    3. - `Create shortcuts for installed applications`
    4. - `Add Python to environment variables:`
    5. - `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/
    1. pip install torch torchvision torchaudio
    复制代码
  • 如果是 win 系统 + Nvidia Ampere 架构(RTX30xx),根据 #21 的经验,需要指定 pytorch 对应的 CUDA 版本
    1. pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    复制代码
  • 根据自己的显卡安装对应依赖

    • N卡
      1. pip install -r requirements.txt
      复制代码
    • A卡/I卡
      1. pip install -r requirements-dml.txt
      复制代码
    • A卡ROCM(Linux)
      1. pip install -r requirements-amd.txt
      复制代码
    • I卡IPEX(Linux)
      1. pip install -r requirements-ipex.txt
      复制代码

如果遇到了 building 'fairseq.libbleu' extension 错误(请检查上下文, 这个错误不一定出现在最后一行), 请参考最下方关于这个错误的解决方案
三, 尝试运行

1. 音频文件换声

​                只用换声或者不推演模型可以不用管
​                在目录下打开 cmd, 输入 python infer_web.py
​                在弹出来的浏览器窗口中

  • 选择推理音色
  • 输入音频文件在本地的绝对路径
  • 点击下方的转换, 尝试换声
tips: 建议使用小一点的音频, 确认可用了再换成大的
​                转换完成后的音频会出现在浏览器的输出音频中, 试听后感觉还可以就直接下载
​                如果报错, 并且检查上下文发现这两句话的其中一句, 请看报错, 我对这两种报错都有方案(这是重灾区):
  1. - ValueError: mode must be 'r', 'w', or None, got: rb
  2. - 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' 这个值, 例:
  1. # 以前
  2. out = av.open(o, "w", format=audio_format)
  3. # 修改
  4. out = av.open(o, "w", format=audio_format, metadata_encoding='utf-8')
复制代码
重点是添加值, 不要直接复制粘贴整个语句 (我的代码为了 Debug 是被修改过的)
不要忘记添加 ',' 来分隔值

来源:https://www.cnblogs.com/koji233/p/18162834
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具