リアルタイムボイスチェンジャー Realtime Voice Changer
Go to file
2022-08-23 06:37:18 +09:00
dataset init 2022-08-22 16:08:49 +09:00
exp init 2022-08-22 16:08:49 +09:00
script beta01 2022-08-23 06:37:18 +09:00
trainer beta01 2022-08-23 06:37:18 +09:00
vc_resources beta01 2022-08-23 06:37:18 +09:00
.gitignore init 2022-08-22 16:08:49 +09:00
package.json beta01 2022-08-23 06:37:18 +09:00
README.md WIP: merge with frontend 2022-08-23 03:57:54 +09:00
start.sh beta01 2022-08-23 06:37:18 +09:00
template.sh WIP: merge with frontend 2022-08-23 03:57:54 +09:00

Voice Changer AI Trainer and Player Container

MMVCのトレーニングと実行を簡単にするためのDockerコンテナです。

使用方法

前提

Docker

Dockerを使えるようにしておいてください。 WindowsはWSL2上で使えるようにしておいてください。

トレーニング時にはGPUを見えるようにしておいてください。

$ docker run --gpus all --rm nvidia/cuda nvidia-smi

を実行して

Sun Sep 15 22:40:52 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:01:00.0  On |                  N/A |
| 38%   32C    P8     6W / 120W |      2MiB /  3016MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

こんな感じの出力が出ればOKです。

ボイスチェンジ時にはGPUは必須ではありません。あればより高速にボイスチェンジできるかもしれません。

トレーニングデータの準備

Data作成自分の声

MMVCのドキュメントに従って、ITAコーパスなどの台本データ(textデータ)を入手し、でwavデータを作成してください。textデータとwavデータは、dataset/00_myvoiceフォルダの下においてください。

wavデータの作成は、こちらのvoice-recorderアプリケーションを使用しても作成できます。 wavのサンプリングレートやファイル名など、MMVCに適したデータを作成するように作られているので、いくらか手間が省けるかと思います。

Data作成なりたい声

MMVCのドキュメントに従って、公式サポートされている声データ(.zip形式)を取得してください。データはzip形式のまま、datasetフォルダにおいてください。

Datasetの中身

上記Data作成を実施すると、次のようなフォルダ構成になると思います。ご確認ください。

$ ls dataset -l
合計 1656692
drwxr-xr-x 4 wataru wataru      4096  8月 22 14:31 00_myvoice
-rwx------ 1 wataru wataru  57620200  8月 22 14:18 1225_zundamon.zip
-rwx------ 1 wataru wataru  72992810  8月 22 14:18 344_tsumugi.zip
-rwx------ 1 wataru wataru  55275760  8月 22 14:18 459_methane.zip
-rwx------ 1 wataru wataru  72295236  8月 22 14:18 912_sora.zip

$ ls dataset/00_myvoice/ -l
合計 40
drwxr-xr-x 2 wataru wataru 20480  8月 22 14:32 text
drwxr-xr-x 2 wataru wataru 20480  8月 22 14:31 wav

起動と実行

# 変数設定
$ EXP_NAME=001_exp

# テスト用フォルダ作成
$ sh template.sh $EXP_NAME


docker run -v .:/go/src/app:ro [container id]
USER_ID=$(id -u)
GROUP_ID=$(id -g)
$ USER_ID=$(id -u) docker run -it --gpus all --shm-size=2g \
  -v `pwd`/exp/${EXP_NAME}/dataset:/MMVC_Trainer/dataset \
  -v `pwd`/exp/${EXP_NAME}/logs:/MMVC_Trainer/logs \
  -v `pwd`/exp/${EXP_NAME}/filelists:/MMVC_Trainer/filelists \
  -e LOCAL_UID=$(id -u $USER) \
  -e LOCAL_GID=$(id -g $USER) \
  -p 6008:6006  mmvc_trainer_docker

ビルド

前提

このリポジトリではnodeを使っていませんが、ビルドスクリプト呼び出しにnpmを使用しています。 npmをインストールしておいてください。

https://nodejs.org/ja/download/

Docker

Dockerを使えるようにしておいてください。 WindowsはWSL2上で使えるようにしておいてください。

ビルド実行

$ npm run build:docker