8秒の音声からAITuber用オリジナルキャラボイスを作る【モデルデータ制作】備忘録
8秒の音声からオリキャラ音声モデルを作る
ザザッとワークフローを備忘録として書き残しておきます。
今回の記事はこちらの saretra05 さんの動画のモデル制作手法にトライしてみたくなり、更に自分なりの細かいアレンジを加えたものとなります。
とにかく最初の「8秒の音声の制作」が一番重要でした。
今回のモデルデータ制作は「GPT-SoVITS」のゼロショット学習に使うための最初の10秒以内のデータの質が全てと言っても過言ではありません。
まず「恋声」というソフトを使って声の高さ(ピッチ)と声の性質(フォルマント)を変えて自分の声を極力して可愛く1分くらい録音して出力。
(出力音声をファイルに保存するにチェックを入れて録音すればOK)
その後、良い部分を10秒以内でトリミング。私は無音部分を詰めたり8秒の音声としました。私は男ですが地声が高め、設定はピッチ126%、フォルマント125~130%くらいが良さそうな感じ。これは自身の声質、発声も重要なので良い感じに調節して下さい。
ちなみに出来るだけ良いマイクで高音質に録音した方が良いです。
恋声の操作方法はこちらの動画を参考にさせてもらいました。
ポイント:個人的な見解なのですが、声の出し方はアニメ「BanG Dream! It's MyGO!!!!!」の「長崎そよ」ちゃんを真似して発声すると男感が消えた声が出しやすい気がしました。力まず・柔らかく・フワッと感。
ちなみに、出力音声のノイズ除去や微調整をしたかったのでDTMにて後処理も行っています。プラグインとしてWavesの「Clarity Vx」でノイズ除去(換気扇の音が少し入っていたので)。ピッチとフォルマント、あとEQの微調整の為にiZotopeの「Nectar」を使用。
次に「GPT-SoVITS」を使います。
ここからのソフトの使用方法は、よしかいさん @yoshikai_man の「オープンソースで楽しむ! 音声合成 Style-Bert-VITS2 & GPT-SoVITS」を技術書典マーケットで購入し、参考にさせてもらいました。
先ほど作った10秒以内の音声をゼロショットTTSでどんな出力になるか試します(適当な比較的に短めのセリフで大丈夫)。
ゼロショットなので参照音声から良くも悪くも少し声は変わります。この時点で微妙なら最初に戻って声を録音し直すか、1分くらい録音しているはずなので違う部分をトリミングして参照させて何度も試す。
ここが重要なので「出力される音声」がどうやったら良くなるか、が重要なので試行錯誤し何度もトライした方が良い部分。可愛い出力になるまで何度も何度もやり直す。
ここで、納得が行く音声で出力されるようになったら、20~30分ほどの音声合成を行いwavで保存します。やり方は、長文テキストをテキストスライサーツールの「4つの文で埋める」と言うボタンで分割し推論させます。
長文も一気に音声合成が出来ますので完成まで待つだけです。
推論させる長文は今回はコーパスでは無く「セリフ集」で検索し出てくる任意のセリフをピックアップして使わせてもらいました。(約6000文字)
これが学習データ用の音声となります。
最後に、先ほど出力された20~30分ほどの音声(wav)を「Style-Bert-VITS2」の学習データとして使います。
これでモデルは完成です。
開発者のlitaginさんによるStyle-Bert-VITS2公式チュートリアルはこちら。
ノウハウ:私は学習時のエポック数をかなり増やして1000ステップ毎に保存します。学習モデルは大量に出来ますが経験上「過学習の向こう側」にお宝があったりします。今回も56,000ステップまで回し56個のモデルを色々なセリフを読ませて自分の耳で一番良いと言うものをピックアップしました。
大体5,000ステップ毎に聞いて、良さげな部分の前後を何個か比べる感じ。これが1,000ステップ違うと細かい読み上げのニュアンスがかなり違う。
以下のような感じ。ズラズラーッと大量です。
使用機材はこんな感じで、3月に新調したAKGのC214など。
自宅の防音室の中でコンデンサーマイクで収録しています。
声の収録や音の編集に慣れていない方には、制作は少し大変かもしれませんが、コーパス読み上げよりはハードルは低いはずです。
今回の音声合成モデルの制作手法はAITuber製作者には面白い試みになるのではないでしょうか?
是非ともトライしてみて下さい!
今回も読んでいただきありがとうございました。
何度も言いますが…アニメ「ガールズバンドクライ」は本当に素晴らしい作品なので見てない人は見た方が良いです!見ないともったいないよ!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?