VC Client は、端的にいえばボイスチェンジャー。このソフトで使われている技術は、生成 AI による学習済みモデルを使用した音声変換ということになるので、画像生成 AI の text2img とか img2img みたいにいうならば、voice2voice を行う生成 AI ということになる。
以下では、その VC Client を Windows PC に導入する手順をざっくりと説明する。
このソフトで何ができるのか
ボイスチェンジャーなので、マイク入力した自分の声を別人のイケボに、或いは男声を女声に、逆に女声を男声に、といった用途に使える。ネット上でボイスチャットによるコミュニケーションを行うシーンというのも増えてきているが、その際、プライバシー保護とか、ゲームやVR空間などで自分の性別とは異なるアバターを使っていたりなど、様々な理由で自分の地声でそのまま喋りたくないというケースも多い。そんなときに強い味方になるのがボイスチェンジャー。
最近は Voidol や バ美声、恋声 など、ボイチェンソフトも有料なパッケージソフトからフリーソフトまで様々あるけど、VC Client は 生成AI の技術で音声変換(というか生成)するという特徴がある。ちなみに、本ソフト自体は無料だが、使用するモデルは有料なものもあるので、まずは使用感を確認して、気に入ったら有料の音声モデルを購入して使うと良い。
VC Client をインストール
VC Client の動作形態は、ビルド済のバイナリから起動するか、Anaconda や Docker などのコンテナで起動するかの2択になるが、Windows においては前者の方がお手軽なので、ここではビルド済のバイナリをダウンロードする。
まずは作者の GitHub ページを開く。
ページ中程にある「ダウンロードはこちらから」の中から最新版のリンクをクリックする。本記事では Windows で NVIDIA製 GPU を使う前提で説明するので、「win」の「ONNX(cpu,cuda) PyTorch(cpu,cuda)」と書かれているものを選択する。ちなみに、AMD製 GPU を使う場合は「ONNX(cpu,DirectML)」を選べば良さそう。

HuggingFace のページに飛ぶので、そこから「MMVCServerSIO_win_onnxgpu-cuda_v.1.5.3.14.zip」(数字部分はバージョンなのでその時点で最新のものを選べば良い)というファイルをダウンロードする。

ダウンロードしたら適当なディレクトリに展開する。展開したディレクトリ内にある start_http.bat というバッチファイルを実行する。(start_https.bat というファイルもあるが、ローカルで実行するのは start_http.bat の方)
コマンドプロンプトが開いて、ダウンロードとセットアップが始まるのでしばらく待つ。

セットアップが完了すると Web サーバが起動する。

続いてクライアント画面が起動する。

これでインストールは完了。
次回からも start_http.bat で起動することになるが、上記セットアップが完了していれば、初回ほど時間もかからず起動する。
動作確認の設定
設定がいっぱいあるけど、以下ではとりあえずよく使う、或いは調整する設定のみいじっていく。
画面の一番上(キャラクターが並んでいるところ)で使用するモデルを選択。初期状態でいくつかモデルがビルトインされているので、そこから適当に使用するモデルを選ぶ。モデルを変更すると、読み込みにやや時間がかかる。読み込みが完了したら画面中ほど(の左側)に選択したモデルが表示される。

次に TUNE(チューニング)。低音から高音に変換する場合はプラス方向へ、高音から低音に変換する場合はマイナス方向へ調整する。ここはモデルごとに推奨値があるので、使うモデルによって調整する。作者のチュートリアル によると、とりあえず、男声を女声にする場合は +12、女声を男声にする場合は -12 くらいにするのが良い。

F0 Det(F0 データセット)。これは声のピッチの調整。「harvest」が高精度、「dio」が軽量な処理になり、それ以外は GPU を使用して精度を上げるモードになる。とりあえず「harvest」を選択して、音質が悪い、重いと感じたら「dio」など他のモードを選ぶ感じで。

CHUNK(チャンク)。これは一度に変換する音声の長さ。長いほど切れ目がない、つまり高品質になるが、PC の性能によっては変換に時間がかかって遅延することになる。これは用途によって設定を変えるのが良さそう。ボイチャで会話しながらゲームするみたいな用途なら品質よりリアルタイム性が大事になってくると思うので短め(48~64 くらい)に設定するのが良いだろうし、動画制作の録音などであれば遅延とか関係ないので品質重視で長め(512~ とか)に設定すると良い。

GPU は デフォルトで利用可能な GPU が選択されているはず。GPU のない PC の場合は「CPU」を選択することになるが、CPU の場合は遅延が目立つようになるので、なるべく GPU がある PC で使いたい。

AUDIO(オーディオ)の選択。これは PC の音声デバイスをブラウザ経由で使うのが client モード、直接使うのが server モードになる。ブラウザ経由でビデオ会議や音声チャットなどをしているなら client モードにするのがお手軽。ただ、ブラウザを経由する分、品質が劣化したり遅延が発生したりするので、ブラウザを使わない場合は server モードが良い。ということで、ここは server モードを選択。(このへんについては 詳細な記事 があるので、興味ある方は参照してください)

AUDIO に server モードを選択すると、S.R.(サンプリングレート)の設定が現れる。これは PC の設定を確認してそれに合わせる。
Windows ボタンから「設定」→「サウンド」を選んで「サウンドの設定」を開く。そこの「入力」の中から今回使用するマイクの「>」マークをクリックする。

サウンドのプロパティ画面が開くので、その中の「入力設定」の「形式」から現在の入力のサンプリングレートが確認できる。

上記で確認したサンプリングレートを S.R. に設定する。

input と output には、いったん現在使用しているマイクとスピーカーを選ぶ。monitor は、output にスピーカー以外(ビデオ会議や Discord など)を選択した場合、出力結果がこちらで聞こえないので、その確認用の出力設定になるが、これは特に選択する必要はない。

ここまでで、とりあえず確認用の設定は完了。
これで「start」をクリックして起動する。起動に若干時間がかかるが(PC スペックにもよるが 3~5秒程度)コマンドプロンプトに [Voice Changer] という文字が流れ始めたら起動しているので、その状態でマイクに向かって喋れば、スピーカーから変換後の声が出力されるようになる。

マイクが全方位拾うタイプだと音がループしたりするので、指向性のマイクを使うか、若しくはヘッドホンを利用すると確認しやすい。(ヘッドホンを使う場合は、output の設定を変更すること)
仮想音声デバイスの導入
ここまででマイク入力の音声を変換してスピーカーに出力することはできた。ただ、このままではその音声を自分の PC(のスピーカー)でしか聞くことができない。しかし、ボイスチェンジャーというのは、ビデオ会議や Discord などのボイスチャット、或いは動画制作や配信などで使いたいものだと思う。その場合、変換後の音声は、スピーカーではなくチャットソフトや配信ソフトなどに出力したい。
Voidol や MorphVOX などのボイスチェンジャーソフトは、専用の仮想音声デバイスも一緒にインストールされ、Discode や OBS などでその仮想デバイスを入力に選択すれば、変換後の音声がそちらに出力されるようになる。しかし、この VC Client にはそのような仮想デバイスは付属してないので、別途用意する必要がある。
仮想音声デバイスはいくつか選択肢があるが、ここでは、無料で最も軽量と思われる VB-CABLE というソフトを使用することにする。
VB-CABLE のダウンロードページを開く。
Windows のロゴをクリックしてインストーラーをダウンロード。

VBCABLE_Driver_Pack43.zip というファイルがダウンロードされるので、適当な場所に展開する。展開したディレクトリの中に VBCABLE_Setup_x64.exe という実行形式のインストーラーがあるので、これを Shift を押しながら右クリックして表示されるメニューから「管理者として実行」で起動する。

「Install Driver」をクリックして次へ。

そのまま「インストール」をクリック。(「常に信頼する」のチェックは付けても外してもどちらでも OK)

一瞬でインストールされる。以下のダイアログが表示されたら「OK」で閉じる(宣伝 Web が開くが、そのまま閉じて OK)。システムの再起動を促されるけど、Windows 10 とか 11 であれば、そのまま利用可能になっている気がしなくもない。不安なら再起動すると良い。

Windows ボタンから「設定」→「サウンド」を開いて、出力に「CABLE input」、入力に「CABLE Output」が表示されていれば OK。


VB-CABLE インストール直後は「CABLE Input」と「Cable Output」が選択状態になっているが、これは元の設定に戻しておくと良い。
VC Client の音声を Discode に出力する
仮想音声デバイス(ここでは VB-CABLE )が導入できたら、あとは VC Client の出力を仮想デバイスの入力に、仮想デバイスの出力をボイスチャットや配信ソフトなどのソフトの入力に設定すれば良い。
ここでは、例えば Discode の設定を簡単に。
まずは VC Client の output を「CABLE Input」に設定する。

Discode の「ユーザ設定」(左下の歯車マーク)をクリック。

「アプリの設定」の中の「音声・ビデオ」を開いて「音声設定」の「入力デバイス」に「CABLE Output」を選択。

これで、VC Client で変換された音声が Discode に入力されるようになる。
Discode 以外のソフトにも音声入力の設定があるはずなので、そこを仮想デバイスの出力に設定してやれば、同様のことができるはず。
モデルを追加する
VC Client は、初期状態でビルトインされているモデル以外にも RVC、MMVC、so-vits-svc、DDSP-SVC に対応したモデルを追加することができる。特に RVC のモデルは、Pixiv が運営する BOOTH というコミュニティサイトで多数配布されているので、サンプル音声を視聴してみて、気に入ったものがあれば購入してみると良い。

BOOTH で「RVC」というキーワードで検索すると、無料で使えるものから有料のものまで、この分野ってこんなに普及してたのかと驚くほど多くのモデルが出てくる。中には商用利用可能なものから、どうやってつくられたのかあやしいものまで玉石混交で存在するので、内容をよく確認して使用すること。
ダウンロードしたモデルを追加するには、まず VC Client のモデル選択の右下にある「編集」をクリックする。

リストの中から「Blank」となっている枠の「アップロード」ボタンをクリック。

「VoiceChangerType」にダウンロードしたモデルのタイプを選択して「ファイル選択」ボタンをクリック。

ファイル選択画面でモデルを選択したら「アップロード」をクリック。

これで、新しいモデルが追加される。アイコンも変更できるので、わかりやすいアイコンに変更しておくと良い。

VC Client については、もっと詳しい作者によるチュートリアルがあるので、VC Client をさらに使いこなしたい方は、こちらを参考にすると良いでしょう。