【MMVC】ずんだもんに俺はなる!【ボイスチェンジャー】
しょう@ゆっくり学ぶチャンネルです。
Unityでゲームを作成することがメインの活動になっていますが、動画制作もたまーにやっています。
ボイスチェンジャーを使った実況の挫折
ゲームをプレイすることも勿論好きなので、実況動画も作れたらいいなあとは思っていたのですが、地声でやるのは嫌だったので、ボイスチェンジャーを色々試していました。
しかし、どうしても警察24時の犯人みたいな声になり、挫折していたのですが、凄いモノを発見しました!
「MMVC」でずんだもんになろう!
これは、天王洲アイル氏が開発している自分の声をテキスト読み上げソフトに瞬時に変換する技術なんです!
そしてチュートリアルでは、自分の声をVOICEVOXのずんだもんの声にすることが可能です!結果は次の通りです!
ワ イ め っ ち ゃ か わ い い や ん け
ほかにも「九州そら」「四国めたん」「春日部つむぎ」のデータも用意されています!
自分でテキスト読み上げソフトのデータを用意すれば、他の声にもなれますが、規約で機械学習を禁止しているソフトも多いので注意してください。
↓参考
MMVCは、決められたセリフを100個読み上げて録音し、同じセリフをテキスト読み上げソフトにも読み上げさせます(ずんだもん等は初めから読みあげデータが用意されています)。
そのボイスデータを使い、自分が「こんにちは」と言ったら、ずんだもんに「こんにちは」と読み上げさせるように機械学習させます。
導入の前に確認すること
以下の2つについては必ず確認してください。
ア.この記事の内容や参考記事、動画の内容については、最新の情報でなく、導入方法が大きく変わっている可能性があること
MMVCは日々更新が行われています。
よってWeb上で紹介されている導入方法もすぐ古くなってしまいますので、まずはMMVC公式のTwitterを確認し、最近アップデートが行われていないかを確認してください。git(MMVC関連ファイルをダウンロードする際に使用するWebページ)の記述も必ず確認してください。
イ.マイクの性能が悪いと全く機械学習が進まないこと【最重要】
Webカメラで録音した音声で一か月以上機械学習をしていましたが全く進まず、思い切って少しいいマイクを導入すると1日であっさりずんだもんになれました。皆さんも時間を無駄にしないために、安物のヘッドセットやウェブカメラで録音した音声を使用しないようにしてください。
ちなみにこれから↓
これに変えました↓
MMVC導入までの大まかな流れ
MMVC_TrainerをGoogleドライブ上にインストールする。
00_Rec_Voice.ipynbで自分の音声を100語録音する(他の方法で録音しても良い)。
01_Create_Configfile.ipynbを実行する。
02_Train_MMVC.ipynbを実行する。
Logフォルダのvc_100_best.wavを確認し、いい感じに声が変換されていたら、03_MMVC_Interface.ipynbを実行する。ダメなら4を繰り返す。
一番g/mel値の低いpthファイルをonnx化する(必須ではない)。
MMVC_Clientをダウンロードし、インストールと設定を行う。
ほぼリアルタイムで好きなキャラクターの声になれる!
MMVCの導入方法についての動画紹介
ピポッ氏の「I'm春日部つむぎ王への道講座_好きな声に即時ボイチェンを実行するまでの流れを解説」視聴し、補足として2022/1/19時点で最新動画の【AMD,IntelGPUサポート】I'mずんだもん王への道講座_好きな声に即時ボイチェンを実行するまでの流れを解説【MMVC】(C_v0.3.1_T_v1.3.2)、視聴し、導入を進めてください。
ピポッ氏の導入講座は「I'mずんだもん王への道講座_好きな声に即時ボイチェンを実行するまでの流れに関してだいたい0から説明していく予定【MMVC】(前準備編)」がシリーズ1作目なのですが、「【AMD,IntelGPUサポート】I'mずんだもん王への道講座~」および「I'm春日部つむぎ王への道講座~」と環境がかなり変わっているので、「【AMD,IntelGPUサポート】I'mずんだもん王への道講座~」と「I'm春日部つむぎ王への道講座~」を視聴して、わからないところがあれば補足的にシリーズの古い動画を視聴するのが良いと思います。
なお、03_MMVC_Interface.ipynbを使用する段階以降については、古い動画からあまり変更がありません。
該当するのは以下の動画の9:35あたり、学習編3からと、
以下の動画の全編です。
↓シリーズ初めの動画
MMVC導入のコツ
雑音が入ったら、録音をやり直す
少しでも雑音が入ったら、そのセリフの録音をやり直した方がよいです。面倒くさいですが、機械学習が思うように進まず、後で痛い目を見る可能性があります。
00_Rec_Voice.ipynbの録音時のエラーはページを再読み込みする
00_Rec_Voice.ipynbで自分の音声を録音する際には、録音が完了せずにロードが終わらなかったり、エラーメッセージが表示されます(体感的には10~20語ごと)。
焦らずにページを再読み込みしましょう。なおエラーメッセージが表示されたボイスは再度録音する必要があります。
ブラウザはGoogleChromeを使う
機械学習はGoogleドライブ上で行うので、GoogleChromeが一番上手く動作します。
myprofile.confに設定するデバイス番号に注意する
リアルタイム変換時に必要な出入力デバイスの番号ですが、知らないうちに変更されてエラーが発生することがあるので、エラーが発生した際は、再度output_audio_device_list.exeを実行し、出入力デバイス番号を取得し、確認しましょう。
そして・・・ずんだもんになれたのだ!が、しかし・・・
喜び勇んでAudacityで録音したら、地声でずんだもんを名乗る不審者の声しか録音されていないという大惨事が発生したので、Audacityでの設定は注意しましょう。
仮想オーディオインターフェースを導入し、遅延した音声を聴かずに録音、配信する
MMVCでボイチェンされて、ずんだもんの声になると自分の声に萌えられて、むーしゃむーしゃしあわせーなのですが、僅かですが遅延があるため、音声を聴きながら話し続けるのは困難です。
しかしスピーカーをミュートにしてしまうと、他の音声も聞こえなくなってしまうため、以下の記事を参考に、VB-CABLEという仮想オーディオデバイスをインストールしてください。なお、VB-CABLEのインストーラは「管理者として実行」を行わないと失敗するので注意してください。
下記の記事を参考にしてほしいのですが、VB-CABLEにMMVCでボイチェンした音声を入力し、その音声をVB-CABLEから録音ソフトや配信ソフトに出力します。これでスピーカーからはボイチェンされた音声は聞こえなくなります。リアルタイムで可愛い音声が聞こえなくなるのが、難点ですね。