Мелган
Неофициальная внедрение Pytorch Melgan Vocoder
Ключевые функции
- Мелган легче, быстрее и лучше обобщена до невидимых динамиков, чем волновой встречный.
- В этом хранилище используется идентичная функция мель-спектрограммы из nvidia/tacotron2, так что это может быть непосредственно использовать для преобразования вывода из Tacotron2 Nvidia в Raw-Audio.
- Предварительная модель на LJSPEECH-1.1 через Pytorch Hub.

Предварительные условия
Протестировано на Python 3.6
pip install -r requirements.txt
Подготовьте набор данных
- Загрузите набор данных для обучения. Это могут быть любые файлы WAV с показателем дискретизации 22050 Гц. (например, LJSPEECH использовали в бумаге)
- Preprocess:
python preprocess.py -c config/default.yaml -d [data's root path] - Редактировать конфигурацию
yaml файл
Train & Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml , а затем редактировать config.yaml - Запишите корневой путь файлов поезда/валидации на 2 -й/3 -й строке.
- Каждый путь должен содержать пары
*.wav с соответствующим (предварительно обработанным) *.mel файл. - Погрузчик данных анализируется список файлов в пути пути.
-
tensorboard --logdir logs/
Предварительная модель
Попробуйте Google Colab: Todo
import torch
vocoder = torch . hub . load ( 'seungwonpark/melgan' , 'melgan' )
vocoder . eval ()
mel = torch . randn ( 1 , 80 , 234 ) # use your own mel-spectrogram here
if torch . cuda . is_available ():
vocoder = vocoder . cuda ()
mel = mel . cuda ()
with torch . no_grad ():
audio = vocoder . inference ( mel )Вывод
-
python inference.py -p [checkpoint path] -i [input mel path]
Результаты
См. Образцы аудио по адресу: http://swpark.me/melgan/. Модель обучалась на графическом процессоре V100 в течение 14 дней с использованием LJSPEECH-1.1.

Авторы реализации
Лицензия
BSD 3-rack License.
- utils/stft.py от Prem Seetharaman (лицензия BSD 3-Clause)
- Наборы данных/mel2samp.py от https://github.com/nvidia/waveglow (лицензия BSD 3-Clause)
- utils/hparams.py от https://github.com/harryvolek/pytorch_speaker_verification (лицензия не указана)
Полезные ресурсы
- Как тренировать Gan? Советы и рекомендации, чтобы заставить Ганса работать Сумит Чинтала
- Официальная реализация Мелгана оригинальными авторами
- Воспроизведение Melgan - Neurips 2019 Задача воспроизводимости (трек абляции) Yifei Zhao, Yichao Yang и Yang Gao
- «Замена среднего слоя пула на максимальный слой объединения и замену отражения наполнения на репликацию значительно повышает производительность, при этом объединение приносит худшие результаты»