Important
OpenRVC(Open Realtime Voice Conversion)は、RVC WebUIを祖先に持つfork独自の次世代声変換エンジンです。alpha段階の手元検証と実用は完了し、beta移行のためにコミュニティ支援を募集しています。
Windows専用だったRVC realtime系を、Intel Macの学習・推論からmacOS Audio Unit、WebUI所有runtime、Bonjour制作LANまで再設計しました。GarageBand標準offline Bounceで、実モデルによる単独vocalとオケ付きmixの変換を実用水準で完走しています。
beta移行に必要なもの: コード、物資(検証機材)、資金(電気代・投げ銭)、ミュージシャン・音楽スタジオ。 → コミュニティ支援の募集
開発正本: Issue #1 / 上流との関係: upstream追従の終了
Windows用WebUIとVSTのスクリーンショットだけだったRVCを、Intel Mac上での学習・推論からGarageBand AUv2、実モデル変換、標準offline Bounce、runtime障害復旧まで貫通させた実機記録です。 画像はUI mockではなく、オケ付きmixをGarageBandが実際にバウンスしている最中のhost画面です。
上流のWindows VST実装を単に起動しただけではありません。このforkでは、CPU学習・推論、共有RVC engine、Audio Unit、stream protocol、WebUI所有runner、異常終了Recoveryまでを一つの経路として実装しました。
| 領域 | 現在の実測 |
|---|---|
| Intel Mac / Python 3.12 | 前処理、F0/特徴抽出、CPU学習、実モデル推論を確認 |
| macOS Audio Unit v2 | Release build、codesign、auval成功 |
| GarageBand | AU挿入、実モデル接続、単トラックSolo Bounce、オケ付きMix Bounce成功 |
| 標準offline render | OFFLINE、約1183 ms、0 drop、host通知1回を実機画像で確認 |
| runtime architecture | WebUIがPython/RVC processを所有し、AUは127.0.0.1:17865のRSVC thin headとして動作 |
| 死活管理 | live-host fault-injection test: runtimeを3回連続SIGKILLして自動復旧を確認。さらにWebUIへSIGTERMを注入し、所有runner・gateway・dns-sdの回収を確認 |
| realtime再生 | Intel CPUでは130 ms blockに対し推論約1.18秒のためプチプチする。未合格 |
| Bonjour / LAN | WebUI所有の広告・探索、local gateway、自己発見・明示選択、GarageBand AU→gateway→self backend→実RVC変換→offline Bounceまで単一Mac実測・Human Gate合格 |
文部省唱歌「村祭」 RVCデモ
- 1番: ずんだもん
- 2番: デルタもん
- 3番: 元の生歌唱 ふさもふ
Human listeningの合格と機械試験は混同していません。詳細receiptは次にあります。
- GarageBand offline Bounceとオケ付きMixのHuman Gate
- live-host fault-injection test: runtime 3連続SIGKILLと自動Recovery
- Bonjour切替後の実RVC offline Bounce Human Gate
- WebUI SIGTERM時の所有process回収
- WebUI所有runtimeとasset routing
- macOS AU thin head build/deploy
GarageBand / Logic / VST host
|
| RVCRealtime thin head
| audio callbackにPython・model load・process起動を置かない
v
RSVC realtime audio stream
localhost: 127.0.0.1:17865
|
v
RVC WebUI / controller
UI・control: 127.0.0.1:7865
health、runner所有、model/index選択、bounded restart
|
v
共有RVC realtime engine
CPU / CUDAなし / Intel Macを含むbackend
model load、HuBERT、F0、SOLA、RMS、推論
GarageBandのsandbox内からPythonをspawnする旧案は廃止しました。runtimeが落ちた場合もGarageBandを巻き込まず、WebUI側が所有processだけを再生成します。AU画面のRUNTIME / SCAN / SELECTはWebUIが検出した一覧をlocalhost control APIから取得するだけで、AU自身はBonjour browseしません。モデル実パスもruntimeだけが所有し、AUにはopaque IDと表示名だけを返します。WebUI defaultはWebUIの既定モデルへ追従し、AUでモデルを明示選択した場合はそのAU sessionの指定が優先されます。この選択はRSVC SESSION_OPENを通るため、Bonjourで選んだremote runtimeでも同じ契約です。通常のaudio callbackはnon-blockingを維持し、hostが標準offline propertyを通知した場合だけ、deadlineのないBounceとして推論完了を待ちます。
- offline Bounce: Intel Mac実機で実用合格。Soloとオケ付きMixを聴感確認済み
- realtime monitoring: 現在のIntel CPUでは性能未達。Issue #35で最適化または高火力remote backendを追跡
- Bonjour: WebUI/controller所有の発見・明示選択を実装し、単一Macの自己発見、UI Human Gate、GarageBand AUからself backendの実変換とoffline Bounceまで合格。別Mac実測は外部実機で再開するペインステータス凍結
- 複数client: 初期実装はlocal制作環境を対象とし、1 runtimeへ複数AU/Web clientが接続した場合の排他、公平性、資源予約は保証しません。SaaS化する場合はclient session管理とsession単位のworker orchestrationが別途必要です。
- model/data:
.pth、.index、学習素材、生成audioはrepositoryへ同梱しない
上流RVC WebUIからの差分は、移植修正の範囲を超えたmajor version相当の再設計です。
| 層 | 上流 | このfork |
|---|---|---|
| ML stack | Windows・CUDA中心 | architectureから見直し、Intel Mac / Python 3.12でCPU前処理・特徴抽出・学習・推論を完走。CPU学習の完走モデルは3本(receiptはexperiments/) |
| DAW plug-in | Windows VST2/VST3 | 既存VST境界を保ったままAudio Unit v2を追加。auval、GarageBand挿入、設定slot保存・復元まで確認 |
| runtime server | plug-inごとのworker | WebUIがPython/RVC processを所有し、AUは薄いaudio head。RSVC stream protocol、bounded restart、SIGKILL/SIGTERM fault injection合格 |
| network | なし | Bonjourによる広告・探索・明示選択、local gateway。Jam Session型の制作LAN runtimeへ拡張可能な構造 |
| 実用性 | — | GarageBand標準offline BounceでSolo/オケ付きMixを実用合格 |
- 開発者の手元実機(Intel Mac / macOS 15 / GarageBand)で、学習からDAW Bounceまでを一つの経路として通した
- 実際の歌唱制作に使える水準を、人間の耳によるHuman Gateで確認した
- 失敗・blocked・未試験・Recoveryを
experiments/へ残した
betaは新機能の追加ではなく、手元で通った経路を他人の機材とスタジオへ届ける段階です。
- 一発installer(Python環境、依存、AU/VSTの配置、初回model取得)
- 互換性整備: Windows VST実機回帰、Apple Silicon、Logic Pro、CUDA機
- 別Mac間Bonjour、Wi-Fi断、LAN latency/drop
- realtime monitoring(Intel CPUでは未達。高火力backendまたは最適化、Issue #35)
- 複数clientの排他・公平性
これらは設計で詰まっているのではなく、検証機材と電力で詰まっています。現在の開発機は12年運用のIntel機1台で、Windows実機、複数Mac、Apple Silicon、CUDA機がありません。「Windowsは大丈夫か」への現在の正確な回答は、資源未提供につきUNKNOWNです。未検証を互換保証とは書きません。
alphaは開発者一人の手元資源で閉じました。betaは一人では閉じません。次の4つを募集します。
| 必要なもの | 具体例 |
|---|---|
| コード | installer、Windows回帰、Apple Silicon backend、CoreML/ONNX、test、docs。Issue / Pull Request歓迎 |
| 物資 | Apple Silicon Mac、Windows + NVIDIA機、audio interface、検証用の貸出・中古提供 |
| 資金 | 開発機の電気代、機材費への投げ銭。回収を急がないimpact投資・Patient Capitalの相談 |
| ミュージシャン・スタジオ | 実際の制作現場でのbeta試用、DAW・機材構成ごとのreceipt、他スタジオへの展開 |
実機報告には、OS、CPU/GPU、DAW、audio device、sample rate、block size、model backend、drop/latency、Bounce結果を添えてください。成功だけでなく失敗も等しく価値のあるreceiptです。
支援・投資・スタジオ展開の考え方は、開発者のnoteにまとめています。
- 技術解説: GarageBandを生かしたまま、AIランナーだけを3回殺した話
- 支援・投資の考え方: 元ベンチャー社長、現職NEETの、私が求める雇用主(正確にはPatient Capital / Impact Patron像)を説明する
- 連絡: Issue / YouTube @fusamofu
このforkは上流RVC-Projectへの提出を前提とした開発stagingとして始まりましたが、次の観測事実により、upstreamへ差分を戻す開発方針を終了し、fork独自の次世代エンジンとして進化させます。
- 上流repositoryはPull Request機能が無効(
has_pull_requests: false)で、提出用分岐upstream/macos-au-webui-runtimeをPRとして提出できなかった - そのため実装済み提案を上流Issue #2854として提出したが、反応がない
- 上流側にIntel Mac、macOS/AU、DAW実機で統合検証する経路が見えず、これ以上upstreamへ寄せる技術的な利益がない
- こちらの検証が閉じない原因は設計ではなく検証機材と電力であり、これは上流ではなく独自の資金・支援で解決する
方針:
- 上流の著作権表示、MIT License、来歴は保持する(LICENSE、RVCRealtime/THIRD_PARTY_NOTICES.md)
- 上流はrevisionを固定した参照元として扱い、必要な修正だけを出典付きで取り込む
- 上流がPull Requestを再開し取込方法を示した場合、汎用差分の提供は拒まない
- 記名・知財境界はIssue #39の非攻性防壁を維持する。これは上流への攻撃ではない
- repository名は2026-09-26に
Retrieval-based-Voice-Conversion-WebUIからOpenRVCへ変更した。旧URLはGitHubの転送で引き続き到達できる - GitHub fork networkからの切り離しは、検証機材と電力を調達した後に行う
判断記録: experiments/20260926-upstream-independence-decision.ja.md
以下は祖先である上流RVC WebUIのREADMEです(来歴として保持)。
更新日志 | 常见问题解答 | AutoDL·5毛钱训练AI歌手 | 对照实验记录 | 在线演示
English | 中文简体 | 日本語 | 한국어 (韓國語) | Français | Türkçe | Português
底模使用接近50小时的开源高质量VCTK训练集训练,无版权方面的顾虑,请大家放心使用
请期待RVCv3的底模,参数更大,数据更大,效果更好,基本持平的推理速度,需要训练数据量更少。
| 训练推理界面 | 实时变声界面 |
![]() |
![]() |
| go-webui.bat | go-realtime_gui.bat |
| 可以自由选择想要执行的操作。 | 我们已经实现端到端170ms延迟。如使用ASIO输入输出设备,已能实现端到端90ms延迟,但非常依赖硬件驱动支持。 |
本仓库具有以下特点
- 使用top1检索替换输入源特征为训练集特征来杜绝音色泄漏
- 即便在相对较差的显卡上也能快速训练
- 使用少量数据进行训练也能得到较好结果(推荐至少收集10分钟低底噪语音数据)
- 可以通过模型融合来改变音色(借助ckpt处理选项卡中的ckpt-merge)
- 简单易用的网页界面
- 可调用pymss/MSST模型来快速分离人声和伴奏
- 使用最先进的人声音高提取算法InterSpeech2023-RMVPE根绝哑音问题,速度快、资源占用小
- A卡/I卡使用 CPU 依赖方案;Windows 可使用 DirectML,Linux 使用 CPU
点此查看我们的演示视频 !
本分支面向 Python 3.12 x64,请先进入仓库根目录。Ubuntu 推荐使用 Ubuntu 24.04 x86_64。
sudo apt update
sudo apt install -y python3.12 python3.12-venv python3.12-dev ffmpeg unzip libsndfile1 libportaudio2
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel安装 Python 3.12 x64 后创建虚拟环境:
py -3.12 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip setuptools wheel| 硬件 | 安装方式 |
|---|---|
| CPU、AMD、Intel | 使用 requirments_cpu_py312.txt;Windows 可使用 DirectML,Linux 使用 CPU |
| NVIDIA RTX 50 系 | 先安装 CUDA 12.8 版 Torch,再安装 requirments_cu128_py312.txt |
| NVIDIA RTX 50 系以前 | 先安装 CUDA 11.8 版 Torch,再安装 requirments_cu118_py312.txt |
python -m pip install -r requirments_cpu_py312.txtpython -m pip install torch==2.7.1+cu128 torchaudio==2.7.1+cu128 \
--index-url https://download.pytorch.org/whl/cu128 \
--extra-index-url https://pypi.org/simple
python -m pip install -r requirments_cu128_py312.txtpython -m pip install torch==2.7.1+cu118 torchaudio==2.7.1+cu118 \
--index-url https://download.pytorch.org/whl/cu118 \
--extra-index-url https://pypi.org/simple
python -m pip install -r requirments_cu118_py312.txt检查 Torch 与 CUDA 状态:
python -c "import torch; print('torch:', torch.__version__); print('cuda:', torch.version.cuda); print('cuda available:', torch.cuda.is_available())"三个 requirments_*.txt 顶部已经包含下载源。中国大陆用户可保留默认镜像;需要使用官方源时,只替换 --index-url 和 --extra-index-url,保留包版本、CUDA 后缀和两阶段顺序。
| Default mirror | Official source |
|---|---|
https://mirrors.pku.edu.cn/pypi/simple |
https://pypi.org/simple |
https://mirrors.nju.edu.cn/pytorch/whl/cpu |
https://download.pytorch.org/whl/cpu |
https://mirrors.nju.edu.cn/pytorch/whl/cu118 |
https://download.pytorch.org/whl/cu118 |
https://mirrors.nju.edu.cn/pytorch/whl/cu128 |
https://download.pytorch.org/whl/cu128 |
WebUI 会自动创建运行目录。模型请从 Hugging Face 模型仓库 下载,并保持以下路径:
assets/
├── hubert_base/
│ ├── config.json
│ ├── preprocessor_config.json
│ └── pytorch_model.bin
├── rmvpe/rmvpe.pt
├── pretrained/
├── pretrained_v2/
├── pymss_weights/
├── weights/ # user RVC .pth models
└── indices/ # user .index files
logs/
└── mute/ # training silence samples
# Exact paths used by the code
assets/hubert_base/config.json
assets/hubert_base/preprocessor_config.json
assets/hubert_base/pytorch_model.bin
assets/rmvpe/rmvpe.pt
assets/pretrained/*.pth
assets/pretrained_v2/*.pth
assets/pymss_weights/*
assets/weights/*.pth
assets/indices/*.index
logs/mute/*
python -m pip install --upgrade huggingface_hub
# Required for inference and feature extraction
hf download lj1995/VoiceConversionWebUI --revision main \
--include "hubert_base/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI rmvpe.pt --revision main \
--local-dir assets/rmvpe
# Required for v1/v2 training
hf download lj1995/VoiceConversionWebUI --revision main \
--include "pretrained/*" "pretrained_v2/*" --local-dir assets
hf download lj1995/VoiceConversionWebUI mute.zip --revision main \
--local-dir .model-downloads
python -m zipfile -e .model-downloads/mute.zip logs
# Required only for pymss/MSST vocal separation
hf download lj1995/VoiceConversionWebUI --revision main \
--include "pymss_weights/*" --local-dir assets仅 Windows AMD/Intel DirectML 环境还需要:
hf download lj1995/VoiceConversionWebUI rmvpe.onnx --revision main \
--local-dir assets/rmvpeUbuntu 已在前面的系统依赖命令中安装 FFmpeg。Windows 用户可把下面两个文件放到项目根目录:
启动 WebUI:
python webui.py无桌面的 Ubuntu 服务器:
python webui.py --noautoopen默认服务监听端口为 7865。用户自己的 .pth 模型放入 assets/weights/,.index 文件放入 assets/indices/。
- ContentVec
- VITS
- HIFIGAN
- Gradio
- FFmpeg
- Ultimate Vocal Remover
- pymss-project/pymss
- audio-slicer
- Vocal pitch extraction:RMVPE



