単純化された中国人|英語
[TOC]
.
|--- config/ # 配置文件
|--- default.yaml
|--- ...
|--- datasets/ # 数据处理
|--- encoder/ # 声纹编码器
|--- voice_encoder.py
|--- ...
|--- helpers/ # 一些辅助类
|--- trainer.py
|--- synthesizer.py
|--- ...
|--- logdir/ # 训练过程保存目录
|--- losses/ # 一些损失函数
|--- models/ # 合成模型
|--- layers.py
|--- duration.py
|--- parallel.py
|--- pretrained/ # 预训练模型(LJSpeech 数据集)
|--- samples/ # 合成样例
|--- utils/ # 一些通用方法
|--- vocoder/ # 声码器
|--- melgan.py
|--- ...
|--- wandb/ # Wandb 保存目录
|--- extract-duration.py
|--- extract-embedding.py
|--- LICENSE
|--- prepare-dataset.py # 准备脚本
|--- README.md
|--- README_en.md
|--- requirements.txt # 依赖文件
|--- synthesize.py # 合成脚本
|--- train-duration.py # 训练脚本
|--- train-parallel.py
ここでは、いくつかの合成例をご覧ください。
いくつかの事前に訓練されたモデルをここに示します。
ステップ(1) :リポジトリのクローニング
$ git clone https://github.com/atomicoo/ParallelTTS.gitステップ(2) :依存関係をインストールします
$ conda create -n ParallelTTS python=3.7.9
$ conda activate ParallelTTS
$ pip install -r requirements.txtステップ(3) :合成発音
$ python synthesize.py
--checkpoint ./pretrained/ljspeech-parallel-epoch0100.pth
--melgan_checkpoint ./pretrained/ljspeech-melgan-epoch3200.pth
--input_texts ./samples/english/synthesize.txt
--outputs_dir ./outputs/他の言語で声を合成したい場合は、対応する構成ファイルを介して--configを指定する必要があります。
ステップ(1) :データを準備します
$ python prepare-dataset.py構成ファイルは--configを介して指定でき、default default.yamlはljspeechデータセット用です。
ステップ(2) :アライメントモデルのトレーニング
$ python train-duration.pyステップ(3) :抽出期間
$ python extract-duration.py --ground_truth使用して、アライメントモデルを使用してグラウンドトゥルーススペクトルが生成されるかどうかを指定できます。
ステップ(4) :合成モデルのトレーニング
$ python train-parallel.py --ground_truthを使用して、モデルトレーニングにグラウンドトゥルーススペクトルを使用するかどうかを指定できます。
tensorboardxを使用する場合は、次のコマンドを実行します。
$ tensorboard --logdir logdir/[DIR]/
WANDB(Weights&Biases)を強くお勧めします。上記のトレーニングコマンドに--enable_wandbオプションを追加するだけです。
TODO:補足する
トレーニング速度:LJSpeechデータセットの場合、バッチサイズを64に設定すると、1つの8GB GTX 1080グラフィックスカードでトレーニングできます。 〜8時間(〜300エポック)をトレーニングした後、高品質の声を合成できます。
合成速度:次のテストは、CPU @ Intel Core i7-8550U / GPU @ nvidia Geforce MX150で実行されます。合成されたオーディオの各セグメントは約8秒(約20ワード)です。
| バッチサイズ | 仕様 (GPU) | オーディオ (GPU) | 仕様 (CPU) | オーディオ (CPU) |
|---|---|---|---|---|
| 1 | 0.042 | 0.218 | 0.100 | 2.004 |
| 2 | 0.046 | 0.453 | 0.209 | 3.922 |
| 4 | 0.053 | 0.863 | 0.407 | 7.897 |
| 8 | 0.062 | 2.386 | 0.878 | 14.599 |
平均を取得するために複数のテストが実施されておらず、結果は参照のみであることに注意してください。
vocoderコードがParallelwaveganから取得されます。互換性のない音響特徴抽出方法のため、変換する必要があります。特定の変換コードについては、こちらをご覧ください。