Jukebox

Иллюстрация: Бен Барри (Ben Barry)
Мы представляем Jukebox — нейронную сеть, которая генерирует музыку, включая зачатки пения, в виде необработанного аудио (raw audio) в различных жанрах и стилях исполнителей. Мы открываем доступ к весам модели и коду, а также к инструменту для изучения сгенерированных фрагментов.
Избранные фрагменты
Получая на вход жанр, исполнителя и текст песни, Jukebox выдает новый музыкальный фрагмент, созданный с нуля. Ниже представлены некоторые из наших любимых примеров.
Мотивация и предыдущие исследования
Автоматическая генерация музыки насчитывает более полувека., , ,
Но у символических генераторов есть ограничения: они не могут передать человеческий голос или многие тонкие тембры, динамику и выразительность, которые так важны для музыки. Альтернативный подход
Один из способов решения проблемы длинных входных данных — использование автоэнкодера, который сжимает исходное аудио в пространство меньшей размерности, отбрасывая часть перцептивно нерелевантной информации. Затем мы можем обучить модель генерировать аудио в этом сжатом пространстве и выполнять апсэмплинг обратно в пространство исходного аудио.,
Мы решили заняться музыкой, потому что хотим и дальше раздвигать границы возможностей генеративных моделей. Наша предыдущая работа над MuseNet была посвящена синтезу музыки на основе больших объемов MIDI-данных. Теперь же, работая с необработанным аудио, наши модели должны научиться справляться с огромным разнообразием и структурами очень большой протяженности, при этом домен сырого аудио крайне не прощает ошибок в краткосрочном, среднесрочном или долгосрочном тайминге.
Подход
Сжатие музыки в дискретные коды
Автоэнкодер Jukebox сжимает аудио в дискретное пространство, используя подход на основе квантования под названием VQ-VAE.
Мы черпаем вдохновение из VQ-VAE-2 и применяем их подход к музыке. Мы модифицируем их архитектуру следующим образом:
- Чтобы уменьшить коллапс кодовой книги (codebook collapse), характерный для моделей VQ-VAE, мы используем случайные перезапуски: вектор кодовой книги случайным образом сбрасывается в одно из закодированных скрытых состояний всякий раз, когда частота его использования падает ниже порогового значения.
- Для максимизации использования верхних уровней мы применяем раздельные декодеры и независимо реконструируем входные данные из кодов каждого уровня.
- Чтобы модель могла легко восстанавливать высокие частоты, мы добавляем спектральную потерю (spectral loss),
В нашей модели VQ-VAE мы используем три уровня (показаны ниже), которые сжимают исходное аудио с частотой 44 кГц в 8, 32 и 128 раз соответственно, при этом размер кодовой книги для каждого уровня составляет 2048. Такое понижение дискретизации приводит к потере значительной части аудиодеталей, и звук на более глубоких уровнях становится заметно зашумленным. Тем не менее, это сохраняет важнейшую информацию о высоте тона, тембре и громкости звука.
Генерация кодов с использованием трансформеров
Затем мы обучаем априорные модели (priors), целью которых является изучение распределения музыкальных кодов, закодированных VQ-VAE, и генерация музыки в этом сжатом дискретном пространстве. Как и в случае с VQ-VAE, у нас есть три уровня априорных моделей: априорная модель верхнего уровня, которая генерирует наиболее сжатые коды, и два апсэмплирующих априора, которые генерируют менее сжатые коды на основе информации с вышестоящих уровней.
Априор верхнего уровня моделирует структуру музыки на больших расстояниях, и сэмплы, декодированные с этого уровня, имеют более низкое качество звука, но улавливают высокоуровневую семантику, такую как пение и мелодии. Промежуточный и нижний апсэмплирующие априоры добавляют локальные музыкальные структуры вроде тембра, значительно улучшая качество звука.
Мы обучаем их как авторегрессионные модели, используя упрощенный вариант разреженных трансформеров (Sparse Transformers).,
После того как все априорные модели обучены, мы можем генерировать коды на верхнем уровне, повышать их разрешение с помощью апсэмплеров и декодировать обратно в пространство необработанного аудио с помощью декодера VQ-VAE для получения новых песен.
Набор данных
Чтобы обучить эту модель, мы спарсили веб-страницы, чтобы собрать новый датасет из 1,2 миллиона песен (600 000 из которых — на английском языке), снабженный соответствующими текстами и метаданными из LyricWiki. Метаданные включают исполнителя, жанр альбома и год выпуска песни, а также общие настроения или ключевые слова плейлистов, связанные с каждым треком. Мы проводим обучение на 32-битном сыром аудио с частотой 44,1 кГц и выполняем аугментацию данных путем случайного сведения правого и левого каналов в монозвучание.
Обусловливание по исполнителю и жанру
Трансформер верхнего уровня обучается предсказанию сжатых аудиотокенов. Мы можем передавать дополнительную информацию, такую как исполнитель и жанр для каждой песни. Это дает два преимущества: во-первых, снижается энтропия предсказания аудио, поэтому модель способна достигать лучшего качества в любом конкретном стиле; во-вторых, в момент генерации мы можем направлять модель на создание треков в выбранном нами стиле.
Представленный ниже график t-SNE
Обусловливание по тексту песни
В дополнение к обусловливанию по исполнителю и жанру мы можем предоставить больше контекста во время обучения, обусловливая модель текстом песни. Серьезную сложность представляет отсутствие хорошо выровненного датасета: у нас есть тексты только на уровне песни без выравнивания по музыке, и поэтому для заданного фрагмента аудио мы точно не знаем, какая именно часть текста (если вообще какая-то) в нем звучит. У нас также могут быть версии песен, которые не совпадают с текстовыми версиями — например, если конкретная песня исполняется несколькими разными артистами слегка по-разному. Кроме того, вокалисты часто повторяют фразы или иным образом варьируют текст так, как не всегда зафиксировано в письменных словах.
Чтобы сопоставить фрагменты аудио с соответствующими текстами, мы начинаем с простого эвристического подхода, который линейно распределяет символы текста по длительности каждой песни, и во время обучения передаем окно символов фиксированного размера, центрированное вокруг текущего сегмента. Хотя эта простая стратегия линейного выравнивания сработала на удивление хорошо, мы обнаружили, что она дает сбой в определенных жанрах с быстрой читкой, таких как хип-хоп. Чтобы решить эту проблему, мы используем Spleeter
Для учета текста мы добавляем энкодер для создания представления текста, а также слои внимания, которые используют запросы (queries) из музыкального декодера для обращения к ключам и значениям из текстового энкодера. После обучения модель находит более точное выравнивание.
Выравнивание текста и музыки, изученное слоем внимания энкодера-декодера Внимание переключается с одного токена текста на следующий по мере развития музыки, с небольшими моментами неопределенности.
Ограничения
Хотя Jukebox представляет собой шаг вперед в отношении музыкального качества, когерентности, длины аудиофрагментов и возможности обучать модель на основе определенного исполнителя, жанра и текста песни, между этими результатами генерации и музыкой, созданной человеком, всё еще существует значительный разрыв.
Например, хотя сгенерированные песни демонстрируют локальную музыкальную когерентность, следуют традиционным последовательностям аккордов и могут даже содержать впечатляющие соло, мы не слышим привычных более крупных музыкальных структур, таких как повторяющиеся припевы. Наш процесс уменьшения и увеличения дискретизации (downsampling и upsampling) вносит заметный шум. Улучшение VQ-VAE, чтобы его коды захватывали больше музыкальной информации, помогло бы снизить этот эффект. Наши модели также медленно выполняют выборку из-за авторегрессионной природы этого процесса. Для полного рендеринга одной минуты звука с помощью наших моделей требуется примерно 9 часов, и поэтому они пока не могут использоваться в интерактивных приложениях. Использование методов,
Направления будущих исследований
Наша аудиокоманда продолжает работу над генерацией аудиофрагментов на основе различных видов исходной информации. В частности, мы уже добились первых успехов при использовании MIDI-файлов и стем-файлов в качестве исходных данных. Вот пример сырого аудиосэмпла, созданного на основе MIDI-токенов. Мы надеемся, что это повысит музыкальность сэмплов (подобно тому, как использование текстов песен улучшило качество вокала), а также предоставит музыкантам больше возможностей контроля над результатами генерации. Мы ожидаем, что сотрудничество между человеком и моделью станет увлекательным и динамично развивающимся творческим пространством. Если вы хотите работать над этими задачами вместе с нами, мы ищем сотрудников.
По мере дальнейшего развития генеративного моделирования в различных областях мы также проводим исследования таких вопросов, как предвзятость и права интеллектуальной собственности, а также взаимодействуем со специалистами из тех сфер, для которых мы создаем инструменты. Чтобы лучше понять будущие последствия для музыкального сообщества, мы познакомили с Jukebox первых 10 музыкантов, представляющих различные жанры, чтобы обсудить их отзывы об этой работе. Хотя Jukebox представляет собой интересный исследовательский результат, эти музыканты не нашли его применимым напрямую к своему творческому процессу из-за ряда его текущих ограничений. Мы поддерживаем связь с более широким творческим сообществом, поскольку считаем, продолжит совершенствоваться генеративное творчество в области текста, изображений и звука. Если вы хотите стать нашим творческим партнером и помочь нам в создании полезных инструментов или новых произведений искусства в этих областях, пожалуйста, сообщите нам!
Чтобы связаться с авторами работы, пожалуйста, отправьте письмо по адресуjukebox@openai.com.
- Регистрация для творческих коллабораций
Хронология
Июль 2019
Наша первая модель необработанного аудио, которая учится воссоздавать звучание таких инструментов, как фортепиано и скрипка. Мы пробуем датасет из рок- и поп-песен, и к нашему удивлению, это работает.
Сентябрь 2019
Мы собираем более крупный и разнообразный набор данных песен с разметкой по жанрам и исполнителям. Модель начинает более последовательно улавливать стили исполнителей и жанров с ростом разнообразия, а после сходимости может также создавать полноразмерные песни с долгосрочной когерентностью.
Январь 2020
Мы масштабируем наш VQ-VAE с 22 до 44 кГц для достижения более высокого качества звука. Мы также масштабируем модель априорного распределения верхнего уровня (top-level prior) с 1 млрд до 5 млрд параметров, чтобы учесть возросший объем информации. Мы наблюдаем улучшение музыкального качества, чистый вокал и долгосрочную когерентность. Мы также создаем новые варианты завершения реальных песен.
Январь 2020
Мы начинаем обучать модели с учетом текстов песен, чтобы добавить дополнительную информацию для кондиционирования. У нас есть только невыровненные тексты, поэтому модели приходится учиться выравниванию и произношению, а также пению.
Сноски
Источники
Равноправные авторы
Авторы
Выражение признательности
Спасибо следующим лицам за их отзывы об этой работе и вклад в данный релиз: Джек Кларк (Jack Clark), Гретхен Крюгер (Gretchen Krueger), Майлз Брандадж (Miles Brundage), Джефф Клюн (Jeff Clune), Якуб Пахоцкий (Jakub Pachocki), Райан Лоу (Ryan Lowe), Шан Картер (Shan Carter), Дэвид Луан (David Luan), Ведант Мисра (Vedant Misra), Даниела Амодей (Daniela Amodei), Грег Брокман (Greg Brockman), Келли Симс (Kelly Sims), Карсон Эльмгрен (Karson Elmgren), Бьянка Мартин (Bianca Martin), Ревон Чайлд (Rewon Child), Уилл Гасс (Will Guss), Роб Лейдлоу (Rob Laidlow), Рэйчел Уайт (Rachel White), Делвин Кэмпбелл (Delwin Campbell), Тассо Смит (Tasso Smith), Мэтью Саттор (Matthew Suttor), Конрад Качмарек (Konrad Kaczmarek), Скотт Петерсен (Scott Petersen), Дакота Стип (Dakota Stipp), Джена Эззеддин (Jena Ezzeddine)
Выражение признательности
Редактор: Эшли Пилиписин (Ashley Pilipiszyn)
Дизайн и разработка: Джастин Джей Ванг (Justin Jay Wang) и Брук Чан (Brooke Chan)
Полный текст статьи читайте на OpenAI
