Jukebox

Читать научную работу
Jukebox

Иллюстрация:  Бен Барри (Ben Barry)

Мы представляем Jukebox — нейронную сеть, которая генерирует музыку, включая зачатки пения, в виде необработанного аудио (raw audio) в различных жанрах и стилях исполнителей. Мы открываем доступ к весам модели и коду, а также к инструменту для изучения сгенерированных фрагментов.

Избранные фрагменты

Получая на вход жанр, исполнителя и текст песни, Jukebox выдает новый музыкальный фрагмент, созданный с нуля. Ниже представлены некоторые из наших любимых примеров.

Мотивация и предыдущие исследования

Автоматическая генерация музыки насчитывает более полувека.1, 2, 3, 4 Один из видных подходов заключается в символической генерации музыки в формате клавишного ролла (piano roll), где задаются тайминг, высота тона, сила нажатия и инструмент для каждой воспроизводимой ноты. Это привело к впечатляющим результатам, таким как создание хоралов Баха, 5, 6 полифонической музыки для нескольких инструментов, 7, 8, 9, а также минутных музыкальных произведений.10, 11, 12

Но у символических генераторов есть ограничения: они не могут передать человеческий голос или многие тонкие тембры, динамику и выразительность, которые так важны для музыки. Альтернативный подходA заключается в моделировании музыки непосредственно на уровне необработанного аудио.13, 14, 15, 16 Генерация музыки на аудиоуровне — сложная задача, поскольку последовательности получаются очень длинными.17 Типичная 4-минутная песня в CD-качестве (44 кГц, 16 бит) содержит более 10 миллионов временных шагов. Для сравнения: у GPT‑2 было 1000 временных шагов, а системе OpenAI Five требовались десятки тысяч шагов на одну игру. Таким образом, чтобы усвоить высокоуровневую семантику музыки, модели приходится работать с зависимостями на чрезвычайно больших расстояниях.

Один из способов решения проблемы длинных входных данных — использование автоэнкодера, который сжимает исходное аудио в пространство меньшей размерности, отбрасывая часть перцептивно нерелевантной информации. Затем мы можем обучить модель генерировать аудио в этом сжатом пространстве и выполнять апсэмплинг обратно в пространство исходного аудио.25, 17

Мы решили заняться музыкой, потому что хотим и дальше раздвигать границы возможностей генеративных моделей. Наша предыдущая работа над MuseNet была посвящена синтезу музыки на основе больших объемов MIDI-данных. Теперь же, работая с необработанным аудио, наши модели должны научиться справляться с огромным разнообразием и структурами очень большой протяженности, при этом домен сырого аудио крайне не прощает ошибок в краткосрочном, среднесрочном или долгосрочном тайминге.

Подход

Сжатие музыки в дискретные коды

Автоэнкодер Jukebox сжимает аудио в дискретное пространство, используя подход на основе квантования под названием VQ-VAE.25 Иерархические VQ-VAE17 способны генерировать короткие инструментальные фрагменты для небольшого набора инструментов, однако они страдают от коллапса иерархии из-за использования последовательных энкодеров в сочетании с авторегрессионными декодерами. Упрощенный вариант под названием VQ-VAE-226 позволяет избежать этих проблем за счет применения только энкодеров и декодеров прямого распространения (feedforward), демонстрируя впечатляющие результаты в генерации высококачественных изображений.

Мы черпаем вдохновение из VQ-VAE-2 и применяем их подход к музыке. Мы модифицируем их архитектуру следующим образом:

  • Чтобы уменьшить коллапс кодовой книги (codebook collapse), характерный для моделей VQ-VAE, мы используем случайные перезапуски: вектор кодовой книги случайным образом сбрасывается в одно из закодированных скрытых состояний всякий раз, когда частота его использования падает ниже порогового значения.
  • Для максимизации использования верхних уровней мы применяем раздельные декодеры и независимо реконструируем входные данные из кодов каждого уровня.
  • Чтобы модель могла легко восстанавливать высокие частоты, мы добавляем спектральную потерю (spectral loss)27, 28, которая штрафует норму разницы между исходным и реконструированным спектрограммами.

В нашей модели VQ-VAE мы используем три уровня (показаны ниже), которые сжимают исходное аудио с частотой 44 кГц в 8, 32 и 128 раз соответственно, при этом размер кодовой книги для каждого уровня составляет 2048. Такое понижение дискретизации приводит к потере значительной части аудиодеталей, и звук на более глубоких уровнях становится заметно зашумленным. Тем не менее, это сохраняет важнейшую информацию о высоте тона, тембре и громкости звука.

Генерация кодов с использованием трансформеров

Затем мы обучаем априорные модели (priors), целью которых является изучение распределения музыкальных кодов, закодированных VQ-VAE, и генерация музыки в этом сжатом дискретном пространстве. Как и в случае с VQ-VAE, у нас есть три уровня априорных моделей: априорная модель верхнего уровня, которая генерирует наиболее сжатые коды, и два апсэмплирующих априора, которые генерируют менее сжатые коды на основе информации с вышестоящих уровней.

Априор верхнего уровня моделирует структуру музыки на больших расстояниях, и сэмплы, декодированные с этого уровня, имеют более низкое качество звука, но улавливают высокоуровневую семантику, такую как пение и мелодии. Промежуточный и нижний апсэмплирующие априоры добавляют локальные музыкальные структуры вроде тембра, значительно улучшая качество звука.

Мы обучаем их как авторегрессионные модели, используя упрощенный вариант разреженных трансформеров (Sparse Transformers).29, 30 Каждая из этих моделей имеет 72 слоя факторизованного самовнимания (factorized self-attention) при контексте в 8192 кода, что соответствует примерно 24 секундам, 6 секундам и 1,5 секундам исходного аудио на верхнем, среднем и нижнем уровнях соответственно.

После того как все априорные модели обучены, мы можем генерировать коды на верхнем уровне, повышать их разрешение с помощью апсэмплеров и декодировать обратно в пространство необработанного аудио с помощью декодера VQ-VAE для получения новых песен.

Набор данных

Чтобы обучить эту модель, мы спарсили веб-страницы, чтобы собрать новый датасет из 1,2 миллиона песен (600 000 из которых — на английском языке), снабженный соответствующими текстами и метаданными из LyricWiki. Метаданные включают исполнителя, жанр альбома и год выпуска песни, а также общие настроения или ключевые слова плейлистов, связанные с каждым треком. Мы проводим обучение на 32-битном сыром аудио с частотой 44,1 кГц и выполняем аугментацию данных путем случайного сведения правого и левого каналов в монозвучание.

Обусловливание по исполнителю и жанру

Трансформер верхнего уровня обучается предсказанию сжатых аудиотокенов. Мы можем передавать дополнительную информацию, такую как исполнитель и жанр для каждой песни. Это дает два преимущества: во-первых, снижается энтропия предсказания аудио, поэтому модель способна достигать лучшего качества в любом конкретном стиле; во-вторых, в момент генерации мы можем направлять модель на создание треков в выбранном нами стиле.

Представленный ниже график t-SNE31 показывает, как модель неконтролируемым образом (unsupervised) учится группировать похожих исполнителей и жанры близко друг к другу, а также демонстрирует некоторые удивительные связи — например, то, как близко Дженнифер Лопес оказалась к Долли Партон!

Обусловливание по тексту песни

В дополнение к обусловливанию по исполнителю и жанру мы можем предоставить больше контекста во время обучения, обусловливая модель текстом песни. Серьезную сложность представляет отсутствие хорошо выровненного датасета: у нас есть тексты только на уровне песни без выравнивания по музыке, и поэтому для заданного фрагмента аудио мы точно не знаем, какая именно часть текста (если вообще какая-то) в нем звучит. У нас также могут быть версии песен, которые не совпадают с текстовыми версиями — например, если конкретная песня исполняется несколькими разными артистами слегка по-разному. Кроме того, вокалисты часто повторяют фразы или иным образом варьируют текст так, как не всегда зафиксировано в письменных словах.

Чтобы сопоставить фрагменты аудио с соответствующими текстами, мы начинаем с простого эвристического подхода, который линейно распределяет символы текста по длительности каждой песни, и во время обучения передаем окно символов фиксированного размера, центрированное вокруг текущего сегмента. Хотя эта простая стратегия линейного выравнивания сработала на удивление хорошо, мы обнаружили, что она дает сбой в определенных жанрах с быстрой читкой, таких как хип-хоп. Чтобы решить эту проблему, мы используем Spleeter32 для извлечения вокала из каждой песни и запускаем NUS AutoLyricsAlign[^reference-33] на извлеченном вокале, чтобы получить точное выравнивание текста на уровне слов. Мы выбрали достаточно широкое окно, чтобы реальный текст с высокой вероятностью находился внутри него.

Для учета текста мы добавляем энкодер для создания представления текста, а также слои внимания, которые используют запросы (queries) из музыкального декодера для обращения к ключам и значениям из текстового энкодера. После обучения модель находит более точное выравнивание.

Lyrics Attention

Выравнивание текста и музыки, изученное слоем внимания энкодера-декодера Внимание переключается с одного токена текста на следующий по мере развития музыки, с небольшими моментами неопределенности.

Ограничения

Хотя Jukebox представляет собой шаг вперед в отношении музыкального качества, когерентности, длины аудиофрагментов и возможности обучать модель на основе определенного исполнителя, жанра и текста песни, между этими результатами генерации и музыкой, созданной человеком, всё еще существует значительный разрыв.

Например, хотя сгенерированные песни демонстрируют локальную музыкальную когерентность, следуют традиционным последовательностям аккордов и могут даже содержать впечатляющие соло, мы не слышим привычных более крупных музыкальных структур, таких как повторяющиеся припевы. Наш процесс уменьшения и увеличения дискретизации (downsampling и upsampling) вносит заметный шум. Улучшение VQ-VAE, чтобы его коды захватывали больше музыкальной информации, помогло бы снизить этот эффект. Наши модели также медленно выполняют выборку из-за авторегрессионной природы этого процесса. Для полного рендеринга одной минуты звука с помощью наших моделей требуется примерно 9 часов, и поэтому они пока не могут использоваться в интерактивных приложениях. Использование методов27, 34, которые дистиллируют модель в параллельный семплер, может значительно ускорить скорость выборки. Наконец, в настоящее время мы обучаем модели на англоязычных текстах и преимущественно на западной музыке, но в будущем мы надеемся включить песни на других языках и из других регионов мира.

Направления будущих исследований

Наша аудиокоманда продолжает работу над генерацией аудиофрагментов на основе различных видов исходной информации. В частности, мы уже добились первых успехов при использовании MIDI-файлов и стем-файлов в качестве исходных данных. Вот пример сырого аудиосэмпла, созданного на основе MIDI-токенов. Мы надеемся, что это повысит музыкальность сэмплов (подобно тому, как использование текстов песен улучшило качество вокала), а также предоставит музыкантам больше возможностей контроля над результатами генерации. Мы ожидаем, что сотрудничество между человеком и моделью станет увлекательным и динамично развивающимся творческим пространством. Если вы хотите работать над этими задачами вместе с нами,  мы ищем сотрудников.

По мере дальнейшего развития генеративного моделирования в различных областях мы также проводим исследования таких вопросов, как предвзятость и права интеллектуальной собственности, а также взаимодействуем со специалистами из тех сфер, для которых мы создаем инструменты. Чтобы лучше понять будущие последствия для музыкального сообщества, мы познакомили с Jukebox первых 10 музыкантов, представляющих различные жанры, чтобы обсудить их отзывы об этой работе. Хотя Jukebox представляет собой интересный исследовательский результат, эти музыканты не нашли его применимым напрямую к своему творческому процессу из-за ряда его текущих ограничений. Мы поддерживаем связь с более широким творческим сообществом, поскольку считаем, продолжит совершенствоваться генеративное творчество в области текста, изображений и звука. Если вы хотите стать нашим творческим партнером и помочь нам в создании полезных инструментов или новых произведений искусства в этих областях, пожалуйста,  сообщите нам!

Чтобы связаться с авторами работы, пожалуйста, отправьте письмо по адресуjukebox@openai.com.

  • Регистрация для творческих коллабораций

Хронология

  • Июль 2019

    Наша первая модель необработанного аудио, которая учится воссоздавать звучание таких инструментов, как фортепиано и скрипка. Мы пробуем датасет из рок- и поп-песен, и к нашему удивлению, это работает.

  • Сентябрь 2019

    Мы собираем более крупный и разнообразный набор данных песен с разметкой по жанрам и исполнителям. Модель начинает более последовательно улавливать стили исполнителей и жанров с ростом разнообразия, а после сходимости может также создавать полноразмерные песни с долгосрочной когерентностью.

  • Январь 2020

    Мы масштабируем наш VQ-VAE с 22 до 44 кГц для достижения более высокого качества звука. Мы также масштабируем модель априорного распределения верхнего уровня (top-level prior) с 1 млрд до 5 млрд параметров, чтобы учесть возросший объем информации. Мы наблюдаем улучшение музыкального качества, чистый вокал и долгосрочную когерентность. Мы также создаем новые варианты завершения реальных песен.

  • Январь 2020

    Мы начинаем обучать модели с учетом текстов песен, чтобы добавить дополнительную информацию для кондиционирования. У нас есть только невыровненные тексты, поэтому модели приходится учиться выравниванию и произношению, а также пению.

Сноски

  1. 18

    Также можно использовать гибридный подход — сначала сгенерировать символическую музыку, затем преобразовать ее в исходный аудиоформат с помощью WaveNet на основе фортепианных свитков (piano rolls), автоэнкодера, или генеративно-состязательной сети (GAN), либо выполнять перенос музыкального стиля (для переноса стиля между классической музыкой и джазом), генерировать чиптюн-музыку, или разделять музыкальный стиль и контент. Более подробно с моделированием необработанного аудио можно ознакомиться в этом отличном обзоре.

Источники

  1. 1

    Hiller Jr, L. A., and L.M. Isaacson.»Musical Composition with a High-Speed Digital Computer.» Journal of the Audio Engineering Society 6.3 (1958):  154–160.

  2. 2

    Moorer, James Anderson.»Music and computer composition.» Communications of the ACM 15.2 (1972):  104–113.

  3. 3

    Beyls, Peter.»The musical universe of cellular automata.» Proceedings of international computer music conference. 1989.

  4. 4

    Conklin, Darrell.»Music generation from statistical models.» Proceedings of the AISB 2003 Symposium on Artificial Intelligence and Creativity in the Arts and Sciences. 2003.

  5. 5

    Hadjeres, Gaëtan, François Pachet, and Frank Nielsen.»Deepbach: a steerable model for bach chorales generation.» Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org,  2017.

  6. 6

    Huang, Cheng-Zhi Anna, et al.»Counterpoint by convolution.» arXiv preprint arXiv:1903.07227 (2019).

  7. 7

    Dong, Hao-Wen, et al.»Musegan: Multi-track sequential generative adversarial networks for symbolic music generation and accompaniment.» Thirty-Second AAAI Conference on Artificial Intelligence. 2018.

  8. 8

    Yang, Li-Chia, Szu-Yu Chou, and Yi-Hsuan Yang.»MidiNet: A convolutional generative adversarial network for symbolic-domain music generation.» arXiv preprint arXiv:1703.10847 (2017).

  9. 9

    Roberts, Adam, et al.»A hierarchical latent vector model for learning long-term structure in music.» arXiv preprint arXiv:1803.05428 (2018).

  10. 10

    Huang, Cheng-Zhi Anna, et al.»Music transformer.» arXiv preprint arXiv:1809.04281 (2018).

  11. 11

    Payne, Christine.»MuseNet, 2019.» URL openai.com/blog/musenet (2019).

  12. 12

    Wu, Jian, et al.»A hierarchical recurrent neural network for symbolic melody generation.» IEEE Transactions on Cybernetics (2019).

  13. 13

    Oord, Aaron van den, et al.»Wavenet: A generative model for raw audio.» arXiv preprint arXiv:1609.03499 (2016).

  14. 14

    Mehri, Soroush, et al.»SampleRNN: An unconditional end-to-end neural audio generation model.» arXiv preprint arXiv:1612.07837 (2016).

  15. 15

    Yamamoto, Ryuichi, Eunwoo Song, and Jae-Min Kim.»Parallel WaveGAN: A fast waveform generation model based on generative adversarial networks with multi-resolution spectrogram.» ICASSP 2020–2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE,  2020.

  16. 16

    Vasquez, Sean, and Mike Lewis.»Melnet: A generative model for audio in the frequency domain.» arXiv preprint arXiv:1906.01083 (2019).

  17. 17

    Dieleman, Sander, Aaron van den Oord, and Karen Simonyan.»The challenge of realistic music generation: modelling raw audio at scale.» Advances in Neural Information Processing Systems. 2018.

  18. 18

    Kim, Jong Wook, et al.»Neural music synthesis for flexible timbre control.» ICASSP 2019–2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE,  2019.

  19. 19

    Hawthorne, Curtis, et al.»Enabling factorized piano music modeling and generation with the MAESTRO dataset.» arXiv preprint arXiv:1810.12247 (2018).

  20. 20

    Engel, Jesse, et al.»Neural audio synthesis of musical notes with wavenet autoencoders.» Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org,  2017.

  21. 21

    Engel, Jesse, et al.»Gansynth: Adversarial neural audio synthesis.» arXiv preprint arXiv:1902.08710 (2019).

  22. 22

    Brunner, Gino, et al.»MIDI-VAE: Modeling dynamics and instrumentation of music with applications to style transfer.» arXiv preprint arXiv:1809.07600 (2018).

  23. 23

    Donahue, Chris, et al.»LakhNES: Improving multi-instrumental music generation with cross-domain pre-training.» arXiv preprint arXiv:1907.04868 (2019).

  24. 24

    Mor, Noam, et al.»A universal music translation network.» arXiv preprint arXiv:1805.07848 (2018).

  25. 25

    van den Oord, Aaron, and Oriol Vinyals.»Neural discrete representation learning.» Advances in Neural Information Processing Systems. 2017.

  26. 26

    Razavi, Ali, Aaron van den Oord, and Oriol Vinyals.»Generating diverse high-fidelity images with VQ-VAE-2.» Advances in Neural Information Processing Systems. 2019.

  27. 27

    Oord, Aaron van den, et al.»Parallel wavenet: Fast high-fidelity speech synthesis.» arXiv preprint arXiv:1711.10433 (2017).

  28. 28

    Arık, Sercan Ö., Heewoo Jun, and Gregory Diamos.»Fast spectrogram inversion using multi-head convolutional neural networks.» IEEE Signal Processing Letters 26.1 (2018):  94–98.

  29. 29

    Child, Rewon, et al.»Generating long sequences with sparse transformers.» arXiv preprint arXiv:1904.10509 (2019).

  30. 30

    Vaswani, Ashish, et al.»Attention is all you need.» Advances in neural information processing systems. 2017.

  31. 31

    Maaten, Laurens van der, and Geoffrey Hinton.»Visualizing data using t-SNE.» Journal of machine learning research 9.Nov (2008):  2579–2605.

  32. 32

    Hennequin, Romain, et al.»Spleeter: A fast and state-of-the art music source separation tool with pre-trained models.» Proc. International Society for Music Information Retrieval Conference. 2019.

  33. 33

    Gupta, Chitralekha, Emre Yılmaz, and Haizhou Li.»Lyrics-to-Audio Alignment with Music-aware Acoustic Models

  34. 34

    Kingma, Durk P., et al.»Improved variational inference with inverse autoregressive flow.» Advances in neural information processing systems. 2016.

Равноправные авторы

Прафулла Дхаривал (Prafulla Dhariwal), Хиву Джун (Heewoo Jun), Кристин МакЛиви Пейн (Christine McLeavey Payne)

Авторы

Чон Ук Ким (Jong Wook Kim), Алек Рэдфорд (Alec Radford), Илья Суцкевер (Ilya Sutskever)

Выражение признательности

Спасибо следующим лицам за их отзывы об этой работе и вклад в данный релиз: Джек Кларк (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