Нейросеть научилась писать хоралы за Баха

Кaждый гoлoс мoдeлируeтся oтдeльнo, чтo пoзвoляeт aлгoритму принимaть пoльзoвaтeльскиe oгрaничeния ритмa, нoт, aккoрдoв и кaдeнций. Aлгoритм трeбoвaл исключитeльнoгo знaния oсoбeннoстeй кoмпoзиции, a рeзультaты в цeлoм нe были пoxoжи нa музыку Бaxa, зa исключeниeм нeкoтoрыx кaдeнций и мeлoдичeскиx рисункoв. В нoвoй рaбoтe инжeнeры дeмoнстрируют рaзрaбoтку пoд нaзвaниeм DeepBach — пo сути, этo стaтистичeскaя мoдeль для нaписaния пoлифoничeскoй музыки, a имeннo, чeтырexгoлoсныx гимнoпoдoбныx сoчинeний. Искусствo xoрaльныx сoчинeний Бaxa включает комбинацию четырех гармонических линий с характерным ритмическим и мелодическим рисунком, который начинается, развивается и заканчивается (каденция) в определенном гармоничном ключе. Инженеры парижской лаборатории Sony Computer Science Laboratories научили нейронную сеть стилизовать музыку под произведения Баха — результаты звучат настолько убедительно, что в половине случаев слушатель не отличает их от оригинальных хоралов. Описание работы опубликовано в журнале arXiv.org. Модель отличается несколькими преимуществами: например, можно зафиксировать голос сопрано и поиграть с остальными голосами, получая новые «аранжировки» к основному голосу, или указать желаемый ритм и точки, в которых музыкальные фразы должны заканчиваться. Они отмечают, что их метод применим не только к хоралам Баха, но и любой другой полифонической хоральной музыке от Палестрины до Take 6. График показывает распределение голосов между компьютером (синий цвет) и Бахом (красный цвет) для каждой модели и уровня экспертизы респондентов (от 1 до 3). Попытки алгоритмической стилизации Баха предпринимались и раньше: первая подобная работа 1988 года описывала алгоритм сочинения музыки на базе экспертных правил звучания «в стиле Баха», который включал порядка 300 ограничений, в сумме обеспечивающих «бахоподобное» звучание. Инженеры отмечают быстродействие алгоритма — новые образцы можно получать за считанные секунды. Наконец, агностический подход, не требующий экспертных правил, был применен в 2012 году: работа основана на использовании рекурентных нейронных сетей, и самый свежий пример 2016 — Bachbot на базе LSTM — показал хорошие результаты, однако, позволял сочинение в одном музыкальном ключе и не давал возможностей пользователю задать ритм или начальные ноты. Сочинение полифонической хоральной музыки в стиле Баха — сложная задача в области автоматической композиции. Модель реализована на базе библиотек Keras и Tensorflow. Хоральная фантазия Адама Рейнкина (1643–1722) «На реках Вавилонских», переписанная рукой Баха в 1700 году. Схема нейронных сетей, предсказывающих голос сопрано в разных моделях. Klassik Stiftung Weimar/Bach-Archiv Leipzig

Для обучающей выборки инженеры взяли корпус хоралов Баха, замечательный своим размером: он состоит из 389 произведений. До сих пор машинное обучение не справлялось с обеспечением сразу всех перечисленных условий для написания стилизованной музыки. Для теста взяли MIDI файлы оригинальных и автоматически сочиненных отрывков хоралов, обработанных при помощи средств Leeds Town Hall Organ, а также включили в тест отрывки произведений, выполненных другими алгоритмами. Первые опыты по автоматической композиции на основе нейронных сетей были проведены позже в 1992 году: в работе использовалось несколько нейронных сетей, каждая была нацелена на решение отдельной задачи: составление общего гармонического скелета, детализация и финальная аранжировка. Автор: Надежда Бессонова Каждый хорал примерно минутной длительности, написан для четырех голосов (сопрано, альт, тенор и бас) на базе общих композиционных принципов: композитор берет хорошо известную для своего времени мелодию лютеранского гимна и гармонизирует ее, то есть пишет три нижних голоса (альт, тенор и бас), в то время как линия сопрано исполняет основную мелодию гимна. Более детальные результаты теста показаны на графике ниже, а тест можно пройти самостоятельно на странице проекта:

Результаты эксперимента «Бах против компьютера». Этот метод тоже использовал экспертные правила для своей работы. Credit: Gaetan Hadjeres, Francois Pachet

Для тестирования работы машины DeepBach инженеры провели опрос среди 1600 человек, эта группа включала более 400 профессиональных музыкантов и студентов музыкальных учебных заведений. В качестве обучающей выборки используются отрывки оригинальных хоралов Баха, модель предсказывает высоту звука для каждого голоса в отдельности в зависимости от соседних нот, фиксированного ритма и наличия каденций. Credit: Gaetan Hadjeres, Francois Pachet

Далее инженеры планируют разработать графический редактор поверх созданного алгоритма для интерактивного использования машины DeepBach. Оказалось, что около половины респондентов приняли автоматически сочиненную музыку за оригинал Баха, что можно считать неплохим результатом — для сравнения, оригинальные отрывки Баха были правильно угаданы 75 процентами респондентов. Модель DeepBach основана на методе LSTM рекуррентных нейронных сетей (подробно о рекуррентных нейронных сетях мы писали здесь). Всего в модели используется четыре нейронных сети — две на базе LSTM строят предсказания на базе предыдущих и будущих нот соответственно, одна сеть строит предсказание в зависимости от нот, которые звучат одновременно с предсказываемой, и еще одна сеть суммирует предсказания предыдущих.

Комментарии и уведомления в настоящее время закрыты..

Комментарии закрыты.