Реализация Pytorch Meta-Seechech: Multi-Speaker Adaptive Text-To Speek Generation.


naive ветвь) main ветвь)Вы можете установить зависимости Python с
pip3 install -r requirements.txt
Вы должны скачать предварительно проведенные модели и поместить их в output/ckpt/LibriTTS_meta_learner/ .
Для английских многопрофильных tts, беги
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --ref_audio path/to/reference_audio.wav --restore_step 200000 --mode single -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Сгенерированные высказывания будут помещены в output/result/ . Ваша синтезированная речь будет иметь стиль ref_audio .
Пакетный вывод также поддерживается, попробуйте
python3 synthesize.py --source preprocessed_data/LibriTTS/val.txt --restore_step 200000 --mode batch -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Чтобы синтезировать все высказывания в preprocessed_data/LibriTTS/val.txt . Это можно рассматривать как реконструкция наборов данных проверки, ссылающихся на себя для стиля эталона.
Скорость шага/объема/разговора синтезированных высказываний можно контролировать, указав желаемый коэффициент высоты/энергии/продолжительности. Например, можно увеличить скорость разговора на 20 % и уменьшить объем на 20 % на
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --restore_step 200000 --mode single -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml --duration_control 0.8 --energy_control 0.8
Обратите внимание, что управляемость происходит от Fastspeech2 и не является жизненно важным интересом Stylespeech. Пожалуйста, обратитесь к Styler [Demo, Code] для управляемости каждого фактора стиля.
Поддерживаемые наборы данных
Бегать
python3 prepare_align.py config/LibriTTS/preprocess.yaml
для некоторых приготовлений.
Для принудительного выравнивания Монреаль принудительный выравниватель (MFA) используется для получения выравнивания между высказываниями и последовательностями фонем. Предварительные выравнивания для наборов данных представлены здесь. Вы должны разаржать файлы в preprocessed_data/LibriTTS/TextGrid/ . С другой стороны, вы можете запустить выравниватель самостоятельно.
После этого запустите сценарий предварительной обработки
python3 preprocess.py config/LibriTTS/preprocess.yaml
Тренировать свою модель с
python3 train.py -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml -t config/LibriTTS/train.yaml
Как описано в статье, сценарий начнется с предварительной тренировки наивной модели до шагов meta_learning_warmup , а затем мета-тренировку модели для дополнительных шагов посредством эпизодического обучения.
Использовать
tensorboard --logdir output/log/LibriTTS
Подавать в Tensorboard на вашем местном хосте. Кривые потерь, синтезированные мель-спектрограммы и аудио показаны.



22050Hz вместо 16kHz .80 до 128 .28.197M .16 партийных размеров на тренировке вместо 48 или 20 в основном из-за отсутствия емкости памяти с одним 24GIB Titan-RTX . Это может быть достигнуто с помощью следующего скрипта для фильтрации данных дольше, чем max_seq_len : python3 filelist_filtering.py -p config/LibriTTS/preprocess.yaml -m config/LibriTTS/model.yaml
train_filtered.txt в том же месте train.txt . @misc{lee2021stylespeech,
author = {Lee, Keon},
title = {StyleSpeech},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/keonlee9420/StyleSpeech}}
}