
Jukebox — это нейросеть от OpenAI, которая генерирует песни. Модель принимает на вход жанр, артиста и текст песни. На выходе нейросеть отдает аудиозапись с сгенерированной песней. Тысячи примеров сгенерированных песен доступны по ссылке. В поиске удобно находить песни, выбирая похожих исполнителей или жанры. Открытый код Jukebox опубликован на Github.
Что внутри Jukebox
Автоэнкодер в Jukebox сжимает аудиозапись в дискретное пространство с помощью VQ-VAE модели, основаной на квантизации. Иерархическая VQ-VAE может генерировать короткие инструментальные куски аудио из небольшого набора инструментов. Jukebox в основе имеет архитектуру, которая схожа с VQ-VAE-2.
Исследователи используют три уровня в VQ-VAE, которые сжимают аудиозапись в 8, 32 и 128 раз соответственно. Такой даунсэмплинг теряет большую часть деталей аудио, но сохраняет базовую информацию о тоне, тембре и громкости аудио.
Подход состоит из двух этапов:
- Каждый уровень VQ-VAE независимо кодирует входную аудиозапись;
- Набор трансформеров генерирует код с верхнего по нижний уровни, чтобы создать аудиодорожку. Затем нижний декодер конвертирует их в итоговую аудиозапись.
На основе каких данных нейросеть генерирует песни
Нейросеть обучали на собранном в из открытых данных датасете из 1.2 миллионов песен. Половина из них на английском языке. Для каждой аудиозаписи доступны метаданные и текст песни из LyricWiki. Метаданные включают в себя артиста, жанр, год публикации песни и ключевые слова настроения песни.
Модель тренировалась на 32-битном звуке с частотой дискретизации 44,1 кГц, выполняя аугментацию данных, случайным образом смешивая правый и левый каналы для создания моно звукового канала.
Как её использовать
Как бы сделал эту песню Влад бумага?