生成 AI を使ってじょしちゅうがくせを創って自分もじょしちゅうがくせいになって会話した話(2)じょしちゅうがくせい化編
前回までのあらすじ
じょしちゅうがくせいを創ってじょしちゅうがくせいに成って会話する動画を生成 AI を色々使って作りました。
前回:
生成 AI を使ってじょしちゅうがくせを創って自分もじょしちゅうがくせいになって会話した話(1)概要編
本記事では、そこでやったことの内、1. じょしちゅうがくせい化で実際にやった内容についての説明と参考情報の記録をします。
1. じょしちゅうがくせい化
こちらでやったことは主に2つ、(1)じょしちゅうがくせいのキャラクターモデル用意、そして(2)リアルタイム音声変換です。
(1)じょしちゅうがくせいのキャラクターモデル用意
こちらは、今や簡易的な Vtuber として広く利用される Live2d モデルと Vtube Studio の Face Tracking を使いました(いわゆるバ美肉)。この時のFace Tracking には、Vtube Studio + Web カメラ構成時の精度を改善する NVIDIA Broadcast Tracker を用いています。Vtube Studio は iPhone 版の精度が高く、PC + Web カメラの構成だと精度が劣るのですが、NVIDIA GPU の Tensor Core を用いることで精度改善が出来る、というのがこの拡張機能です。
また、Live2d モデル作りの方は、Live2d の公式がチュートリアル動画を出してくれていますし、Live2d モデラ―も今では沢山いるので、それらの情報を参考に真似れば、そこそこのモデルが(頑張りと時間さえかければ)作れます。
唯一の難点は、キャラクターの絵が描けないと独自モデルの用意が難しいことですが、幸運にも自分は多少ながら絵を描いていたので、キャラクター作りは時間さえかければ出来ました。それに、独自のキャラクターにこだわらないなら nizima で購入できますし、Live2d モデラ―にお金が払える富豪であれば独自モデルの用意もできます(nizima を見た感じでは、10万~30万円くらい払えれば、一点モノの Live2d モデルが買える相場感です。更に個人依頼でデザインに注文をつけて作ってもらうとなると、要件定義分の料金が上乗せされて、もうあと+10~20万くらいはかかりそうな印象です)。
いずれにせよ、このモデルについては、個人でも頑張れば出せる程度の金額でそこそこ良いクォリティの Live2d モデルが入手できますし、相対的には問題にならないだろうと考えています(作業時間かお金を犠牲にすれば)。一方で、次の音声変換が大問題でした。
なお、Live2d モデルの制作過程については、自分の FANBOX にも記事を書いています(R-18記事もあるので、苦手な人は注意。見返すとこの時すでに音声変換問題のせいで、活用に頓挫していたみたいですね・・・この頓挫が 2021 年 12 月ですが、実は次の節に書くように、この時点で音声変換について画期的な手法が論文で提案されていたのでした)
うねぴちゃん PSDファイル(有料記事)
no+e では、動画について youtube とかのリンクを張ることしかできないみたいなので、以下には Live2d モデルの制作時に描いた、モデルの素体画像だけ載せておきます。
もっと現代的な影だけ色合いが違うみたいなキャラデザや、何故か2色ある髪色的なデザイン案もありましたが、結局わたしが、きんばぱつへきがんが好きという一存でこのデザインに収束しています。やはり自分で作ることのアドバンテージは、自分の趣味を完全に反映できるという部分ですね。
(2)リアルタイム音声変換【1】:~2020年末くらいまで
このリアルタイムな音声変換、特に元話者の声質除去まで可能なニューラルベースの音声変換は技術的にかなり難しく、これまでのバ美肉でも非ニューラルなボイスチェンジャーは良く使われていましたが、この方法は元の声質に対する依存性が高く、一部の適正がある声質を持っている人(いわゆる適合者)以外は、聞いていて不快にならない声にするのに限界がありました。
私も、恋声とかそういう、非ニューラルなボイスチェンジャーを頑張って試してみたことがありましたが、正直ただのキモい声が生成されるだけで、虚無感すごかったです。
この問題は、正直言って自分でどうにかできる次元ではなく、ただただ頭の良い天才とか超秀才とかが、すっごいニューラル音声変換モデルを出してくれるのを祈る、くらいしか出来ることはなかったです。
そもそも、数年以上前はノンパラレルデータ(変換元と変換後の音声が一対一対応していないデータ)でのモデルの学習さえ技術的には画期的な状況で、特に美少女ボイスを生成したい、おまけに日本語で、みたいな目的は、一部の先進企業やエンターテイメント系企業以外はあまり手を出さない分野になってしまっており、個人では数少ない好事家がパラレルデータで音声変換を頑張ってみたといった情報が散見される程度で、本当に解決方法がありませんでした。
とはいえ、一定の進展はあり、NTT Comと NTT は 2017 年に CycleGAN-VC という、その名の通り CycleGAN を用いたノンパラレルデータの声質変換モデルを提案しています。この手法には VC2、VC3 もあります。また、このあたりの音声変換について、日本企業では他に DeNA や ドワンゴ 等が研究開発に取り組んでいるのが有名かと思います。が、モデルは一般公開されていないですし、研究開発段階の技術でもあったため、我々一般人が活用できる様な技術ではない状態だったのですが・・・
【参考情報】
2020年末頃までの、音声変換分野研究に対するサーベイ情報になっている貴重な文書。サーベイや解説論文として arXiv に出しても良いレベル。
理想の声を目指して 〜七声ニーナの音声変換技術からライブ配信応用へ〜
上記記事よりもより直観的に、音声変換技術について説明された文書
ドワンゴはリアルタイム性を犠牲にして、高品質という方向に研究を進めている様です。その成果は、既に Seiren Voice など、非リアルタイムですが高精度な品質の音声変換製品に繋がっていますね。
(2)リアルタイム音声変換【2】:2021年以降~2023年前半くらいまでと、今回使用した MMVC について
ということで、リアルタイムに処理できて、そこそこ高精度で、個人でも使える音声変換モデルといった(我々にとってただただ都合が良い)手法は、中々出てこなかったのですが、2021 年の 6 月くらいに、”奇跡的に”、ノンパラレルデータ対応かつ結構高精度で、しかもかなり処理が高速な、End-to-End ニューラル speech-to-text & text-to-speech 両用モデルについて提案する論文が出現しました。それが、"Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech"、VITS と呼ばれるモデルです。最近話題になった、so-vits-svc や RVC も構造としてこの VITS が元になっています。
この VITS モデル本来のモチベーションは、論文の題名の通り、End-to-End text-to-speech モデルの構築なのですが、その副産物?といった感じで 多対多の speech-to-speech モデル、つまり複数話者同士で音声変換が出来るモデルまで作れてしまうという、かなり画期的な手法になっています。当然ながらそこそこ話題になり、提案後には個人で音声変換を試す人がかなり出てきました。
【参考情報】
2021年6月に発表された最新の音声合成手法「VITS」でアニメ風合成音声を作ってみた【つくよみちゃんコーパス】:こちらは COEIROINK の作者の方のブログですね
その後、この VITS モデルをベースとして、割と誰でも使える様にインターフェースを用意してくれたアプリケーションが、MMVC (RealTime-Many to Many Voice Conversion) です。私の様な得にこの分野に特に詳しくない人でも Google Colaboratory 等の GPU をモデルの学習に使って、ある程度簡単に音声変換モデルが作れてしまいます。凄いですね。
ただ、誰でもの意味が、(自分の声の録音作業を根気強く出来て、ちょっとしたコード風のインターフェースでもアレルギーを起こさずに使える様な人なら)誰でも、くらいの難易度ではあり、若干のハードルはまだあるのですが、数年前と比べれば、特に音声変換分野に詳しくない個人でも手を出せるレベルにまで落とし込まれて来ているので、かなりの発展と言えます。
実際、MMVC については、ニコニコ動画の、Imずんだもん王への道(MMVC導入講座) を見れば、ある程度根気がある人なら、音声変換モデルの構築が出来るレベルになっています。
この MMVC も当初は、音声変換時に NVIDIA GPU を利用しないと遅延がかなり大きかったり、CPU 利用時はものすごく CPU の利用率が高かったり、精度的にも若干難点があったりと多少課題があったのですが、これより前に一般人が手軽に使えるボイスチェンジャー製品と比べれば、声質変換の品質は圧倒的に高い印象でした。
今は、上記の問題にも改良が加えられており、ver 1.3 ではかなり改善しています。また、最新の ver 1.5 では、歌まで歌えるようになっているとか。まだ試してないですが。
じょしちゅうがくせい化の説明記事おわり
ということで、じょしちゅうがくせいに化について、特に音声変換についての紆余曲折を書いていたらかなり長文になってしまいました。ただ、それくらい、この音声変換は厄介なハードルだったということです。でも超えてみたら意外と、もうそんなに難しくないのでは?と感じてしまうのは不思議ですね。まあ、別に解決したのは私じゃなくて、世の中の頭のいい天才と超秀才たちなんですが(私は、誰か良いニューラル音声変換モデル出してくれ~と祈っていただけ)。
そして、現在も試行錯誤中で無数の課題が残るのが、次回の記事に持ち越しにした、じょしちゅうがくせい生成・・・ということになります。こちらは、今話題の大規模言語モデルを元にした生成 AI サービス、ChatGPT の利用が主軸になりますね。
ということで、じょしちゅうがくせい化の説明記事を終わりたいと思います。
次回記事:生成 AI を使ってじょしちゅうがくせを創って自分もじょしちゅうがくせいになって会話した話(3)じょしちゅうがくせい生成編-1
参考情報(References)
(1)じょしちゅうがくせい化
音声変換:MMVC(VITS ベースのノンパラレルデータ対応 End-to-End Speech to Speech model)
Live2d モデル作成
CLIP STUDIO PAINT EX
Live2d 素体作成、AI キャラクターラフ作成、背景画像修正 に使用
Face Tracking & Live2d model motion