VC ClientをWindowsに導入しRVCモデルを使いリアルタイムボイスチェンジャーを使う手順まとめ

VC ClientをWindowsに導入しRVCモデルを使いリアルタイムボイスチェンジャーを使う手順まとめ ソフトウェア

およそ5分で導入完了します。

Windows環境に「VC Client」をインストールして、RVC,SO-VITS-SVC,MMVC,DDSP-SVCなどのモデルを用いて、自分の声を好きな声にリアルタイムで変換する方法を備忘録として残しました。

これで好きな声でボイチャ・掲示板SSをアテレコしてキャラ声に変換など色々遊べそうです。

チェック!!
さくいん! 本サイトのAI関連記事まとめ どれから見れば良いのか?!


数十記事ある本サイトのAI関連記事を体系的にまとめました。

目的別にどれから見れば良いのかわかります!!

AI記事索引ページはコチラ

1. VC Clientのインストール

本体のダウンロード

GitHub - w-okada/voice-changer
Contribute to w-okada/voice-changer development by creating an account on GitHub.

上記リンク先のWindows用かつONNX(cpu,cuda)とあるものをダウンロードします。

青字の「normal」をクリックしてダウンロード画面に行き、「このままダウンロード」を選択。

その後zipファイル右クリック→すべて展開して下さい。

初回起動する

MMVCServerSIO_win_onnxgpu-cuda_v.1.5.2.8\MMVCServerSIOにあるstart_http.batを実行します。
(バージョン表記部分は時期により異なります)

※start_https.batではないのでご注意下さい。

初回起動時はこのような警告が出ると思うので、「詳細情報」を押し「実行」ボタンを押してください。

また、ファイヤーウォールの警告も出るので「アクセスを許可する」をクリックします。

これで、ランチャーのGUIが自動的に立ち上がります。

GUIが自動で表示されない場合は、以下のURLのどちらかをChromeなどのブラウザで開いてみてください。

  • http://localhost:18888/
  • http://127.0.0.1:18888/

動かしたいクライアント名(今回はRVC)をクリックすると、それ専用のRealtime Voice Changer Clientが起動します。

2. Realtime Voice Changer Clientの各項目解説

よく使う項目だけ解説しています。

詳細な全項目の解説についてはこちらのリポジトリを参照してください。

server control

startでボイチェンサーバーを起動し、stopで停止します。

monitorでは、リアルタイム変換の状況をモニターできます。

声を出してから変換までのラグはbuf + res秒です。調整の際はbufの時間がresよりも長くなるように調整してください。

https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md
  • vol : 音声変換後の音量
  • buf : 音声を切り取る一回の区間の長さ(ms)
    • Input Chunkを短くするほど小さくなる
  • res : Input ChunkとExtra Data Lengthを足したデータを変換にかかる時間
    • Input ChunkとExtra Data Lengthのいずれでも短くすると小さくなる

Switch Modelを押すと、アップロードしたモデルを一覧表示&選択できます。

  1. f0(=pitch)を考慮するモデルか
  • f0: 考慮する
  • nof0: 考慮しない
  1. モデルの学習に用いられたサンプリングレート
  2. モデルが用いる特徴量のチャンネル数(大きいほど情報を持っていて重い)
  3. 学習に用いられたクライアント
  • org: 本家RVCで学習したモデルです。
  • webui:ddPn08RVCで学習したモデルです。
https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md

EXPORT ONNXで、PyTorch形式(.pth)のモデルをONNX形式(.onnx)形式に変換できます。
これにより、推論が高速化される場合があります。

Model Setting

Model SlotごとにPyTorch形式かONNX形式か、どちらか一方を選べます。セットしたモデルはServer ControlSwitch Modelで選択できます。

Model(.onnx or .pth)で学習済みモデルを指定します。

  • 本家RVCで学習させた場合、「/logs/weights」
  • ddPn08RVCで学習させた場合、「/models/checkpoints」にあります

feature(.npy)index(.index)はペアで使用します。この2つは無くても動きます。

どちらもHuBERTで抽出した特徴を訓練データに近づけるために使用しています。

  • 本家RVCで学習した場合 :
    • .npyファイルは、「/logs/実験名/total_fea.npy
    • .indexファイルは、「/logs/実験名/add_XXXXXXXXXX.index
  • ddPn08RVCで学習した場合 :
    • .npyファイルは、「/models/checkpoints/モデル名_index/モデル名.0.big.npy
    • .indexファイルは、「/models/checkpoints/モデル名_index/モデル名.0.index

3つのファイル(最低でもModel(.onnx or .pth)だけは)Selectした後、Uploadを押します。

これで下の画像のように、モデル選択肢に追加されました。

なお、Default Tuneは声のピッチ調整です。推論中に変更可能もできて、目安は次の通りです。

  • 男声→女声 : +12
  • 女声→男声 : -12

Device Setting

入出力デバイスを選択します。

Quality Control

  • Noise Supression : ブラウザ組み込みのノイズ除去機能有効化・無効化
  • Gain Control :
    • input : モデルへの入力音声の音量を増減
    • output : モデルからの出力音声の音量を増減
  • F0Detector : ピッチを抽出アルゴリズム選択
    • pm : ひたすら軽量。品質はあんまり……
    • harvest : 高精度。時間はかかるがオススメ

Speaker Setting

Destination Speaker Id

複数話者に対応した時の設定かと思われますが、本家RVCが対応していないので現状は使わない項目です。

Tuning

声のピッチを調整します。以下は設定の目安です。

  • 男声→女声 の変換では+12
  • 女声→男声 の変換では-12

index ratio

学習で使用した特徴量に寄せる比率を指定します。

Model Settingでfeatureとindexを両方設定した時に有効です。

0でHuBERTの出力をそのまま使う、1で元の特徴量にすべて寄せます。
index ratioが0より大きいと検索に時間がかかる場合があります。

Silent Threshold

音声変換を行う音量の閾地です。

この値より小さいrmsの時は音声変換をせず無音を返します。
(この場合、変換処理がスキップされるので、あまり負荷がかかりません。)

https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md
太字化・改行を行いました。

Converter Setting

InputChunk Num(128sample / chunk)

一度の変換でどれくらいの長さを切り取って変換するかを決めます。

これが大きいほど効率的に変換できますが、bufの値が大きくなり変換が開始されるまでの最大の時間が伸びます。

buff: におよその時間が表示されます。

Extra Data Length

音声を変換する際、入力にどれくらいの長さの過去の音声を入れるかを決めます。

過去の音声が長く入っているほど変換の精度はよくなりますが、その分計算に時間がかかるためresが長くなります。
(おそらくTransformerがネックなので、これの長さの2乗で計算時間は増えます)

GPU

GPUを2枚以上持っている場合、ここでGPUを選べます。

https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md
太字・改行・赤字化を行いました。

3. VC Clientでリアルタイム音声変換をする

ボイチェンサーバー起動

各種設定を終えたら、サーバーを起動します。

これでおおむね遅延1秒未満のリアルタイムボイスチェンジャーを有効化できました。

お疲れ様でした。

変換中のハードウェア負荷

変換時の設定は以下のようにデフォルトにして、アルゴリズムはharvestです。

また、Advanced settingRVC Qualityrowのままです。

GPUはVRAM2.1GBCUDA使用率も2割程度と大変低負荷です。(※rtx3090視点の評価)

CPUも使用率1~2割程度でした。

リアルタイムボイスチェンジャにハードウェアを占有されないので、ゲームしながら使用も余裕です!
ありがたい!!!

ボーカルを楽曲から抽出・除去して、歌ってみたを作ったり、好きな声でボイチャしたり夢が広がりますね☆

他にも色々と面白いAI関連の記事を書いています。合わせてご覧ください。

規制も倫理も無いFreedomGPTをグラボ不使用でWindowsにて動かす方法

画像生成AI「Stable Diffusion」を動かす方法

無料のCopilot「Amazon CodeWhisperer」を登録&VSCodeで使用する方法まとめ

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