2024年5月10日金曜日

AI kakakikikeke に Tomorrow never knows を歌わせてみた

AI kakakikikeke に Tomorrow never knows を歌わせてみた

今流行りの AI による歌を自分で作成してみました

できたもの

うぉっおーの高音部分が出てないところがまたリアル

環境

  • macOS 14.4.1 (M2Pro Mac mini)
  • Python 3.9.18
  • RVC WebUI (updated1006v2)

作り方

流れは以下の感じです

  1. 自分の音声モデルの作成
  2. 音源のBGMと声の分割
  3. 分割した声のファイルと音声モデルを使って推論
  4. BGMと推論により作成された音源ファイルを合成

です
なお使用したツールは RVC と Audacity になります

自分の音声モデルの作成

自分の声はこれまで Podcast でしこたま録音しているのでそれを使いました
たくさんあったほうがいいのですが 20 分くらいあれば十分っぽいのでこれを使いました

これを使って RVC の Train 機能を使って音声モデルを作成するだけです
モデルを生成する際はいろいろとチューニング可能なのでそれによっても歌い方がだいぶ変わってきます

harvest は品質が良くなりますがかなり学習に時間がかかります

音源のBGMと声の分割

今回は Mr.Children さんの Tomorrow never knows を音源として使わせていただきます
特に理由はないですがただただ好きなだけです
あとは男性の音声モデルの場合は男性の音源を使うほうが精度が良いかなと思ったので男性ボーカルの歌を選択しました

分割した声のファイルと音声モデルを使って推論

音声モデルファイルは pytorch 形式で出力されます
このモデルを使って分割したボーカルのみのファイルに自分の声とボイスチェンジを行うのが推論になります

推論が完成するとボーカルが自分の声になったバージョンの Tommorrow never knows が完成します

ここでも harvest は品質が良くなりますがかなり推論に時間がかかります
今回は crape を使っています (一番良さそうだったので

また途中 BGM を歌っている部分があったのでそこもカットしています

合成する

あとは分割した BGM 部分と自分の声になったボーカルファイルを合成するだけです
これは RVC ではなく普通の DTM ソフトを使います
自分は Audacity を使いました

最後に

高音部分を学習させてあげれば更によくなるかもです

これで僕が死んでからも音声モデルさえ残しておけば僕の声を聞くことができるようになりました
M2 Mac mini を購入してから AI 関連の高負荷処理も簡単にさばけるようになったので AI 関連の作業が楽ちんです

参考サイト