MMVC_Trainer

概要

AIを使ったリアルタイムボイスチェンジャー「MMVC(RealTime-Many to Many Voice Conversion)」 で使用するモデルを学習するためのソフトです。
Google Colaboratory (Google Colab) を用いることで、個人の環境に依存せず、かつ簡単に機械学習の学習フェーズを実行可能です。

概念

「簡単」「だれでも」「好きな声に」「リアルタイムで」

デモ

v1.3.0.0は制作中だそうだ。 v1.2.0.0

ライセンス

LICENSE

要件

・Google アカウント

セットアップ

2つのパターンがあります。

アプリを頼る(Androidのみ)!!

アプリを頼れば、簡単にセットアップできます!!

  1. Static Badge
  2. アプリの指示に従って自分のGoogle Drive上にインストールしてください。

    アプリなんかに頼らねえ!!

    Ph1. 自分の音声の録音と音声データの配置 及びターゲット音声データの配置

  3. このリポジトリをクローンします。
    • image(アプリではこちらを利用しています)→この場合、Googleドライブがディレクトリです。
    • gitを使ってクローンします。→この場合、クローンされた場所がディレクトリです。
  4. 自分の声の音声データを録音します。方法:
    • notebookディレクトリにある「00_Rec_Voice.ipynb」から自分の音声を録音します。(アプリではこちらを利用しています)
    • 自分のPCで録音してGoogle Drive上に配置します。特別感謝のコーパスMMVC用にテキストを分割したITAコーパスを台本にし、100文程度読み上げます。また、録音した音声は24000Hz 16bit 1chである必要があります。
  5. 録音した自分の声の音声データとその音声データに対応するテキスト、変換したい声の音声データとその音声データに対応するテキストを用意します。この時、用意する音声(自分の声の音声データ/変換したい声の音声データ共に)は24000Hz 16bit 1chを強く推奨しております。
  6. 下記のようなディレクトリ構成になるように音声データとテキストデータを配置します。
    • textfulの直下には2ディレクトリになります。
    • 「00_Clone_Repo.ipynb」を利用した場合はこのように配置されていますのでそのままで大丈夫です。 (1205_zundamonディレクトリはずんだもんの音声データなのでずんだもん以外の声の場合無くても問題ありません)
      dataset
      ├── textful
      │   ├── 00_myvoice
      │   │   ├── text
      │   │   │   ├── emoNormal_001.txt
      │   │   │   ├── emoNormal_002.txt
      │   │   │   ├── ...
      │   │   └── wav
      │   │        ├── emoNormal_001.wav
      │   │        ├── emoNormal_002.wav
      │   │        ├── ...
      │   │── 01_target
      │   │   ├── text
      │   │   └── wav
      │   │
      │   └── 1205_zundamon
      │       ├── text
      │       │   ├── emoNormal_001.txt
      │       │   ├── emoNormal_002.txt
      │       │   ├── ...
      │       └── wav
      │            ├── emoNormal_001.wav
      │            ├── emoNormal_002.wav
      │            ├── ... 
      │        
      └── textless
      

      Ph2. モデルの学習方法

  7. 事前学習済みデータを配置します。
    • 「00_Clone_Repo.ipynb」を利用しなかった場合や「fine_model」ディレクトリに下記ファイルが存在しなかった場合、以下の手順でファイルを配置してください。
      1. 「G_v13_20231020.pth」「D_v13_20231020.pth」をダウンロード
      2. 「G_v13_20231020.pth」「D_v13_20231020.pth」を「fine_model」ディレクトリに配置します。(良く忘れるポイントなので要注意!)
  8. notebookディレクトリにある「01_Create_Configfile.ipynb」をGoogle Colab 上で実行、学習に必要なconfigファイルを作成します。
  9. configsに作成されたtrain_config.jsonの
    • “eval_interval”
      modelを保存する間隔です。
    • “batch_size”
      colabで割り当てたGPUに合わせて調整してください。 上記2項目を環境に応じて最適化してください。わからない方はそのままで大丈夫です。
  10. notebookディレクトリにある「02_Train_MMVC.ipynb」をgoogle colab 上で実行してください。 logs/にモデルが生成されます。

    Ph3. 学習したモデルの性能検証

    notebookディレクトリにある「03_MMVC_Interface.ipynb」をgoogle colab 上で実行してください。

MMVC_Client

プロジェクトによるMMVC Client

MMVCを実際に動かすClient software

有志によるMMVC Client

Voice Changer Trainer and Player

様々な環境でMMVCを動かすように作成されたClient software。

# os middle トレーニングアプリ ボイスチェンジャー
1 Windows Anaconda
2 Windows(WSL2) Docker wsl2+ubuntuで確認 wsl2+ubuntuで確認
3 Windows(WSL2) Anaconda ubuntuで確認
4 Mac(Intel) Anaconda 動作するが激重。(2019, corei5)
5 Mac(M1) Anaconda M1 MBA, M1 MBPで確認
6 Linux Docker debianで確認 debianで確認
7 Linux Anaconda
8 Colab Notebook 確認済み 確認済み

ある程度最近のものであればCPUでの稼働も可能です(i7-9700Kで実績あり。下記デモ参照)。

有志によるチュートリアル動画

v1.2.1.x

| 前準備編 | ニコニコ動画 | YouTube | | :————– | :——————————————————– | :——————————————————————— | | 要修正音声 | ニコニコ動画 | YouTube | | 前準備編2 | ニコニコ動画 | YouTube | | 学習編_前1 | ニコニコ動画 | YouTube | | 学習編_前2 | ニコニコ動画 | YouTube | | 学習編_後 | ニコニコ動画 | YouTube | | リアルタイム編 | ニコニコ動画 | YouTube | | 質問編 | ニコニコ動画 | YouTube | | 応用編_九州そら | ニコニコ動画 | YouTube | | 応用編_音街ウナ | ニコニコ動画 | YouTube |

Q&A

FAQをご参考ください。

MMVCコミュニティサーバ(discord)

本家の開発の最新情報や、不明点のお問合せ、MMVCの活用法などMMVCに関するコミュニティサーバです。

MMVC開発者問い合わせ(PIXIV FANBOX)

MMVCに関する疑問・質問等の本家の開発者への問い合わせはPIXIV FANBOXで受け付けています。

Special thanks(コーパス類)

本家が参考したもの

Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech
vits

本家のREADMEの著者

Static Badge
PIXIV FANBOX


このファイルは、本家のREADMEを一部編集したものです。

Static Badge