Skip to content
saitoomituruPublic

About

本家のMAC対応してずんだとデルタをニートが使うテスト

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

136 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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追従の終了

OpenRVC — RVC互換・DAWネイティブ次世代声変換エンジン

GarageBandでRVCRealtime AUを標準offline Bounce中

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番: 元の生歌唱 ふさもふ

文部省唱歌「村祭」 RVCデモ - ずんだもん / デルタもん / 生ふさもふ

▶ YouTube Shortsでデモを再生

Human listeningの合格と機械試験は混同していません。詳細receiptは次にあります。

architecture

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を実用合格

alpha: 完了

  • 開発者の手元実機(Intel Mac / macOS 15 / GarageBand)で、学習からDAW Bounceまでを一つの経路として通した
  • 実際の歌唱制作に使える水準を、人間の耳によるHuman Gateで確認した
  • 失敗・blocked・未試験・Recoveryをexperiments/へ残した

beta: これから

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です。未検証を互換保証とは書きません。

beta移行のためにコミュニティ支援が必要です

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にまとめています。

上流との関係: upstream追従の終了

この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です(来歴として保持)。

Retrieval-based-Voice-Conversion-WebUI

简单易用的 语音音色转换/变声器 框架

madewithlove


Licence Huggingface

更新日志 | 常见问题解答 | 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。

Ubuntu 24.04

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

Windows

安装 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

CPU、AMD、Intel

python -m pip install -r requirments_cpu_py312.txt

NVIDIA RTX 50 系:两阶段安装

python -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.txt

NVIDIA RTX 50 系以前:两阶段安装

python -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/rmvpe

FFmpeg

Ubuntu 已在前面的系统依赖命令中安装 FFmpeg。Windows 用户可把下面两个文件放到项目根目录:

开始使用

启动 WebUI:

python webui.py

无桌面的 Ubuntu 服务器:

python webui.py --noautoopen

默认服务监听端口为 7865。用户自己的 .pth 模型放入 assets/weights/,.index 文件放入 assets/indices/。

参考项目

感谢所有贡献者作出的努力

About

本家のMAC対応してずんだとデルタをニートが使うテスト

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages