Google ColabでSeed-VCによる声色変換を試す
はじめに
最近流行りのSeed-VCを使ってみたいと思います。(論文)
(年末なので、さっくり使ってみて、その忘備録を残すくらいの記事にしておきます)
そもそも、音声変換(Voice Conversion, VC)とは、入力された音声の話者の特徴を変換し、別の話者の声に似せる技術です。
具体的には、ある人物が話す音声を、別の人物が話しているかのように聞こえるように変換します。
この技術により、男性が女性の声で配信したり、その逆が可能になり、プライバシー保護やコミュニケーション支援において非常に有用な技術です。
今回は、その技術の中でも、非常に高性能なモデルを試してみようと思います。
(今回の記事ではリアルタイム音声変換と歌声変換は扱いませんが、どちらもSeed-VCで達成可能です。試しているのでそのうち記事にします)
非常に驚くべき精度で声色変換が達成されるので、注意事項は必ず守っていただくようにお願いいたします。
成果物
今回記事内で利用するすべてのコードを記載したipynbを公開します。
下記リポジトリをご覧ください。
上記リポジトリをクローンしてください。
このリポジトリは、さまざまな生成AIモデルをGoogle Colabで利用するためのサンプルコードが格納されています。使い方は、私の過去の記事をご覧ください。
この記事では、本リポジトリの中のcolab_SeedVC_sample
フォルダのみを利用します。
使い方
クローンしたリポジトリをGoogle Driveにアップロードする
クローンした後、フォルダをGoogle DriveのMyDrive直下においてください。
下記のようなフォルダ構成を想定します。
MyDrive/
└ colab_SeedVC_sample/
├ inputs/
├ outputs/
└ colab_SeedVC_sample.ipynb
ターゲット音声とソース音声を用意する
下記の二つの音声を用意しましょう。
それぞれの特徴は下記です。
- ターゲット音声
- どんな声色の音声を生成したいかを制御する音声
- ソース音声
- どんなセリフの音声を生成したいかを制御する音声
今回の実験では、(毎度毎度使わせていただいておりますが)「あみたろの声素材工房」様の音声を利用させていただきます。
ターゲット音声としては、下記のページの「よふかしスタイル」のemo11の音声を使わせていただきます。
つまり、今回は「あみたろ」さんの音声に変換することを目的にします。
target.wav
に名前を変更してください
ソース音声には、なんでも良いですが、今回は下記のサイトの「G-23」の男性の音声を利用させていただきました。(視聴の部分からダウンロードが可能です)
source.mp3
に名前を変更してください。(拡張子がソース音声と異なります)
二つの音声をGoogle Driveの「inputs」フォルダに格納する
ソース音声とターゲット音声をGoogle Driveのinputs
フォルダにアップロードしてください。
下記のようなフォルダ構成を想定します。
MyDrive/
└ colab_SeedVC_sample/
├ inputs/
| ├ source.wav
| └ target.mp3
├ outputs/
└ colab_SeedVC_sample.ipynb
ipynbを修正する
colab_SeedVC_sample.ipynbをGoogle colabで開いてください。
4セル目にソース音声とターゲット音声のパスを指定する部分があります。
今回は、記事に合わせてコードのパスは設定しているので問題ないですが、別の音声を利用したい場合はなどは、こちらのコードのパスを変更してください。
#targetの声色に変換される
target_audio = f"{drive_path}/inputs/target.wav"
#sourceのセリフを話す。
source_audio = f"{drive_path}/inputs/source.mp3"
ipynbを実行する
colab_SeedVC_sample.ipynbを実行します。
ランタイムのタイプをT4 GPU
に設定したのち、一番上のセルから実行してください。
1セル目実行時に、認証が入ると思います。その認証は承認が必要なため承認してください
2セル目実行時に、警告(Warning)が表示されると思います。
そちらは、無視して「キャンセル」をクリックしてもらって問題ないです。
全てのセルを実行後、Google Driveのoutputs
フォルダに音声変換後の音声が生成されているはずです。
実験結果
実際に実験した結果を下記に示します。
まずは、男性のナレーションのセリフをそのままに、声色だけを「あみたろ」様の音声に変換した音声が下記です。
続いて、ソースとターゲットを反対にして、「あみたろ」様のコーパス音声のセリフはそのままに、男性ナレーションの声色に変換した音声が下記です。
どちらの変換も非常に高品質で達成できていると思います
まとめ
元々AI coverをやりたくて、音声合成の勉強を始めようと思い立ったのですが、別のこと(仕事や家庭)が忙しくなかなかできていませんでした。
今回Seed-VCが新しく出たということで、真っ先に歌声変換を試しました。
その記事は別途書きたいと思います。(今年最後の記事になる予定です)
本記事はその前段階の記事ということで、いつもより短いですが、お許しください。
最後に
ここまで読んでくださってありがとうございました!
Discussion