
AIリアルタイムボイスチェンジャーMMVC_v1.5_導入講座_確認編
注意(2023年10月21日):話者IDが2023年10月20日を境に変更されました。
特にv1.3については話者ID
(自分の声やずんだもんの声に対する番号、107とか100とか)
が変更されています。
記事の話者IDは一部古いため、
変更内容と対応方法はこちらをご確認願います。
講座記事一覧 最初と編まとめ
前回:学習編 次回:リアルタイム編A_MMVC_Clientで実行
こんにちは。ピポッです。
AIリアルタイムボイスチェンジャーである
I'mずんだもん王への道_MMVCの導入講座動画を作っている者です。
当記事では『確認編』として(※)、
『非』リアルタイムのボイスチェンジを試みます。
『学習編』で作ったデータをさらに変換し、
非リアルタイムへの音声変換で品質を確認します。
品質を確認して大丈夫そうだったら『リアルタイム編』に行きます。
やることは
『学習結果をONNXファイルに変換する』
(『確認編』を飛ばして『リアルタイム編』に行く場合も必須)
『非リアルタイムボイスチェンジする』
です。
リアルタイム編で必要になるONNXファイルの作成手順説明のため、
『確認編』として記述します。
(※)v1.5、v1.3ともにColab上で
非リアルタイム音声変換するファイルは存在します。
が、Colabが頻繁に仕様変更するため動かなくなっています
(2023年05月21日時点)。
よって、『リアルタイム用ソフト』に存在する
『非リアルタイム変換機能』で
非リアルタイム変換する手段を取ります。
『確認編』としていますが、
『リアルタイムの準備編(MMVC_Clientで実行)』
の範囲まで進む事をご了承ください。
MMVC_Client(ボイチェンソフト)の仕様がv1.5, v1.3で異なるため、
バージョンを分けて説明します。
学習結果をONNXファイルに変換する(v1.5)
ONNXファイル変換は06_Export_ONNX.ipynbから行います。
(2023/07/10変更)
06_Export_ONNX.ipynbを開いてください。
※06_Export_ONNX.ipynbが存在しない場合(2023/07/10以前)
以下のURLから06_Export_ONNX.ipynbをダウンロードし、
Googleドライブのmmvcフォルダ内、notebookフォルダ
(他の.ipynbファイルがある箇所)にアップロードして開いてください。
https://github.com/isletennos/MMVC_Trainer/blob/v1.5.0.0_SiFiGAN/notebook/06_Export_ONNX.ipynb

右にある↓ボタン(Download raw file)からダウンロードする
06_Export_ONNX.ipynb:0~3の実行
0~3を学習編と同様に、上から順に実行していきます。
『0 ノートブックの準備』
『1 Notebookの準備』
『2 リポジトリの準備』
『3 実行の準備』
を順に実行してください。
06_Export_ONNX.ipynb:4 学習結果をONNXファイルに変換
『3 実行の準備』まで実行したら
次に『4 学習結果をONNXファイルに変換』へ移ります。
ここは実行前に変更が必要です。
model_save_dic:
を変更する必要があります。
20220306_24000 を tutorial
に変えてください。

model_save_dicが過去バージョンのフォルダ名になっている。
tutorial に変更すると現在のバージョンのフォルダ
(学習結果が保存してあるフォルダ名)と一致する。
変更したら●▶ボタンを押して実行してください。

出力まで時間がかかるため、しばらく待機する。
1分ほどすると、出力の上側に
『Model data loading succeeded.』
とあり、後半に
『Done』
と記述され、その後に色々なパラメータが書かれていたら
ONNXファイル化は成功です。

指定したファイル(logs/tutorial/G_latest_99999999.pth)を 読み込み、変換した。
必要ファイルのダウンロード
ダウンロードする必要があるファイルは4つあります。
実行結果を確認したら、
マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/logs/tutorial
フォルダに移動してください。
出力が成功していれば、
『G_latest_99999999.onnx』
ファイルが存在します。

マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/logs/tutorial フォルダ内。 『G_latest_99999999.onnx』 が新たに作られている。
このファイル『G_latest_99999999.onnx』をボイチェンで使います
(非リアルタイム・リアルタイム両方)。
ファイルをダウンロードしてください。
ダウンロードはファイルを右クリック→ダウンロード から行います。

ファイル容量が大きいため、
『ファイルのウィルス スキャンを実行できません』
と出ます。
『エラーを無視してダウンロード』
を選んでください。

約200MBと大きいため表示される。 エラーを無視してダウンロードする。
保存場所は、
半角英数と記号のみのパスになるフォルダに保存してください。
ボイスチェンジャーを起動する際の条件になります。

ファイル名、およびファイルを保存するフォルダパスは 半角英数で表記する事。
次に、同じtutorialフォルダにある
『config.json』もダウンロードしてください。
保存場所は『G_latest_99999999.onnx』
と同じ箇所にダウンロードしてください。

このファイルも使うためダウンロードする。
3つ目として、
マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/configs
フォルダに存在する
『myprofile.conf』をダウンロードしてください。
こちらもボイチェンに必要なファイルになります。
保存先はonnxファイル等と同じ箇所にしてください。

フォルダにあるmyprofile.conf
これをダウンロードする。
最後に、マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/filelists
フォルダに存在する
『train_config_Correspondence.txt』
をダウンロードしてください。
こちらもボイチェンに必要なファイルになります。
保存先はonnxファイル等と同じ箇所にしてください。

Create_Configfile.ipynbの時に作られている。 こちらもダウンロードする。
これで必要なファイルのダウンロードは完了です。お疲れ様でした。
非リアルタイムボイスチェンジする(v1.5)
MMVC_Client(MMVC用のボイスチェンジャー)を使って
非リアルタイムボイチェンを行います。
MMVC_Client_v0.5.0.0の入手と展開
以下のURLからMMVC_Client_v0.5
(MMVC_Trainer_v1.5向けソフト)
をダウンロードします。
URLに移動したら、『mmvc_client_installer_15.exe』
をクリックしてダウンロードしてください。
ダウンロード箇所は先程の.onnxファイル等と
同じ箇所にしてください。
2GB近くあるため、パソコンの残り容量に注意してください。

ブラウザによっては『安全でない』として
ダウンロードできない事があります。
その際は各ブラウザの機能に沿って、
DL停止状態を解除して保存してください。
保存したらエクスプローラーで
『mmvc_client_installer_15.exe』
を保存した場所に移動します。
『mmvc_client_installer_15.exe』
をダブルクリックして実行してください。

実行すると、MMVC_Clientフォルダの展開先設定画面が出ます。
そのまま『Extract』を押してください。

フォルダを展開する先を聞かれる。
デフォルトだとmmvc_client_installer_15.exeの 保存先に展開するため、
そのまま『Extract』を押す。
完了すると『mmvc_client_installer_15』フォルダが作られます。

『mmvc_client_installer_15』フォルダが増えている。
中身はこのようになってます。

いくつかファイルがあるが、実際のボイチェンソフトは binフォルダ内にある。
変換元音声の用意
非リアルタイムボイチェンに使用する音声ファイルを用意します。
特に問題がなければ『録音編』で録音した音声ファイルの
いずれかを使用します。
音声ファイルをコピーし、.onnxファイル等と同じフォルダに
配置してください。

今回はemotion005.wavをコピー・使用することにした。
なお、指定するファイルは24000Hz, 16bit, 1ch(モノラル)
である必要があります。
自身の音声ファイルがこのパラメータでない場合は、
Googleドライブにある音声ファイルが
このパラメータに変換されているため
そちらをダウンロード、指定してください。
パラメータ変換された音声ファイルは
マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/dataset/00_myvoice/wav
フォルダに存在します。

元の音声ファイルはback_upフォルダに残っている。
今回必要なのは
マイドライブ/MMVC_Trainer-v1.5.0.0_SiFiGAN/dataset/00_myvoice/wav
フォルダにあるいずれかの音声ファイルになる。
どれか1つを.onnxファイル等があるフォルダにダウンロードする。
音声デバイスの取得
MMVC_Clientによる音声変換を行う際は、
リアルタイム・非リアルタイムともに
使用する入力・出力のデバイスを設定する必要があります。
パソコンに入出力デバイスとして何が登録されているかは
『mmvc_client_installer_15』フォルダにある
『output_audio_device_list.exe』で確認できます。
『output_audio_device_list.exe』を
ダブルクリックで実行してください。

実行すると、数秒黒い画面が出て、すぐ消えます。
黒い画面が消えると、『mmvc_client_installer_15』フォルダに
『audio_device_list.txt』が作成されています。
『audio_device_list.txt』を開いてください。

『audio_device_list.txt』が増えている。

この画像は記事執筆者の場合であり、 内容はパソコンによって変化する。
音声入力デバイスは行頭に『入力:』、
音声出力デバイスは行頭に『出力:』、
入出力デバイスは行頭に『入出力:』と書かれる。
『audio_device_list.txt』に書かれているデバイスから、
ボイチェンで使用するマイク『入力』と
変換結果出力先のスピーカー/ヘッドホン『出力』を選びます。
同じ名前のデバイスが複数出ることがあります。
その場合は『番号が低い方』を選んでください。

ここでは『入力』を "ライン (Steinberg UR22mkII ), MME" に、
『出力』を "line_out_sync (Yamaha SYNCROOM , MME"にする。
下にデバイス名までは同名の
"ライン (Steinberg UR22mkII ), Windows DirectSound"
が存在するが、こちらは使わないようにする。
ここで確認した入力・出力デバイスは後述の
『myprofile.conf』の編集で記入します。
非リアルタイム用にmyprofile.conf編集(Client_v0.5)
MMVC_Client(ボイチェンソフト)は、
先程ダウンロードした『myprofile.conf』の設定を読み込んで動作します。
myprofile.confを編集することで、
リアルタイムボイチェンではなく
非リアルタイムボイチェンとして使う事ができます。
『myprofile.conf』を右クリックし、
『プログラムから開く』から
メモ帳などのテキストエディタを選び、開いてください。

内容はテキストのため、テキストエディタで開ける。
記事執筆者はサクラエディタを使用している。
中身はこのようになってます。

この内、"input_device1"を『音声デバイスの取得』の
audio_device_list.txtで選んだ入力デバイス名に、
"output_device"を出力デバイス名に変更します。
記事執筆者の場合は
"input_device1": "ライン (Steinberg UR22mkII ), MME",
"input_device2": false,
"output_device": "line_out_sync (Yamaha SYNCROOM , MME",
となります。

audio_device_list.txtから入力・出力デバイス名を コピーして
input_device1, output_deviceの名前を 上書きする形で貼り付けた。
次に、 "path": { 以降は、以下のように書き換えます。
ただし下記のpathは、.onnxファイル等を
D:\mmvcrt\note\v15\07kakunin
フォルダに保存した場合の記述内容になります。
pathの各項目, input_filename, output_filenameの
フォルダパス箇所部分
D:\\mmvcrt\\note\\v15\\07kakunin
は、各自の保存フォルダパス書き換えてください。
"path": {
"json": "D:\\mmvcrt\\note\\v15\\07kakunin\\config.json",
"model": "D:\\mmvcrt\\note\\v15\\07kakunin\\G_latest_99999999.onnx",
"correspondence":"D:\\mmvcrt\\note\\v15\\07kakunin\\train_config_Correspondence.txt",
"noise": "D:\\mmvcrt\\note\\v15\\07kakunin\\noise.wav"
},
"others": {
"use_nr": false,
"voice_selector": false,
"voice_list": [101, 108, 6, 30],
"voice_label": ["ずんだもん", "目標話者", "女性の声", "男性の低い声"],
"voice_f0": [1.0, 1.0, 1.0, 1.0],
"input_filename": "D:\\mmvcrt\\note\\v15\\07kakunin\\emotion005.wav",
"output_filename": "D:\\mmvcrt\\note\\v15\\07kakunin\\emotion005_output.wav"
}
}
"input_filename"と"output_filename"の
emotion005.wavの箇所は、
変換元として用意したファイル名に変えてください。
書き換え時の注意点を2点挙げます。この点を守ってください。
フォルダ、ファイル名に半角英数_(アンダーバー半角)
以外の文字を含めない
ひらがな、かたかな、漢字、Δなどの全角の記号はエラーになりますエクスプローラーで「\」(半角の¥マーク)と書かれている場所は
『myprofile.conf』では「\\」と二連続に書き換える
プログラムの関係で、二連続の\\にしないとファイルが認識できませんothers欄のinput_filename, output_filename行を追加する時、
上の行にあたる"voice_f0"の行末に
,
(カンマ)を加える
,(カンマ)を加えないと正常にファイルが読み込めません。
編集後は以下のようなmyprofile.confになります。
繰り返しますが、input,outputデバイスやpathは
パソコンによって変わるため、各自書き換えをお願いします。

ipnut_filename, output_filename追加にあたって
others欄のvoice_f0の行末に,(カンマ)が増えているなど、微妙な差異があるため注意。
参考として、上記のmyprofile.confを下記URLにアップロードします。
比較用としてご利用ください。
https://ux.getuploader.com/lll_opip/download/14
非リアルタイムボイチェン実行(v1.5)
ここまで設定できたら、あとはソフトを起動するだけです。
mmvc_client_installer_15/bin
フォルダ内に存在する
『mmvc_client.exe』をダブルクリックして実行してください。

天才少女のアイコンが目印。
実行すると黒い画面が表示されます。
数秒すると、『myprofile.conf を選択してください』と表示され
ファイル選択画面が出ます。
ファイル選択画面では、先程編集した
『myprofile.conf』を選び、『開く』を押してください。

少しすると『myprofile.conf を選択してください』と表示される。

先程編集したmyprofile.confを選んで『開く』。
選択後、最初に
『path内で指定したconfig.jsonのパス』
が表示されます。
myprofile.confの表示でない点に注意してください。
この表示が正常です。

myprofile.confではなく、その中で記述した
config.jsonのパスが表示される。
まぎらわしいが、これが正常な動作になる。
次に『モデルを読み込んでいます。少々お待ちください。』
と出ますので、数秒ほど読み込みを待ちます。

次に、
『モデルの読み込みが完了しました。
音声の入出力の準備を行います。
少々お待ちください。
準備が完了しました。VC開始します。』
と表示されます。
リアルタイムボイチェンの場合であれば
この表示からボイチェンが起動状態になりますが、
非リアルタイムの場合はこの表示からさらに待ちます。

リアルタイムボイチェンであれば、この表示からボイチェン開始になる。
今回は非リアルタイムボイチェンであり、 内部で音声変換中のため更に待つ。
最後に一瞬だけ『vc_finish』と表示されて、
すぐに画面が消えます。
画面が消えたら非リアルタイムボイチェンが完了しています。

『vc_finish』と出たら音声変換が完了になる。
この表示から1秒もせず画面が消える。
失敗時はエラー表示とともに黒画面が出たままになるため、
画面が消えたら変換成功と見てよい。
非リアルタイムの変換結果は、
.onnxファイルや変換前音声ファイルと同じフォルダに存在します。

新しく『emotion005_output.wav』が作られている。 これが変換後音声になる。
変換後音声は実際に再生したり、
Audacityにドラッグアンドドロップで内容を確認できます。
変換後音声は開始と終了に0.4~0.5秒の無音時間がありますが、
これはリアルタイム変化時にも生じる
『変換処理によるタイムラグ』です。
概ねこのくらいの変換遅延はある、という事になります。

音声開始までに0.46秒ほどの無音がある。
これが概ねの「リアルタイム変換時の遅延時間」になる。
遅延時間の削減や、反対に遅延時間を増やして品質を上げる方法は
『リアルタイム編』で解説します。
音声を聞いてみて、特に問題が無ければ
非リアルタイムボイスチェンジ、および
『確認編』は終了です。お疲れ様でした。
変換に違和感がある場合は、『学習編』で学習を再開、
もう少し学習を進めてから改めて
『確認編』をONNX化から順に実行してみてください。
学習結果をONNXファイルに変換する(v1.3)
基本的にv1.5と同じですが、一部差異があります。
使用するのは
『マイドライブ/MMVC_Trainer-main/notebook/04_Export_ONNX.ipynb』
ファイルになる。
ファイルがない場合は、以下のURLからダウンロードし、
Googleドライブの
マイドライブ/MMVC_Trainer-main/notebook/
にアップロードする。
https://github.com/isletennos/MMVC_Trainer/blob/main/notebook/04_Export_ONNX.ipynb『0 ノートブックの準備』から『4 ライブラリのインストール』
まで実行した後に
『5 学習結果をONNXファイルに変換』へ飛ぶ。『5 学習結果をONNXファイルに変換』において
『model_save_dic』は『20220306_24000』のままでよい。
そのまま●▶ボタンを押して実行する。

右にある↓ボタン(Download raw file)からダウンロードする
以上で
『マイドライブ/MMVC_Trainer-main/notebook/logs/20220306_24000』
フォルダに
『G_latest_99999999.onnx』
ファイルが作成されます。
必要ファイルのダウンロード
ダウンロードする必要があるファイルは2つあります。
『マイドライブ/MMVC_Trainer-main/notebook/logs/20220306_24000』
フォルダに作成された『G_latest_99999999.onnx』ファイル『マイドライブ/MMVC_Trainer-main/notebook/logs/20220306_24000』
フォルダに存在する『config.json』ファイル
の2つです。
保存場所は、
半角英数と記号のみのパスになるフォルダに保存してください。
非リアルタイムボイスチェンジする(v1.3)
基本的にv1.5と同じですが、差異が複数あります。
MMVC_Client_v0.3.1.0の入手と展開
MMVC_Trainer_v1.3に対応するソフトは
MMVC_Client_v0.3.1.0です。
MMVC_Client_v0.5.0.0では動かないため注意してください。
MMVC_Client_v0.3.1.0は以下のURLからダウンロードできます。
URLに移動したら、『mmvc_client.exe』
をクリックしてダウンロードしてください。
ダウンロード箇所は先程の.onnxファイル等と同じ箇所にしてください。
2GB近くあるため、パソコンの残り容量に注意してください。

ブラウザによっては『安全でない』として
ダウンロードできない事があります。
その際は各ブラウザの機能に沿って、
DL停止状態を解除して保存してください。
保存したらエクスプローラーで『mmvc_client.exe』
を保存した場所に移動します。
『mmvc_client.exe』をダブルクリックして実行してください。
セキュリティで実行を止められる場合は、
各セキュリティの手順に沿って実行まで進めてください。

『詳細情報』を押してから『実行』で動く。
実行すると、MMVC_Clientフォルダの展開先設定画面が出ます。
そのまま『Extract』を押してください。

フォルダを展開する先を聞かれる。
デフォルトだとmmvc_client.exeの保存先に展開するため、
そのまま『Extract』を押す。
完了すると『mmvc_client』フォルダが作られます。

『mmvc_client』フォルダが増えている。
中身はこのようになってます。

いくつかファイルがあるが、実際のボイチェンソフトは binフォルダ内にある。
変換元音声の用意(Client_v0.5とほぼ同じ)
非リアルタイムボイチェンに使用する音声ファイルを用意します。
特に問題がなければ『録音編』で録音した音声ファイルの
いずれかを使用します。
音声ファイルをコピーし、.onnxファイル等と同じフォルダに
配置してください。
v1.3の場合は
『Colabで録音』したなら、音声をGoogleドライブの
マイドライブ/MMVC_Trainer-main/dataset/textful/00_myvoice/wav
フォルダから、いずれか1つの音声ファイルをダウンロードします。
『Audacityで録音』したなら、『ecodeco』フォルダにある
いずれか1つの音声ファイルを
.onnxファイル等と同じフォルダにコピーします。

いずれか1つを エクスプローラーの.onnxファイルと同じ場所にダウンロードする。
今回はemotion005.wavを使用する。
音声デバイスの取得(Client_v0.5と同じ)
フォルダが『mmvc_client_installer_15』ではなく
『mmvc_client』である以外は完全に同じのため、
『音声デバイスの取得』を参照して
使用する音声入力・出力デバイスを選んでください。
非リアルタイム用にmyprofile.conf編集(Client_v0.3)
MMVC_Client(ボイチェンソフト)は、
『myprofile.conf』の設定を読み込んで動作します。
myprofile.confを編集することで、リアルタイムボイチェンではなく
非リアルタイムボイチェンとして使う事ができます。
MMVC_Client_v0.3.1.0のmyprofile.confは、
先程展開したmmvc_clientフォルダのconfフォルダに存在します。
confフォルダのmyprofile.confを、
.onnxファイル等を保存しているフォルダにコピーしてください。

これを.onnxファイル等があるフォルダに コピーして使用する。
コピー後、『myprofile.conf』を右クリックし、『プログラムから開く』から
メモ帳などのテキストエディタを選び、開いてください。
中身は以下のようになってます。

この内、"input_device1"を『音声デバイスの取得』の
audio_device_list.txtで選んだ入力デバイス名に、
"output_device"を出力デバイス名に変更します。
記事執筆者の場合は
"input_device1": "ライン (Steinberg UR22mkII ), MME",
"input_device2": false,
"output_device": "line_out_sync (Yamaha SYNCROOM , MME",
となります。

audio_device_list.txtから入力・出力デバイス名を コピーして
input_device1, output_deviceの名前を 上書きする形で貼り付けた。
次に、 "path": { 以降は、以下のように書き換えます。
ただし下記のpathは、.onnxファイル等を
D:\mmvcrt\note\v15\07kakunin
フォルダに保存した場合の記述内容になります。
pathの各項目, input_filename, output_filenameの
フォルダパス箇所部分
D:\\mmvcrt\\note\\v15\\07kakunin
は、各自の保存フォルダパス書き換えてください。
"path": {
"json": "D:\\mmvcrt\\note\\v15\\07kakunin\\config.json",
"model": "D:\\mmvcrt\\note\\v15\\07kakunin\\G_latest_99999999.onnx",
"noise": "D:\\mmvcrt\\note\\v15\\07kakunin\\noise.wav"
},
"others": {
"use_nr": false,
"voice_selector": false,
"voice_list": [100, 108, 107, 6, 30, 108],
"voice_label": ["ずんだもん", "目標話者", "自分の声", "女性の声", "男性の低い声", "女性の高い声"],
"input_filename": "D:\\mmvcrt\\note\\v15\\07kakunin\\emotion005.wav",
"output_filename": "D:\\mmvcrt\\note\\v15\\07kakunin\\emotion005_output.wav"
}
}
"input_filename"と"output_filename"のemotion005.wavの箇所は、
変換元として用意したファイル名に変えてください。
書き換え時の注意点を2点挙げます。この点を守ってください。
フォルダ、ファイル名に半角英数_(アンダーバー半角)
以外の文字を含めない
ひらがな、かたかな、漢字、Δなどの全角の記号はエラーになりますエクスプローラーで「\」(半角の¥マーク)と書かれている場所は
『myprofile.conf』では「\\」と二連続に書き換える
プログラムの関係で、二連続の\\にしないとファイルが認識できませんothers欄のinput_filename, output_filename行を追加する時、
上の行にあたる"voice_label"の行末に
,
(カンマ)を加える
,(カンマ)を加えないと正常にファイルが読み込めません。
編集後は以下のようなmyprofile.confになります。
繰り返しますが、input,outputデバイスやpathは
パソコンによって変わるため、各自書き換えをお願いします。

赤枠の箇所が変更・追加された点になる。
ipnut_filename, output_filename追加にあたって
others欄のvoice_labelの行末に,(カンマ)が増えている
など、 微妙な差異があるため注意。
参考として、上記のmyprofile.confを下記URLにアップロードします。
比較用としてご利用ください。
https://ux.getuploader.com/lll_opip/download/15
非リアルタイムボイチェン実行(v1.3)
フォルダが『mmvc_client_installer_15』ではなく
『mmvc_client』フォルダになる以外は
全て『非リアルタイムボイチェン実行(v1.5)』と同じです。
『非リアルタイムボイチェン実行(v1.5)』を参照してください。
音声を聞いてみて、特に問題が無ければ
非リアルタイムボイスチェンジ、および『確認編』は終了です。
お疲れ様でした。
変換に違和感がある場合は、『学習編』で学習を再開、
もう少し学習を進めてから改めて
『確認編』をONNX化から順に実行してみてください。
エラーの例・原因と対策(v1.5, v1.3共通)
MMVC_Trainer-v1.5.0.0(MMVC_Client_v0.5.0.0),
MMVC_Trainer-main(MMVC_Client_v0.3.1.0),
共通で、エラーが生じる事があります。
以下は一例になります。合わせて原因と対策も書いています。
No such file or directory(ONNX化、非リアルタイムVC)
『No such file or directory』といった文面の
エラーが出ることがあります。
意味は『そのようなファイルまたはディレクトリ(フォルダ)が
見つからない』というものです。
このエラーが出る原因は、例としては以下のようになります。
ONNX化:
・Googleドライブをマウントしていない
・『学習結果をONNXファイルに変換』より前の手順を飛ばしている
・『学習結果をONNXファイルに変換』の『model_save_dict』が
『学習』で指定した『modelの保存先ディレクトリ』の名前と違う
・本当にファイルが無い
(まだG_latest_99999999.pthが出力されていない段階で
ONNX化をしようとしている)
非リアルタイムVC(Client):
・pathの書き方が間違っている
(全角文字がある、\が1つだけの所がある、
ファイル名やフォルダ名が違う)
よくよく見ると誤字脱字がある事は相当多いため、
『No such file or directory』が出たら
ファイル名やフォルダ名を意識してください。
myprofile.confの場合は書き方のルールもあるため
特にこのエラーが出ます。
ONNX化で出る場合はTrain_MMVC.ipynbの序盤
(0~3あたり)を実行した上で進めてください。
Invalid control character at: line 3 column 25 (char 40)(VC)
3,25,40の数字の箇所は変わることがあります。
意味は『この数字の場所に、無効な文字がある』です。
言い換えると『myprofile.confの表記に異常がある』です。
パターンとして
・元々、小文字(false)とあった場所が大文字(False)になっている
・カンマ(,)が行末に不足している、あるいは過剰である
・ダブルクォーテーション(")が不足している、あるいは過剰である
・バックスラッシュ(半角の¥)が2連続(\\)になっていない
などがあります。
上記の数字の場合は『line 3 column 25』
=『(myprofile.confの)3行目の25文字目』に異常がある、
という文面になります。
その位置ではなく前後の文字や行に異常がある時もあるため、
エラーの数字周辺の表記を確認してみてください。
Invalid sample rate(非リアルタイムVC)
意味は『(デバイスはその)サンプリング周波数が無効である』
というものです。
MMVCは24000Hzが仕様ですが、マイクやスピーカーは
24000Hzに対応していない事があります。
myprofile.confで指定したマイク・スピーカーが
24000Hz非対応の時に生じるエラーです。
VB-CABLEやSYNCROOM、
VoiceMeeterBananaなどの仮想オーディオを経由する事で回避できます。
詳しくはリアルタイム編で説明します。
Model requires 9 inputs. Input Feed contains 5(MMVC_Client)
意味は『モデル(.onnxファイル)の要求入力にズレがある』です。
原因は『MMVC_TrainerとMMVC_Clientのバージョンが合ってない』です。
MMVC_Trainer-v1.5.0.0のデータを
MMVC_Client_v0.3.1.0で使おうとすると発生します。
MMVC_Trainer-main(MMVC_Trainer_v1.3.2.5)は
MMVC_Client_v0.3.1.0を使ってください。
MMVC_Trainer-v1.5.0.0_SiFiGAN(MMVC_Trainer_v1.5.0.0)は
MMVC_Client_v0.5.0.0を使ってください。
確認編まとめ
学習結果をONNXファイルに変換する(v1.5)
04_Train_MMVC.ipynbの0,1,2,3,8を実行してONNX化
4ファイルをDL非リアルタイムボイスチェンジする(v1.5)
MMVC_Client_v0.5.0.0をDL・展開
デバイスやファイルを設定、
myprofile.confを編集してから実行学習結果をONNXファイルに変換する(v1.3)
02_Train_MMVC.ipynbの0,1,2,7を実行してONNX化
2ファイルをDL非リアルタイムボイスチェンジする(v1.3)
MMVC_Client_v0.3.1.0をDL・展開
デバイスやファイルを設定、
myprofile.confを編集してから実行エラーの例・原因と対策(v1.5, v1.3共通)
No such file or directory:書き間違い
Invalid control character:書き間違い
Invalid sample rate:仮想オーディオデバイス使用
Model requires 9 inputs. :TrainerとClientのバージョンを合わせる
最後に(開発者支援)
開発者である天王洲アイルさん(@IsleTennos)は
PIXIV FANBOXを開設しています。
有料プランもあるため、資金の支援が可能です。
MMVC開発を支援したい方は是非支援をお願いします。
無料プランでMMVC開発状況も書く(らしい)ため、
リンク先を登録しておくと便利だと思います。
FANBOXは下記URLになります。
公式サポート音声募集中
MMVC公式サポート音源は常時募集中です(FAQより)。
ご自身の声をMMVC公式サポート音源にしたい場合は、
開発者である天王洲アイルさんのTwitter(https://twitter.com/IsleTennos)か
MMVC Discordサーバー(https://discord.com/invite/2MGysH3QpD)のIsleTennos#5740(天王洲アイルさん)に
DMにてお問合せください。
MMVCで分からない事があったら(FANBOXで質問)
不明点はMMVCのDiscordサーバーで質問可能ですが、
それとは別の質問用窓口が作成されました。
下記の、MMVC開発者天王洲アイルさんのpixivFAOBOXにて質問可能です。
MMVC関係で分からないことがあり、
Discordに入る事が難しい、質問しにくい、といった場合は
『MMVCに関する開発者に問い合わせ』にて質問してみてください。
次回予告(リアルタイム編A_MMVC_Clientで実行)
次回はようやく『リアルタイム編』として、
『MMVC_Client』というMMVC用ソフトを使用した
リアルタイムボイチェンを行います。
先に言うと今回書いたmyprofile.confのothers欄から
以下の部分を削除すればリアルタイムで動きます。
,
"input_filename": "D:\mmvcrt\note\v15\07kakunin\emotion005.wav",
"output_filename": "D:\mmvcrt\note\v15\07kakunin\emotion005_output.wav"
(最初のカンマ(,)は、input_filenameの上の行の末尾に付くカンマを表しています)。
リアルタイムでの動作準備は『確認編』でほぼ説明していますが、
例えば変換音声をDiscordに流したい時の話や
より速度を出す/品質を上げる方法のmyprofile.conf設定など、
リアルタイム関連の話をする必要があるため
『リアルタイム編A_MMVC_Clientで実行』として記述予定です。
また、MMVC_Client以外にも
様々な音声変換ソフトに対応しているVC Clientでも
リアルタイム変換ができます。
こちらは『リアルタイム編B_VC_Clientで実行』として記述予定です。
関連リンク
Googleドライブ:https://drive.google.com/drive/
Google Colab(Google Colaboratory):https://colab.research.google.com/
MMVC_Client_v0.5.0.0(MMVC_Trainer-v1.5.0.0_SiFiGAN用):https://github.com/stealthinu/MMVC_Client/releases/tag/v0.5.0.0
MMVC_Client_v0.3.1.0(MMVC_Trainer-main, MMVC_Trainer v1.3.2.5用):https://github.com/isletennos/MMVC_Client/releases/tag/v0.3.1.0
myprofile.conf 非リアルタイムVC用サンプル(MMVC_Client_v0.5.0.0用)
https://ux.getuploader.com/lll_opip/download/14
myprofile.conf 非リアルタイムVC用サンプル(MMVC_Client_v0.3.1.0用)
https://ux.getuploader.com/lll_opip/download/15
VB-CABLE:https://vb-audio.com/Cable/
YAMAHA SYNCROOM:https://syncroom.yamaha.com/play/dl/
VoiceMeeterBanana:https://vb-audio.com/Voicemeeter/banana.htm
開発者Twitter:https://twitter.com/IsleTennos
開発者FANBOX:https://mmvc.fanbox.cc/
MMVC Discordサーバー:https://discord.com/invite/2MGysH3QpD
MMVCニコニコ大百科:https://dic.nicovideo.jp/a/mmvc
記事執筆者Twitter:https://twitter.com/pipo_lll
記事執筆者Youtube:http://youtube.com/@pipo_lll
記事執筆者ニコニコ:https://www.nicovideo.jp/user/653583/
Imずんだもん王への道(旧版のMMVC導入解説動画)
ニコニコ Youtube
記事執筆者Note:https://note.com/pipo_lll
記事執筆者_欲しい物リスト(何かいただけると嬉しいです)
https://amzn.to/37XNPOL
講座記事一覧 最初と編まとめ
前回:学習編 次回:リアルタイム編A_MMVC_Clientで実行