RVC-WebUI 快速启动与部署指南:Windows / Linux / macOS 一键运行、启动脚本链路与常见故障排查
人工智能AI 应用语音音频【免费下载链接】rvc-webuiliujing04/Retrieval-based-Voice-Conversion-WebUI reconstruction project项目地址https://gitcode.com/gh_mirrors/rv/rvc-webui点击查看免费下载本篇技术指南以rvc-webui仓库的日文版 READMEREADME-ja.md为骨架围绕「如何启动 WebUI、如何理解启动脚本的完整链路、如何解决启动过程中的典型错误」展开。读完本文你将掌握 Windows 下双击启动、Linux / macOS 下脚本启动的正确姿势理解webui-user.bat→webui.bat→launch.py→webui.py的调用关系与可配置项并能独立处理Microsoft Visual C 14.0 or greater is required.等高频故障。RVC-WebUI 是liujing04/Retrieval-based-Voice-Conversion-WebUI的重构项目repository 描述为 reconstruction project在保留 RVC 检索式语音转换核心能力的同时将训练、推理、模型合并、音频切片等流程统一收纳进 Gradio Web 界面。本文所有内容均以当前仓库实际代码与配置为准。一、快速启动三种平台的入口官方 README 给出的启动方式非常简洁核心只有两条路径平台操作入口脚本Windows双击webui-user.batwebui-user.batLinux / macOS执行webui.shwebui.shREADME 同时注明了仓库作者声明的测试环境测试环境: Windows 10, Python 3.10.9, torch 2.0.0cu118这意味着在 Windows 10 Python 3.10.9 torch 2.0.0CUDA 11.8 版的组合下按上述方式启动是经过验证的路径其他 Python 版本或 torch 组合理论上可用但需要自行承担兼容性风险。如果你希望使用与作者一致的 Python 版本建议通过 webui-user.shmacOS/Linux或webui-user.batWindows指定 Python 解释器具体方法见下文「自定义启动配置」小节。二、启动脚本完整链路从双击到 WebUI 上线看似简单的「双击 / 执行一条命令」背后其实是多级脚本接力。理解这条链路才能精准定位启动失败时的故障点。2.1 Windows 链路webui-user.bat → webui.bat → launch.py → webui.py第一步双击的 webui-user.bat 内容极短本质是一个「用户配置入口」echo off set PYTHON set GIT set VENV_DIR set COMMANDLINE_ARGS call webui.bat它预置了四个可覆写的环境变量默认均为空随后把控制权交给 webui.bat。webui.bat 完成以下工作环境探测用%PYTHON% -c 检查 Python 是否可执行用-mpip --help检查 pip 是否可用失败时把 stdout/stderr 写入tmp/目录并向用户展示。创建虚拟环境VENV_DIR未定义时默认为仓库根目录下的venv若%VENV_DIR%\Scripts\Python.exe不存在则用系统 Python 执行python -m venv %VENV_DIR%创建创建成功后将PYTHON指向%VENV_DIR%\Scripts\Python.exe并激活。启动入口最终执行%PYTHON% launch.py %*把webui-user.bat中设置的COMMANDLINE_ARGS通过环境变量一并带入。2.2 Linux / macOS 链路webui.sh → webui-user.sh → launch.py → webui.pywebui.sh 的流程更完整包含多条防御性检查加载配置macOS 下优先加载 webui-macos-env.sh 中的默认值随后加载用户可编辑的 webui-user.sh若存在。拒绝 root 运行默认can_run_as_root0以 root 身份执行会被拦截并输出ERROR: This script must not be launched as root, aborting...如需强制运行可给脚本加-f参数./webui.sh -f。前置依赖检查依次检查git、python3是否在 PATH 中缺失时报ERROR: X is not installed, aborting...并检查python3 -c import venv是否可用缺失时报ERROR: python3-venv is not installed, aborting...Ubuntu/Debian 下需sudo apt install python3-venv。创建并激活虚拟环境venv_dir未定义时默认为仓库根目录下的venv首次启动会执行python3 -m venv venv。移交入口最后exec python3 launch.py $。从源码结构看webui.sh中还有一段针对 AMD GPU 的逻辑当检测到 AMD 显卡且未显式设置TORCH_COMMAND时会把 torch 安装命令切换为 ROCm 5.2 的 extra-index-url 版本对应 webui.sh。这是「从源码结构看」的预设分支是否实际生效取决于运行环境的显卡与变量设置。2.3 launch.py环境准备与真正入口无论哪个平台最终都汇聚到 launch.py。它先读取环境变量COMMANDLINE_ARGS并shlex.split后追加进sys.argv然后执行prepare_environment()打印 Python 版本与git rev-parse HEAD提交号检查torch/torchaudio是否已安装未安装或指定--reinstall-torch时执行TORCH_COMMAND默认pip install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu118对应 README 测试环境中的 torch 2.0.0cu118安装requirements.txtrequirements.txt 实际引用 requirements/main.txt其中锁定 gradio 3.36.1、faiss-cpu 1.7.3、fairseq 0.12.2、librosa 0.9.1、pyworld 0.3.2、torchcrepe 0.0.20 等版本若带--ngrok参数额外安装pyngrok支持--skip-install跳过全部依赖安装步骤适合依赖已就绪的二次启动。准备完毕后调用start()把仓库根目录下的bin/加入PATH然后执行webui.py。2.4 webui.pyGradio 界面组装与监听webui.py 的核心只有数行def webui(): app ui.create_ui() app.queue(64) app, local_url, share_url app.launch( server_namecmd_opts.opts.host, server_portcmd_opts.opts.port, sharecmd_opts.opts.share, )ui.create_ui()在 modules/ui.py 中实现遍历modules/tabs/下的 Tab 类并按sort()排序注册为 Gradio 标签页app.queue(64)开启请求队列监听地址、端口与是否开启 Gradio Share 均由命令行参数决定见下节。仓库中另一个入口 dev.py 直接ui.create_ui()构建 demo适合开发调试场景webui.py才是正式启动入口。三、自定义启动配置webui-user.sh 与 webui-user.bat 的可调变量webui-user.sh 顶部注释明确写着「Uncomment and change the variables below to your need」即所有配置项默认注释、按需取消注释修改。完整变量清单如下变量默认值作用COMMANDLINE_ARGS空传给webui.py的命令行参数如--medvram --opt-split-attention注释中的示例python_cmdpython3指定 Python 解释器可执行文件GITgit指定 git 可执行文件venv_dirvenv虚拟环境目录不带尾部斜杠相对仓库根目录LAUNCH_SCRIPTlaunch.py要启动的入口脚本TORCH_COMMAND见 launch.py 默认值自定义 torch 安装命令例如pip install torch --extra-index-url https://download.pytorch.org/whl/cu118REQS_FILErequirements_versions.txt注释示例指定依赖清单文件Windows 侧与之对应的是webui-user.bat中的PYTHON、GIT、VENV_DIR、COMMANDLINE_ARGS四个变量。例如希望强制使用某个 Python 版本set PYTHONC:\path\to\python.exe set COMMANDLINE_ARGS--precision fp32macOS 用户则无需手动指定启动脚本会加载 webui-macos-env.sh其中已预置python3.10优先、PYTORCH_ENABLE_MPS_FALLBACK1等 macOS 默认值保证在 Apple Silicon / MPS 环境下 torch 相关调用可回退到 CPU 路径。四、webui.py 命令行参数全解命令行参数在 modules/cmd_opts.py 中统一解析通过webui-user.sh的COMMANDLINE_ARGS传入或在 Windows 下直接set COMMANDLINE_ARGS...后启动参数类型默认值说明--hoststr127.0.0.1监听地址如需局域网访问可设为0.0.0.0--portint未指定监听端口由argparse自动分配--share布尔开关关闭启用 Gradio Share生成可分享的公网链接--models-dirstrNone回落为仓库models/模型目录路径--output-dirstrNone回落为仓库outputs/推理输出目录路径--precisionfp32 / fp16fp16计算精度--models-dir与--output-dir的回落逻辑分别位于 modules/models.pyMODELS_DIR opts.models_dir or os.path.join(ROOT_DIR, models)与 modules/models.pyAUDIO_OUT_DIR opts.output_dir or os.path.join(ROOT_DIR, outputs)与仓库根目录下的models/、outputs/目录一一对应。--precision直接影响推理管线在 modules/shared.py 中is_half opts.precision fp16且当 GPU 计算能力torch.cuda.get_device_capability()[0]低于 5.3 时会被强制回退为 FP32 并打印WARNING: FP16 is not supported on this GPU无 CUDA 的机器则会依次尝试 MPSmacOS与 CPU。因此老显卡或不支持 FP16 的环境不必手动降级脚本会自动处理但你也可以在配置中显式指定--precision fp32。此外launch.py还识别三个专属参数--skip-install跳过依赖安装、--reinstall-torch强制重装 torch/torchaudio、--ngrok安装并配合 Gradio Share 使用 ngrok 隧道。五、首次启动的自动准备模型下载与 ffmpeg第一次启动时ui.create_ui()会先调用preload()modules/core.py自动完成三项初始化无需用户干预模型文件名迁移update_modelnames()把旧版命名如f0G40k.pth重命名为f0G40k256.pth与旧目录models/hubert_base.pt迁移至models/embeddings/规整到新布局。基础模型下载download_models()从模型的 Hugging Face 仓库下载pretrained/v2下的D40k.pth、G40k.pth、f0D40k.pth、f0G40k.pth以及embeddings/下的checkpoint_best_legacy_500.ptcontentvec 嵌入与rinna_hubert_base_jp.pt日语 Hubert 嵌入源自 rinna 官方模型。这些文件对应仓库目录 models/pretrained 与 models/embeddings。下载前会通过 Hugging Face 的 ETag 与本地 SHA-256 比对跳过已完整下载的文件。Windows 专用ffmpeg 安装install_ffmpeg()仅当sys.platform win32时触发自动下载 ffmpeg 5.1.2 essentials 构建并解压到仓库根目录bin/ffmpeg.exe。Linux / macOS 用户需自行确保系统 ffmpeg 可用因为推理时的音频解码依赖 ffmpeg见 modules/utils.py 的load_audio()它通过 ffmpeg 子进程完成任意格式音频的解码、降混与重采样。下载与准备均在启动时自动完成因此首次启动耗时较长需拉取预训练权重后续启动会因文件已就绪而显著加快。六、故障排查从 README 到源码级定位6.1error: Microsoft Visual C 14.0 or greater is required.这是 README 中唯一单列的故障条目原因是部分 Python 依赖如pyworld、fairseq的 C 扩展在 Windows 上需要 MSVC 编译器支持。README 给出的官方解决步骤为Step 1下载安装程序——前往 Microsoft Visual Studio 官方 Build Tools 下载页面获取安装器Step 2安装C Build Tools——运行安装器后在Workloads工作负载选项卡中勾选C Build Tools组件完成安装随后重新运行webui-user.bat。该错误通常出现在依赖安装阶段即launch.py执行pip install -r requirements.txt时因此修复编译器后需要让安装流程重跑一遍若依赖已部分就绪可先--skip-install快速验证再逐步补齐。6.2 其他常见启动错误源码级排查结合 webui.sh 与 modules/shared.py还有几类高频报错可对号入座报错信息原因与处理This script must not be launched as root, aborting...Linux 下用 root 直接运行webui.sh被拦截改用普通用户或./webui.sh -f强制运行ERROR: python3-venv is not installed, aborting...系统缺少 venv 模块Debian/Ubuntu 安装python3-venv包后重试ERROR: git/python3 is not installed, aborting...git或python3不在 PATH安装对应软件并确保可执行WARNING: FP16 is not supported on this GPU显卡计算能力低于 5.3自动回退 FP32属正常降级提示不影响启动Couldnt launch pythonWindowswebui.bat探测 Python 失败检查webui-user.bat中的set PYTHON...是否指向有效解释器6.3 依赖版本提示若自行在非 README 声明的环境下安装注意 requirements/main.txt 对关键库做了版本锁定如gradio3.36.1、numpy1.23.5、librosa0.9.1launch.py安装时还统一附加了--prefer-binary以优先使用预编译轮子这能明显降低 Windows 下源码编译失败的概率。如需自定义依赖清单可在webui-user.sh中通过REQS_FILE指向其他文件该变量为注释中的示例配置实际使用需自行确认文件存在。七、启动成功后的 WebUI 功能总览启动成功后浏览器默认打开http://127.0.0.1:port默认监听 127.0.0.1见 modules/cmd_opts.py界面由 modules/ui.py 按sort()顺序动态加载modules/tabs/下的五个功能页签页签Tab排序对应源码功能Inference1modules/tabs/inference.py加载模型与 Speaker ID配置 Transpose、F0 提取算法dio / harvest / mangio-crepe / crepe、Faiss Index 路径与检索特征比例执行单条或批量支持*通配符与目录递归变声推理Training2modules/tabs/training.py数据集预处理切片、归一化、f0 与特征提取、索引训练、模型训练支持 32k/40k/48k 采样率、v1/v2 版本、多说话人Merge3modules/tabs/merge.py模型权重合并Weight sum / Add difference可逐 key 设置权重合并后可立即推理试听Split Audio5modules/tabs/split.py按静音阈值、最小静音长度等参数将长音频切片为训练用短音频Server(experimental)6modules/tabs/server.py实验性 Flask 推理服务提供/upload_model、/convert_sound接口供外部程序调用从源码结构看各页签共享 modules/ui.py 提供的模型下拉框与 Speaker ID 滑杆最大值为模型n_spk说话人数训练与推理均复用 lib/rvc/pipeline.py 的VocalConvertPipeline完成 f0 提取、Hubert 特征抽取、Faiss 检索融合与最终波形合成。八、升级与致谢仓库根目录提供了 update.shgit fetch reset 到origin/main与 Windows 侧的update.bat用于拉取上游最新代码执行更新前建议先备份models/下自训模型与outputs/输出。最后按 README-ja.md 的致谢声明本项目重构自liujing04/Retrieval-based-Voice-Conversion-WebUI语音分离能力参考自teftef6220/Voice_Separation_and_Selection。若你准备基于本仓库做二次开发可先阅读 README.md 与 LICENSE再对照 modules/tabs/ 下的页签实现逐模块深入。赞分享人工智能AI 应用语音音频【免费下载链接】rvc-webuiliujing04/Retrieval-based-Voice-Conversion-WebUI reconstruction project项目地址https://gitcode.com/gh_mirrors/rv/rvc-webui点击查看免费下载相关推荐TagUI 安装与运行故障排查指南Windows / macOS / Linux 常见问题与修复方案TagUI 安装与运行故障排查指南Windows / macOS / Linux 常见问题与修复方案 TagUI 是一款由 AI Singapore 开源发布GUI 自动化浏览器控制工作流自动化Pinpoint Agent启动故障排查日志分析方法Pinpoint Agent启动故障排查日志分析方法 你是否遇到过Pinpoint Agent启动失败却找不到原因的情况本文将系统介绍日志分析方法帮助你快后端可观测性APM链路追踪微服务ComfyUI-TeaCache技术解析基于时间步嵌入感知缓存的AI生成加速方案ComfyUI TeaCache技术解析基于时间步嵌入感知缓存的AI生成加速方案 在AI图像和视频生成领域FLUX、HiDream、Lumina等先进模型虽人工智能大模型模型优化媒体生成上一篇xnbcliXNB资源格式深度解析与跨平台处理引擎技术实现下一篇Rye 的 Portable CPython 工具链自托管解释器的下载机制、可移植性设计与实战使用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考