追記2024/04/30
現在はCOLABでRVC関連のリソースにアクセスするのは規制されてしまっているようです。(huggingface上からはRVCが使えます)
はじめまして、すらです。
今回はAIを使って原神のキャラクターに歌を歌ってもらうことができたので紹介したいと思います。
AIで絵をかけることに驚いていたのもまだちょっと前のことですが、なんと声まで作れるようになってしまいました。
AIの発達によりいい意味でも悪い意味でもさまざまなものに影響を与えているこの時代。
まさに時代の転換期と言っても過言ではない今を生きていることを大変うれしく思います。
さてつまらないあいさつは置いておいて、
実際にAIで作成した楽曲を聞いてみてください(著作権の関係上広告あるサイトには埋め込みできないのでリンクのみ)
神里綾人で世界に一つだけの花(SMAP)
https://www.youtube.com/watch?v=_jbxcJjM3FU&ab_channel=%E3%81%99%E3%82%89
原神女性キャラ6人でBye-Bye Show(BiSH)
https://www.youtube.com/watch?v=PuInEdjBMWk&ab_channel=%E3%81%99%E3%82%89
発音が怪しいところもありますが、これは原神キャラの声です。本当にすごい。
そしてこちらはMr.ChildrenのGIFTを胡桃で。
#原神
RVCで作成したAI音声でミスチルのGIFT(音源なし)
誰の声かちゃんとわかるしマジですごいよこれ… pic.twitter.com/N0NzhsyzgG— ありふれた原神プレイヤーの呟き (@genshin_topics) September 3, 2023
どのようにして作るのか、手順はそう難しくありません。
※PCでの動作しか確認してません。
※紹介する手順の実行や、出来たAIのデータの取り扱いなどはすべて自己責任でお願いします。
環境の構築
使用するもの(全部用意しなくていいよ!)
RVC(Retrieval-based-Voice-Conversion)
RVC用の原神学習データ
AI音声を作成するために今回使用するのは、RVC(Retrieval-based-Voice-Conversion)と呼ばれる技術なのですが、
音声を作成するために本来ならRVCが使えるようにPCの環境構築をしなくてはいけないのですが、なんとCOLAB(正式名称「Colaboratory」)を利用するとその過程をスキップできます。
COLABについて簡単に説明すると、Googleの提供するサービスでブラウザ上でpython(プログラミング言語)を実行することが出来るようになるものです。
RVCでAI音声を作成するにはpythonのプログラムを使用する必要があり、自機にpythonをインストールするだけでも慣れていない人にとっては敷居が高いです。
そこでCOLABを使用することによって、あらかじめpythonの環境が構築されている作業スペースを借りることができるといった感じですね。
COLABは無料で使えるのですが、無制限というわけではなく
90分放置、12時間経過、データの使用上限が最大に達したときにリセットされます。
リセットの何が面倒かというと、COLABの作業スペースにダウンロードしたデータなどがすべて消去されてしまうということです。
この後、20GB相当の原神キャラクターの学習データをダウンロードするんですが、リセット時にそれがすべて削除されてしまいます。
リセットされるたびに20GBの長いダウンロード時間を待たなくてはいけないので、非常に面倒くさいです。
時間のリセットはまだいいですが、データの使用量の上限は作業を繰り返しているといずれきます。
でも実際に無料版でAI音声を作成しましたが、お試しでやるには十分なくらい使用できます。
有料版を使用すれば無制限になります。月1000円くらいだったはず…。
お試しでやるだけなら全然無料版でいいですので、Google様のサービスを使用させていただきましょう。
→COLABと自分のグーグルドライブを紐づけることでダウンロードしたデータを自分のドライブ内に保存できるようになります。
→リセット時に再度ダウンロードする必要がなくなるのでドライブをマウントさせる方法もありかなと思います。
→ですが無料版のドライブが確か15GBまでしかデータを保存できなかったと思うので、こっちで課金する必要はありますが…
→COLABでの制限もやだ!でも課金もしたくない!!
→そんな方はローカルでRVCを動かしましょう。
→私は勉強も兼ねて現在環境構築中。
2023/09/02追記
→COLABではなくローカルで動かすことに成功しました。記事にする…かも。需要あれば。
前置きがかなり長くなってしまいましたが、今回はCOLABを利用してAI音声を作成していきたいと思います。
huggingfaceにアクセス
huggingfaceとは機会学習データなどを配布しているgithubのようなもので、さらにクラウド上でアプリケーションを実行できてしまうなんかすごいところ。
まずはこちらへアクセスします。
https://huggingface.co/spaces/ArkanDash/rvc-models-new
こんな画面になると思います。
前述した通り、クラウド上からアプリケーションを実行できるので、
かなり限定的な機能だけでいいならこの画面からAI音声を作成することはできます。
①で作成したい声のキャラを選びます。
②で音源をアップロードします。
③「Convert」を押すと②の音源をキャラクターの声でしゃべって(歌って)くれるファイルが生成されるのでダウンロードします。
Convertするときに、もし男声→女声に変えるときには「Transpose」を12へ。
逆に女声→男声にするなら-12にしましょう。
性別の変換がない場合は0です。
以上です。めっちゃ簡単でしょ?
しかしこれはお試し的な機能のみなので、もっと便利な機能を使うためにCOLAB上でこのアプリケーションを使用してみましょう。
COLABへアクセス
追記2024/04/30
現在は規制が入りリンク先が非表示になっています。
画面上部にあるこちらのボタンをクリックしてください。
なんかいっぱい英語出てきますけど、アレルギー起こさないように。
上のタブから「ランタイム」を選択して「すべてのセルを実行」を押してください。
これを押すと、あらかじめ書かれているプログラムコードが走ります。
何が書いてあるかというと、RVCを使用するために必要なものと原神のキャラクターの学習データをダウンロードしてます。
途中でこのような警告が出てくると思いますが、無視で大丈夫です。ギリギリディスクの容量を使い切る前に終わりますので。
全てのセルの実行が終わるまで時間がかかります。原神をやりながら待ってましょう。
3.までセルの実行が終わるとHow to use?のところに書かれている通り、
Running on local URL: ~
Running on public URL: ~
と表示されると思いますので、public URLの方のリンクをクリックしてください。
こんな画面になります。
さっきいたページよりもAI音声を作成できるキャラが増えていると思います。
inputタブで音声をアップロードしたらConvertタブに切り替えます。
音声はBGMありでもAI音声を作成してくれますが、声だけのものを用意すると精度があがります。
ConvertタブにしたらTransposeのところに-12~12の値を入れます。
前述した通り、女→男なら-12、男→女なら12、性別が変わらないなら0です。
Pitch extraction algoritmは歌の場合はpmがオススメ(高音に強い)
違うものに変えて生成して比較してみてください。
Convertボタンを押すとAI音声の生成が始まります。
アップロードした音声が長いとエラーになりますので、エラー出た場合は分割してください。(エラー出ても再度実行するといけたりする)
→おそらくこれもCOLABによる制限だと思います。私はCOLABを使わずにローカルで動かしてますが、4分ほどのファイルでもエラーになりませんので。
Output AudioにAI音声が生成されるのでダウンロードして完了です。
自分で声だけのファイルを用意できないけど!!
RVCにはとんでもない機能があります。
音源をボーカルのみとメロディーのみに分離させることができるのです。
inputタブのinput voiceをYoutubeにします。
①Youtube URLに使用したい音源のURLを指定。
②Download Audioを押して、指定したURLの音源のみを取得。
③Split Audioを押して取得した音源を声のみとメロディーのみのファイルへ分ける。
Vocal Previewには声のみのファイルが、Instrumentalにはメロディーのみのファイルが作成されます。
続いてConvertタブに切り替えます。
①Transposeを設定。
②Convertボタンを押して、声を生成。
③声を生成したらCombineを押して、声とメロディーのみファイルをがっちゃんこする。
※Vocal volumeとInstrumental volumeの値をいじって、どっちの音の方が大きくするか設定できます。
めちゃめちゃすごいよこれ…。
でもYoutube Premiumという有料機能の中にオフライン再生という機能がある以上、Youtubeの音源(動画)をダウンロードするのはよくないことだと思います。
今回の行為がダウンロードにあたいするものなのかは不明ですが、こちらの機能を使う際は自己責任でお願いします。
まとめ
キレイなAI音声を生成したいなら、声だけのファイルを用意する必要があるでしょう。
Youtubeの音源を持ってくるのに抵抗がある人は自分で歌って録音しましょう。
私は、自分の歌声を録音してAI音声を生成したりするんですが、歌がうまくないのでなんか違う…という出来になるんですよね…。
声の特徴はAIが作ってくれますが、音程などは元の音源次第(多分?)なのでこればっかりはどうしようもないですね…。
今回は歌でしたが別に歌に限定しなくとも、キャラのしゃべり方を真似してそれを録音すれば、ちゃんとキャラがしゃべったように聞こえる音声を生成してくれます。
こんな感じ
どちらも私(男)が録音してAIに変換してもらった声です。
原神プレイヤーなら誰の声かはわかると思います。すごいですね。
好きなキャラに好きなセリフを言ってもらえたら、幸せになれる人がいっぱいいるんではないでしょうか。
すらでした。
COLABの3.how to use?→public URL〜のリンク先でモデル選択で何も表示されません。
すべてのセルの実行がうまくできていないのでしょうか?
本記事のhuggingfaceへのリンク先では、COLABへのリンクが消されているみたいですね。
私のPCにはCOLABへのリンク先がブックマークされていましたのでアクセスしてみるとこのようなメッセージが記載されていました。
——————————————————————————-
Google has recently taken actions to restrict the usage of the RVC code, I’m not sure how long this RVC will last.
It appears that instead of directly blocking the code, they are limiting access to various resources.
訳)グーグルは最近、RVCコードの使用を制限する措置を取った。
コードを直接ブロックするのではなく、さまざまなリソースへのアクセスを制限しているようだ。
——————————————————————————-
ということなのでおそらく規制されてしまったのではないかと思います。
huggingfaceのCOLABへのリンクが消されているのもこれが理由でしょう。
現状はCOLABからではなく、ローカル(自機でRVCを使用)で行うしかないみたいです。
一応ローカルでの動かし方はこちらに記載されていますが…
https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI/blob/main/docs/jp/README.ja.md