mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-03-14 20:03:59 +03:00
121 lines
5.1 KiB
Markdown
121 lines
5.1 KiB
Markdown
Voice Changer Trainer and Player Container
|
||
----
|
||
AIを使ったリアルタイムボイスチェンジャー[MMVC](https://github.com/isletennos/MMVC_Trainer)のトレーニングと実行を簡単にするためのヘルパーDockerコンテナです。
|
||
このコンテナを用いることで、以下のことを簡単に行うことができます。
|
||
|
||
- MMVCのモデルのトレーニング
|
||
- MMVCモデルを用いたリアルタイム声質変換(ボイスチェンジャ)
|
||
- リアルタイム話者切り替え
|
||
- CPU/GPU切り替え
|
||
- リアルタイム/ニアリアルタイム声質変換
|
||
|
||
使用方法等はwikiをご参照ください。
|
||
|
||
|
||
# 前提
|
||
本ヘルパーコンテナはDockerで動かすことを想定しています。
|
||
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](https://github.com/isletennos/MMVC_Trainer)のドキュメントに従って、ITAコーパスなどの台本データ(textデータ)を入手し、でwavデータを作成してください。textデータとwavデータは、dataset/00_myvoiceフォルダの下においてください。
|
||
|
||
wavデータの作成は、こちらの[voice-recorder](https://github.com/w-okada/voice-recorder)アプリケーションを使用しても作成できます。
|
||
wavのサンプリングレートやファイル名など、MMVCに適したデータを作成するように作られているので、いくらか手間が省けるかと思います。
|
||
|
||
### Data作成(なりたい声)
|
||
[MMVC](https://github.com/isletennos/MMVC_Trainer)のドキュメントに従って、公式サポートされている声データ(.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
|
||
```
|
||
|