AudioDiffGAN - модель для быстрой необусловленной генерации человеческой речи, совмещающая в себе использование диффузии и генеративно состязательной сети для выполнения шагов расшумления. Отличительные особенности модели - это высокая скорость генерации, в 200 раз превышающая скорость генерации необусловленного DiffWave, при этом выдавая лучшее качество в терминах Mean Opinion Score, и сравнимое с DiffWave высокое разнообразие в генерируемых сэмплах. Ключевой идеей, позволяющей ускорить генерацию по сравнению с другими диффузионными моделями, является использование больших шагов в обратном диффузионном процессе с помощью генеративно состязательной сети, способной предсказывать мультимодальное распределение расшумления, а не нормальное распределение, как в обычных диффузионных моделях. Модель генерирует мел-спектрограмму, после чего она подается на вход быстрому вокодеру HiFiGAN, который выдает итоговый аудиофайл. В наших экспериментах мы обучали модель на датасете Speech Commands 09.
Для модели с 2 шагами диффузии:
Для модели с 4 шагами диффузии:
Для генерации DiffWave использовалась имплементация отсюда
Для подсчета метрик использовался репозиторий
После 360 эпох обучения: После 500 эпох обучения:
После 400 эпох обучения: После 500 эпох обучения:
(Корректно проигрывается через Google Chrome)
После 360 эпох обучения:
sample_0.mp4
sample_1.mp4
Пример плохой генерации:
sample_2.mp4
sample_3.mp4
После 500 эпох обучения:
sample_0.mp4
sample_1.mp4
sample_2.mp4
sample_3.mp4
После 400 эпох обучения:
sample_0.mp4
sample_1.mp4
sample_2.mp4
sample_3.mp4
После 500 эпох обучения:
sample_0.mp4
sample_1.mp4
sample_2.mp4
sample_3.mp4
Для запуска процесса обучения через bash запустить файл audiodiffgan_train.sh
Для запуска процесса генерации через bash запустить файл audiodiffgan_test.sh