w-okada / MMVC_Trainer

AIを使ったリアルタイムボイスチェンジャー(Trainer)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MMVC_Trainer

AIを使ったリアルタイムボイスチェンジャーのモデル学習用ツール

Description

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

MMVC_Client

MMVCを実際に動かすClient software
https://github.com/isletennos/MMVC_Client

有志によるMMVC Client

(1) 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で実績あり。下記デモ参照)。

concept

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

Demo

制作中 (v1.3.0.0)
https://www.nicovideo.jp/watch/sm40386035 (v1.2.0.0)

MMVCの利用規約 及び MMVC用音源の配布先(2022/08/10)

本ソフトウェアの利用規約は基本的にMITライセンスに準拠します。

  1. このソフトウェアは、コピー利用、配布、変更の追加、変更を加えたもの再配布、商用利用、有料販売など
    どなたでも自由にお使いいただくことができます。
  2. ライセンスの記載が可能なプラットフォームでの利用の場合、下記クレジットどちらかををご利用ください。
    VRCでの利用などライセンス記載が不可の場合、記載は不要です。
    (可能であればパターン2を使ってくれると製作者はうれしいです)
  3. このソフトウェアについて、製作者はいかなる保証も致しません。
    また、このソフトウェアを利用したことで問題が起きた際に、ソフトウェアの製作者は一切の責任を負いません。
  4. このソフトウェアで利用する音声データは、必ず元の音声データの所持者の許諾を得たものを利用すること。
    または音声データの配布元の利用規約内で利用すること。

MMVC公式配布の音声データの利用規約とダウンロード先について

MMVCの利用規約とは別に、下記音声データを利用する場合、それぞれの音声ライブラリ提供者様の利用規約に同意する必要があります。
※本ソフトウェアでは下記企業様・団体様に特別に許可を頂き、音声データを本ソフトウェア用に改変、再配布を行っております。

SSS LLC.

[利用規約][ずんだもん 音声データ] ※本ソフトウェアに同梱しているものと同様の音声データになります
[利用規約][九州そら 音声データ]
[利用規約][四国めたん 音声データ]

春日部つむぎプロジェクト様

[利用規約][春日部つむぎ 音声データ]

ライセンス表記について

ずんだもん/四国めたん/九州そら/春日部つむぎ
の3キャラクターを利用する場合に限り、下記ライセンスパターンに加えて、どのツールで作られた音声かわかるように

MMVC:ずんだもん  
MMVC:ずんだもん/四国めたん

等の記載を下記ライセンスパターンと一緒に記載ください。
こちらもVRCでの利用などライセンス記載が不可の場合、記載は不要です。

ライセンスパターン 1

Copyright (c) 2022 Isle.Tennos 
Released under the MIT license 
https://opensource.org/licenses/mit-license.php

ライセンスパターン 2

MMVCv1.x.x.x(使用バージョン) 
Copyright (c) 2022 Isle.Tennos 
Released under the MIT license 
https://opensource.org/licenses/mit-license.php
git:https://github.com/isletennos/MMVC_Trainer
community(discord):https://discord.gg/PgspuDSTEc

Requirement

・Google アカウント

Install

このリポジトリをダウンロードして、展開、展開したディレクトリをgoogle drive上にアップロードしてください。

Usage

チュートリアル : ずんだもんになる

本チュートリアルではずんだもん(SSS LLC.)の音声データを利用します。
そのため、MMVCの利用規約とは別に[ずんだもん 利用規約]を遵守する必要があります。

Ph1. 自分の音声の録音と音声データの配置

  1. 自分の声の音声データを録音します。
    JVSコーパスやITAコーパス等を台本にし、100文程度読み上げます。
    また、録音した音声は24000Hz 16bit 1chである必要があります。
    ※MMVC用にテキストを分割したITAコーパスです。ご利用ください。
    https://drive.google.com/file/d/14oXoQqLxRkP8NJK8qMYGee1_q2uEED1z/view?usp=sharing

  2. dataset/textful/000_myvoice に音声データとテキストデータを配置します。 最終的に下記のようなディレクトリ構成になります。

dataset
├── textful
│   ├── 000_myvoice
│   │   ├── text
│   │   │   ├── s_voice_001.txt
│   │   │   ├── s_voice_002.txt
│   │   │   ├── ...
│   │   └── wav
│   │        ├── s_voice_001.wav
│   │        ├── s_voice_002.wav
│   │        ├── ...
│   │── 001_target
│   │   ├── text
│   │   └── wav
│   │
│   └── 1205_zundamon
│       ├── text
│       │   ├── t_voice_001.txt
│       │   ├── t_voice_002.txt
│       │   ├── ...
│       └── wav
│            ├── t_voice_001.wav
│            ├── t_voice_002.wav
│            ├── ... 
│        
└── textless

Ph2. モデルの学習方法

  1. 下記リンクより、「G_180000.pth」「D_180000.pth」をダウンロード。 https://drive.google.com/drive/folders/1vXdL1zSrgsuyACMkiTUtVbHgpMSA1Y5I?usp=sharing

  2. 「G_180000.pth」「D_180000.pth」をfine_modelに配置します。(良く忘れるポイントなので要注意!)

  3. notebookディレクトリにある「Create_Configfile_zundamon.ipynb」をgoogle colab 上で実行、学習に必要なconfigファイルを作成します

  4. configsに作成されたtrain_config_zundamon.jsonの

    • "eval_interval"
      modelを保存する間隔です。
    • "batch_size"
      colabで割り当てたGPUに合わせて調整してください。

    上記2項目を環境に応じて最適化してください。わからない方はそのままで大丈夫です。

  5. notebookディレクトリにある「Train_MMVC.ipynb」をgoogle colab 上で実行してください。
    logs/にモデルが生成されます。

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

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

好きなキャラクターの声になる

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

  1. 自分の声の音声データとその音声データに対応するテキスト、変換したい声の音声データとその音声データに対応するテキストを用意します。
    この時、用意する音声(自分の声の音声データ/変換したい声の音声データ共に)は24000Hz 16bit 1chを強く推奨しております。
  2. 下記のようなディレクトリ構成になるように音声データとテキストデータを配置します。
    textfulの直下には2ディレクトリになります。
    (1205_zundamonディレクトリは無くても問題ありません)
dataset
├── textful
│   ├── 000_myvoice
│   │   ├── text
│   │   │   ├── s_voice_001.txt
│   │   │   ├── s_voice_002.txt
│   │   │   ├── ...
│   │   └── wav
│   │        ├── s_voice_001.wav
│   │        ├── s_voice_002.wav
│   │        ├── ...
│   │── 001_target
│   │   ├── text
│   │   │   ├── t_voice_001.txt
│   │   │   ├── t_voice_002.txt
│   │   │   ├── ...
│   │   └── wav
│   │        ├── t_voice_001.wav
│   │        ├── t_voice_002.wav
│   │        ├── ... 
│   └── 1205_zundamon
│       ├── text
│       │   ├── t_voice_001.txt
│       │   ├── t_voice_002.txt
│       │   ├── ...
│       └── wav
│            ├── t_voice_001.wav
│            ├── t_voice_002.wav
│            ├── ... 
│        
└── textless

Ph2. モデルの学習方法

以降、「チュートリアル : ずんだもんになる Ph2.」と同様のため割愛

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

以降、「チュートリアル : ずんだもんになる Ph3.」と同様のため割愛

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

v1.2.1.x

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

Q&A

下記サイトをご参考ください。
https://mmvc.readthedocs.io/ja/latest/index.html

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

開発の最新情報や、不明点のお問合せ、MMVCの活用法などMMVCに関するコミュニティサーバです。
https://discord.gg/PgspuDSTEc ※2022/12/02 22:29 一時的に招待リンクを停止しています。時間を空けて再度ご確認ください。

Special thanks

Reference

https://arxiv.org/abs/2106.06103
https://github.com/jaywalnut310/vits

Author

Isle Tennos
Twitter : https://twitter.com/IsleTennos

About

AIを使ったリアルタイムボイスチェンジャー(Trainer)


Languages

Language:Python 70.4%Language:Jupyter Notebook 29.1%Language:Cython 0.5%