Поезда Hifi-Gan на TPU и другие исправления.
Hifi-Gan-популярный Gan Vocoder, который достигает очень хорошего качества звука и генерации речи в реальном времени на процессоре. Официальная реализация Hifi-Gan выполняется по адресу https://github.com/jik876/hif-gan
Этот репо пробовал разные вещи, чтобы улучшить официальную реализацию:
Он использует библиотеку JAX, чтобы вы могли обучить свой Gan Vocoder на TPU. Он может работать на Google Colab TPUV2 с аналогичной скоростью с графическим процессором V100. Он может запускаться x3 быстрее (чем V100) на TPUV3 (протестирован на Kaggle TPU).
Несмотря на то, что в документе Hifi-Gan утверждается, что его генератор является полностью сверточной нейронной сетью (FCN), его официальная реализация использует прокладку на убедительных уровнях, чтобы сохранить измерение таким же. Так что это не FCN. Этот репо предоставляет генератор FCN, который приводит к улучшению потери мель-спектрограммы.
В этом репо уровень обучения снижается в 0,999 на каждые 1000 шагов. Это отличается от исходной реализации, которая снижает скорость обучения для каждой эпохи. Для небольшого набора данных это может привести к снижению уровня обучения слишком быстро.
Оригинальная реализация вычисляет условные рамки мель-спектрограммы на лету для каждого целевого сегмента аудио. Это создает предвзятые рамки по краям из -за заполнения. В этом репо мы также вычислим условные рамы на лету, однако мы удаляем смещенные рамы по краям.
pip3 install -r requirements.txt
python3 ljs.py
python3 prepare_data.py --wav-dir=/path/to/wav/dir
python3 train.py --data-dir=/path/to/wav/dir