Описание
WaveGlow — это генеративная сеть на основе потоков для синтеза речи, разработанная исследователями NVIDIA Райаном Пренгером, Рафаэлем Валле и Брайаном Катандзаро. Она сочетает идеи из Glow и WaveNet для генерации высококачественного аудио речи из мел-спектрограмм, без автогрессивного декодирования, на котором полагались более ранние вокодеры.
Читать далее
Сеть реализована как одна модель, обученная с использованием единственной функции стоимости: максимизация правдоподобия обучающих данных. Согласно сопроводительной статье, это делает обучение проще и стабильнее, чем многоступенчатые подходы, а реализация на PyTorch, как сообщается, генерирует аудио со скоростью 1200 кГц на GPU NVIDIA V100, с оценками среднего мнения, сопоставимыми с лучшей доступной на тот момент реализацией WaveNet.
Репозиторий предоставляет все необходимое для воспроизведения или дальнейшей работы с этой разработкой. Предобученная контрольная точка WaveGlow и соответствующие файлы мел-спектрограмм доступны для немедленного запуска вывода, используя скрипт inference.py для синтеза аудио из списка файлов мел-спектрограмм. Для обучения новой модели репозиторий включает скрипты, построенные вокруг формата набора данных LJ Speech: списки файлов разделены на обучающие и тестовые наборы, мел-спектрограммы генерируются с помощью mel2samp.py, а обучение проходит через train.py, с distributed.py для многопроцессорных установок. Обучение с смешанной точностью (fp16) может быть включено через файл конфигурации модели. Отдельный скрипт конвертации, convert_model.py, обновляет старые контрольные точки, сохраненные до текущей архитектуры, чтобы они работали с ней, поскольку текущая версия объединяет остаточные и пропускаемые соединения в сети.
Настройка начинается с клонирования репозитория и инициализации его git-подмодуля, установки требований Python и библиотеки Apex от NVIDIA, от которой зависят код обучения и вывода. Поскольку проект является исследовательским релизом, а не упакованным приложением, его использование подразумевает работу непосредственно с этими командными скриптами, а не с графическим интерфейсом.
WaveGlow нацелен на исследователей и инженеров в области синтеза речи, которые хотят иметь эталонную реализацию вокодера для запуска вывода, повторного обучения на новых данных голоса или сравнения с другими генеративными подходами, такими как WaveNet. Аудио-примеры, сгенерированные моделью, доступны на связанном с проектом веб-сайте, а сопроводительная статья документирует оценку среднего мнения, использованную для оценки качества аудио.
- КатегорияСинтез речи из текста
- Модель ценообразованияОткрытый код
- РазвёртываниеОблако, На своём сервере
- ПлатформыNVIDIA Blackwell, DRIVE, Jetson, RTX
Основные функции WaveGlow
Генерирует аудио речи напрямую из мел-спектрограмм без автогрессивного декодирования
Обучена с использованием единственной функции стоимости максимального правдоподобия
Поставляется с предобученной контрольной точкой WaveGlow и соответствующими данными мел-спектрограмм для вывода
Включает скрипты для обучения новой модели на формате набора данных LJ Speech
Поддерживает распределенное обучение на нескольких GPU через NCCL
Поддерживает обучение и вывод с смешанной точностью (fp16)
Включает скрипт конвертации для обновления старых контрольных точек до текущей архитектуры
Сообщает о генерации аудио со скоростью 1200 кГц на GPU NVIDIA V100 согласно сопроводительной статье
Начало работы с WaveGlow
Клонируйте репозиторий: Клонируйте NVIDIA/waveglow и инициализируйте его подмодуль.
Установите зависимости: Установите требования Python и библиотеку Apex.
Получите данные: Скачайте предобученную модель WaveGlow и образцы мел-спектрограмм или набор данных LJ Speech для обучения своей модели.
Запустите вывод: Генерируйте аудио из мел-спектрограмм с помощью inference.py.
Обучите (по желанию): Запустите train.py или distributed.py для многопроцессорного обучения на своем наборе данных.
Оцените вывод: Сравните качество сгенерированного аудио и настройте параметры, такие как fp16 или параметр sigma.
Варианты использования WaveGlow
- Вокодирование текста в речь
- Исследование вокодеров
- Обучение кастомного голоса





