RVC on Ubuntu — リアルタイムAI声質変換ツールの導入と使い方

AI/MLツール

RVC(Retrieval-based Voice Conversion)は、音声サンプルを学習させることで任意の声質に変換できるオープンソースの AI ボイスコンバーターです。「AI 歌声カバー」の制作や、配信中のリアルタイム声質変換などに幅広く使われている人気ツールです。

ただ、いざ Ubuntu で動かそうとすると、最初の関門が「Python のバージョン」です。本記事では Docker 公式イメージ(ubuntu:24.04 / ubuntu:22.04)で実際にコマンドを実行し、最新の Ubuntu 24.04 では RVC のインストールが途中で止まること、そしてその回避策を実測データで確認しました。結論から言うと、RVC を素直に動かすなら Python 3.10(Ubuntu 22.04 標準)を使うのが正解です。

この記事のポイント

  • RVC 公式は Python 3.7〜3.10 を推奨。Ubuntu 24.04 の標準 Python 3.12.3 では依存解決に失敗する(実測で確認)
  • RVC の requirements.txtnumpy==1.23.5 を固定しており、これは Python 3.12 用の wheel が存在しない
  • 素直に動かすなら Ubuntu 22.04 LTS(Python 3.10.12)、または 24.04 上で conda/pyenv で Python 3.10 を用意する
  • 必須パッケージ git / ffmpeg / portaudio19-dev は apt で問題なく入る(バージョン実測)
  • WebUI は Gradio ベースで http://localhost:7865。リアルタイム変換は別プログラム gui_v1.py で行う

目次

  1. RVC とは — できることと特徴
  2. 動作確認済み環境と必要スペック(実測)
  3. 最重要:Python 3.12 の落とし穴(実測)
  4. apt 依存パッケージのインストール
  5. RVC のクローンと Python 3.10 環境の作成
  6. requirements.txt の中身を見る
  7. WebUI の起動
  8. WebUI の基本的な使い方
  9. リアルタイム声質変換(gui_v1.py)
  10. よくあるエラーと解決策
  11. まとめ

RVC とは — できることと特徴

RVC(Retrieval-based Voice Conversion)は、元の音声の話し方や言語内容は変えずに話者の声質だけを別の声に変換する AI ツールです。「RVC-Project」が GitHub で公開しており、Gradio(Python の WebUI フレームワーク)ベースの画面が付属しているため、コマンドに不慣れな方でもブラウザから操作できます。

主な用途は次の通りです。

  • 既存の楽曲を好みの声(AI モデル)でカバーする「AI 歌声カバー」
  • Discord や OBS を通じた配信中のリアルタイム声質変換
  • TTS(音声合成)の出力をさらに別の声へ変換する
  • 音声データセット作成時の話者変換

RVC の特徴は、数十秒〜数分の音声サンプルからモデルを学習できる点です。ただし、推論(変換処理)をリアルタイムで行うには GPU が事実上必要になります。

著者アイコン
著者アイコン

「自分の声をキャラクターボイスに変えたい」「AI に歌ってもらいたい」という用途でよく使われています。ただ、RVC は依存パッケージのバージョン固定がかなり古く、ここが初心者の一番の詰まりどころです。今回はそこを実際に手を動かして検証しました。

動作確認済み環境と必要スペック(実測)

まず、RVC が前提とするシステムパッケージのバージョンを Ubuntu 24.04 公式 Docker イメージで実際に確認しました。この記事の数値はすべて docker run --rm ubuntu:24.04 で実コマンドを実行して取得した実測値です(測定日 2026-06-14)。

Ubuntu 24.04 のシステム情報と RVC 前提パッケージのバージョン(実測)
Ubuntu 24.04 のシステム情報と RVC 前提パッケージのバージョン(実測)

git・ffmpeg・portaudio はいずれも apt 標準リポジトリからそのまま入ります。問題はここではなく、後述する Python のバージョンにあります。

推奨スペック

GPU についての注意

RVC の WebUI 自体は CPU 環境でも起動・設定できますが、リアルタイム変換や学習には NVIDIA GPU(CUDA 対応・VRAM 8GB 以上)が実質必須です。CPU 推論ではリアルタイム用途に耐えるだけの速度が出ず、配信中の声質変換には向きません。ファイル単位のバッチ変換は CPU でも動きますが、処理時間がかなり長くなります。

用途 推奨環境 備考
WebUI 確認・設定のみ CPU / RAM 8GB 以上 実際の変換処理はしない
バッチ変換(非リアルタイム) CPU(高速なほど良い)/ RAM 8GB 以上 処理時間が長くなる
リアルタイム変換 NVIDIA GPU / VRAM 8GB 以上(推奨 12GB+) RTX 3060〜4090 が代表的
モデル学習(ファインチューニング) NVIDIA GPU / VRAM 12GB 以上 学習データ 10〜60 分の音声

最重要:Python 3.12 の落とし穴(実測)

ここが本記事の核心です。RVC の公式 requirements.txt は、依存パッケージのバージョンをかなり古い値で固定しています。たとえば numpy==1.23.5numba==0.56.4llvmlite==0.39.0 です。

そして RVC の公式 README には、はっきりこう書かれています。

RVC 公式 README より

「python 建议使用 3.7-3.10 版本,其余版本在安装 llvmlite==0.39.0 时会出现冲突」
(= Python は 3.7〜3.10 を推奨。それ以外のバージョンは llvmlite==0.39.0 のインストール時に衝突します)

つまり Ubuntu 24.04 の標準 Python 3.12 は、RVC の推奨範囲から外れているのです。これが本当に問題になるのか、同じ pip コマンドを Ubuntu 24.04(Python 3.12.3)と Ubuntu 22.04(Python 3.10.12)の両方で実行して確かめました。

RVC 公式ピンを pip install した実測結果(24.04 失敗 / 22.04 成功)
RVC 公式ピンを pip install した実測結果(24.04 失敗 / 22.04 成功)



Ubuntu 24.04 — Python 3.12.3
(venv) $ pip install numpy==1.23.5 numba==0.56.4 llvmlite==0.39.0
ERROR: Could not find a version that satisfies the requirement numpy==1.23.5
(from versions: 1.26.0, 1.26.1, … 2.4.6)
ERROR: No matching distribution found for numpy==1.23.5

Python 3.12 では numpy 1.23.5 の wheel(ビルド済みパッケージ)が存在せず、pip が「該当バージョンが見つからない」とエラーで止まりました。numpy が 3.12 向けに wheel を提供し始めたのは 1.26.0 からで、RVC が固定している 1.23.5 はそれより前のバージョンです。requirements.txt のインストールはここで失敗します。

一方、Ubuntu 22.04(Python 3.10.12)では同じコマンドがすんなり通りました。




Ubuntu 22.04 — Python 3.10.12
(venv) $ pip install numpy==1.23.5 numba==0.56.4 llvmlite==0.39.0
Downloading numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64…whl (13.9 MB)
Downloading numba-0.56.4-cp310-cp310-manylinux2014_aarch64…whl (3.2 MB)
Downloading llvmlite-0.39.0-cp310-cp310-manylinux_2_17_aarch64…whl (33.8 MB)
Successfully installed llvmlite-0.39.0 numba-0.56.4 numpy-1.23.5

Ubuntu バージョンごとの標準 Python と、RVC 依存の pip install 可否をまとめると次の通りです。

Ubuntu 22.04 と 24.04 の実測バージョン比較と RVC 適合性
Ubuntu 22.04 と 24.04 の実測バージョン比較と RVC 適合性

結論:どう環境を用意するか

  • 一番ラク:Ubuntu 22.04 LTS(Python 3.10.12)を使う
  • 24.04 を使いたい:conda または pyenv で Python 3.10 を別途用意し、その中に RVC を入れる
  • システム標準の Python 3.12 のまま pip install -r requirements.txt しても通らないので注意

apt 依存パッケージのインストール

Python の話とは別に、システムパッケージ(git・ffmpeg・portaudio)は apt で入れます。これらは Ubuntu 24.04 でも問題なく入りました。




ubuntu@linuxlab: ~
$ sudo apt-get update
$ sudo apt-get install -y git ffmpeg libportaudio2 portaudio19-dev
Setting up git (1:2.43.0-1ubuntu7.3) …
Setting up ffmpeg (7:6.1.1-3ubuntu5) …
Setting up portaudio19-dev (19.6.0-1.2build3) …
RVC のシステム依存パッケージを apt install した実ログ(Ubuntu 24.04)
RVC のシステム依存パッケージを apt install した実ログ(Ubuntu 24.04)

インストール後のバージョン(実測)は ffmpeg 6.1.1、portaudio19-dev 19.6.0-1.2build3、git 2.43.0 でした。ffmpeg は音声ファイルのデコード・エンコードに、portaudio はマイク入出力に使われます。どちらも RVC の動作に必須です。

RVC のクローンと Python 3.10 環境の作成

手順1:リポジトリをクローンする




ubuntu@linuxlab: ~
$ git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
$ cd Retrieval-based-Voice-Conversion-WebUI

手順2:Python 3.10 の仮想環境を作る

Ubuntu 22.04 なら標準の python3 がそのまま 3.10 なので venv で十分です。




ubuntu@linuxlab(Ubuntu 22.04): ~/Retrieval-based-Voice-Conversion-WebUI
$ python3 –version
Python 3.10.12
$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ pip install –upgrade pip

Ubuntu 24.04 で動かしたい場合

24.04 の標準 Python は 3.12 なので、そのままでは RVC が入りません。Miniconda を入れて conda create -n rvc python=3.10 のように Python 3.10 環境を作り、その中で作業してください。pyenv で 3.10 系をインストールする方法でも構いません。OS を 22.04 に戻す必要はありません。

手順3:PyTorch と依存パッケージを入れる

RVC は PyTorch を requirements.txt に固定しておらず、PyTorch だけは公式サイトの手順で別途インストールする方針です。GPU を使うなら CUDA 対応版、CPU だけなら CPU 版を入れます。




ubuntu@linuxlab: ~/Retrieval-based-Voice-Conversion-WebUI
# GPU(CUDA 12.x)版の PyTorch を入れる例
(venv) $ pip install torch torchaudio –index-url https://download.pytorch.org/whl/cu121
# 続いて RVC 本体の依存をまとめて入れる
(venv) $ pip install -r requirements.txt

手順4:ベースモデルをダウンロードする

RVC は声質変換の土台となる事前学習済みモデル(hubert_base.ptrmvpe.pt など)が必要です。リポジトリ付属のスクリプトでダウンロードできます。変換先の声のモデル(.pth)と検索インデックス(.index)は、自分で学習するかコミュニティが公開しているものを assets/weights/ に置きます。

requirements.txt の中身を見る

RVC がどんなバージョンを固定しているのかを、実際の requirements.txt(main ブランチ)と PyPI 最新版(実測)で並べてみました。全体的に 2〜3 世代前のバージョンで固定されているのが分かります。

RVC 公式 requirements.txt の固定バージョンと PyPI 最新版(実測)
RVC 公式 requirements.txt の固定バージョンと PyPI 最新版(実測)

注目したいのは faiss-cpu==1.7.3 が最初から requirements.txt に含まれている点です。後述しますが、No module named 'faiss' エラーが出る場合の多くは「faiss が requirements に無いから」ではなく、依存インストールがどこかで失敗してそのまま起動しているのが原因です。

WebUI の起動

セットアップが終わったら WebUI を起動します。




ubuntu@linuxlab: ~/Retrieval-based-Voice-Conversion-WebUI
(venv) $ python infer-web.py
Running on local URL: http://0.0.0.0:7865

リポジトリの configs/config.py を見ると、リッスンポートのデフォルトは 7865 に設定されています(--port オプションで変更可能)。ブラウザで http://localhost:7865 を開くと WebUI にアクセスできます。

VPS・リモートサーバーで使う場合

リモートの Ubuntu サーバーで起動した場合は、SSH トンネリング(ssh -L 7865:localhost:7865 user@server)でローカルブラウザからアクセスするのが安全です。WebUI をそのまま外部公開すると誰でも触れてしまうため、ポートを直接インターネットに晒すのは避けましょう。

WebUI の基本的な使い方

WebUI(Gradio ベース)は「モデル推論」「伴奏・ボーカル分離」「トレーニング」などのタブで構成されています。ファイル単位の声質変換は「モデル推論」タブで行います。

RVC WebUI モデル推論タブ(再現UI)
RVC WebUI モデル推論タブ(再現UI)

①モデルをロードする

「推論する音声モデル(.pth)」から、assets/weights/ に置いたモデルを選びます。「特徴検索インデックス(.index)」も合わせて指定すると変換品質が上がります。

②入力音声を指定する

変換したい音声ファイルのパスを入力します。WAV・MP3・FLAC などに対応しています。

③パラメータを調整する

パラメータ 目安 説明
ピッチ変更(半音) 0 声の高さを変更。男声→女声は +12 が目安
検索特徴の適用率 0.75 声質の個性の強さ(0〜1)
F0 アルゴリズム rmvpe ピッチ抽出手法。pm/harvest/crepe/rmvpe から選択。rmvpe が高精度

④変換を実行する

「変換(推論)」ボタンを押すと処理が始まります。CPU 環境では数十秒〜数分かかりますが、GPU 環境では数秒で完了します。結果は「変換結果」欄で再生・ダウンロードできます。

リアルタイム声質変換(gui_v1.py)

ここはよく誤解されるポイントです。リアルタイム変換は WebUI のタブではなく、独立したデスクトップ GUI プログラム gui_v1.py で行います。リポジトリには gui_v1.py が含まれており、FreeSimpleGUI(PySimpleGUI 系のライブラリ)で作られたウィンドウが立ち上がります。




ubuntu@linuxlab: ~/Retrieval-based-Voice-Conversion-WebUI
# リアルタイム変換はこちらを起動する(WebUIとは別)
(venv) $ python gui_v1.py
RVC リアルタイム変換 GUI(gui_v1.py)(再現UI)
RVC リアルタイム変換 GUI(gui_v1.py)(再現UI)

マイクを入力デバイス、スピーカー(または仮想オーディオデバイス)を出力デバイスに指定し、モデルとインデックスを選んでから「変換開始」を押します。配信に使う場合は、OBS や Discord に仮想オーディオデバイス経由で出力音声を流します。

CPU だとリアルタイムは厳しい

リアルタイム変換は「ブロック単位で音声を切り出して推論し、つなぎ合わせる」処理を高速に繰り返します。GPU なら遅延を実用的な範囲に抑えられますが、CPU のみだと処理が追いつかず遅延が大きくなり、配信では声と口の動きがずれて使い物になりません。リアルタイムをやるなら GPU 搭載環境が前提と考えてください。

よくあるエラーと解決策

①pip install が numpy==1.23.5 で止まる

これが本記事で扱った最頻出の詰まりです。Python 3.12(Ubuntu 24.04 標準)で requirements.txt を入れようとすると No matching distribution found for numpy==1.23.5 で失敗します。対処は Python 3.10 環境を用意すること(Ubuntu 22.04、または conda/pyenv で 3.10)です。

②「No module named ‘faiss’」エラー




ubuntu@linuxlab: ~
ModuleNotFoundError: No module named ‘faiss’

faiss-cpu==1.7.3requirements.txt に最初から含まれているため、本来は -r requirements.txt で入っているはずです。このエラーが出るのは、①の numpy エラーなどで依存インストールが途中で止まったまま起動しているケースがほとんどです。まず Python 3.10 環境で requirements.txt を最後まで通すこと。それでも欠ける場合のみ pip install faiss-cpu==1.7.3 で個別に補います。

③「OSError: PortAudio library not found」エラー

PortAudio の共有ライブラリが不足しています。apt で libportaudio2 を入れれば解決します(本記事の検証環境では 19.6.0-1.2build3 が入りました)。




ubuntu@linuxlab: ~
$ sudo apt-get install -y libportaudio2 portaudio19-dev
Setting up portaudio19-dev (19.6.0-1.2build3) …

④WebUI に localhost:7865 でアクセスできない

VPS や SSH 接続先で起動している場合は、ポートフォワーディングが必要です。




ローカル PC のターミナル
$ ssh -L 7865:localhost:7865 username@your-vps-ip
# ブラウザで http://localhost:7865 を開く

まとめ

この記事では Ubuntu への RVC(Retrieval-based Voice Conversion)導入を、実際に Docker でコマンドを動かしながら検証しました。

  • RVC 公式は Python 3.7〜3.10 を推奨。Ubuntu 24.04 の標準 Python 3.12.3 では numpy==1.23.5 の wheel が無く、依存インストールが失敗することを実測で確認した(2026-06-14)
  • 素直に動かすなら Ubuntu 22.04 LTS(Python 3.10.12)、24.04 を使うなら conda/pyenv で Python 3.10 を用意する
  • git・ffmpeg・portaudio19-dev は apt 標準でそのまま入る(バージョン実測)
  • WebUI は Gradio ベースで http://localhost:7865、リアルタイム変換は別プログラム gui_v1.py
  • リアルタイム変換・学習には NVIDIA GPU が実質必須。CPU 環境は設定確認・バッチ変換向き

本格的なリアルタイム変換やモデル学習をしたい場合は、GPU 搭載の VPS(クラウド GPU サーバー)を使うのが手軽です。自宅 PC に GPU がない方でも、時間課金の GPU インスタンスなら必要な時だけ高性能環境を使えます。Linux サーバーの基礎から固めたい方は、まず手元の VPS で Ubuntu 22.04 環境を用意するところから始めるとスムーズです。

VPS の選び方は VPS 比較の記事 でも詳しく解説しています。

日本語サポートを重視するなら、国内事業者の ConoHa VPS も選択肢になります。

コメント

タイトルとURLをコピーしました