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

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

Какое-то время продолжим трудится на общее благо по адресу https://n-n-n.ru.
На новой платформе мы уделили особое внимание удобству поиска материалов.
Особенно рекомендуем познакомиться с работой рубрикатора.

Спасибо, ждём вас на N-N-N.ru

Изображение с сайта nplus1.ru

Инженеры парижской лаборатории Sony Computer Science Laboratories научили нейронную сеть стилизовать музыку под произведения Баха — результаты звучат настолько убедительно, что в половине случаев слушатель не отличает их от оригинальных хоралов. Описание работы опубликовано в журнале arXiv.org.

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

Хоральная фантазия Адама Рейнкина (1643–1722) «На реках Вавилонских», переписанная рукой Баха в 1700 году. Klassik Stiftung Weimar/Bach-Archiv Leipzig

Для обучающей выборки инженеры взяли корпус хоралов Баха, замечательный своим размером: он состоит из 389 произведений. Каждый хорал примерно минутной длительности, написан для четырех голосов (сопрано, альт, тенор и бас) на базе общих композиционных принципов: композитор берет хорошо известную для своего времени мелодию лютеранского гимна и гармонизирует ее, то есть пишет три нижних голоса (альт, тенор и бас), в то время как линия сопрано исполняет основную мелодию гимна.

Попытки алгоритмической стилизации Баха предпринимались и раньше: первая подобная работа 1988 года описывала алгоритм сочинения музыки на базе экспертных правил звучания «в стиле Баха», который включал порядка 300 ограничений, в сумме обеспечивающих «бахоподобное» звучание. Алгоритм требовал исключительного знания особенностей композиции, а результаты в целом не были похожи на музыку Баха, за исключением некоторых каденций и мелодических рисунков. Первые опыты по автоматической композиции на основе нейронных сетей были проведены позже в 1992 году: в работе использовалось несколько нейронных сетей, каждая была нацелена на решение отдельной задачи: составление общего гармонического скелета, детализация и финальная аранжировка. Этот метод тоже использовал экспертные правила для своей работы. Наконец, агностический подход, не требующий экспертных правил, был применен в 2012 году: работа основана на использовании рекурентных нейронных сетей, и самый свежий пример 2016 — Bachbot на базе LSTM — показал хорошие результаты, однако, позволял сочинение в одном музыкальном ключе и не давал возможностей пользователю задать ритм или начальные ноты.

Модель DeepBach основана на методе LSTM рекуррентных нейронных сетей (подробно о рекуррентных нейронных сетях мы писали здесь). Каждый голос моделируется отдельно, что позволяет алгоритму принимать пользовательские ограничения ритма, нот, аккордов и каденций. Модель реализована на базе библиотек Keras и Tensorflow. В качестве обучающей выборки используются отрывки оригинальных хоралов Баха, модель предсказывает высоту звука для каждого голоса в отдельности в зависимости от соседних нот, фиксированного ритма и наличия каденций. Всего в модели используется четыре нейронных сети — две на базе LSTM строят предсказания на базе предыдущих и будущих нот соответственно, одна сеть строит предсказание в зависимости от нот, которые звучат одновременно с предсказываемой, и еще одна сеть суммирует предсказания предыдущих. Модель отличается несколькими преимуществами: например, можно зафиксировать голос сопрано и поиграть с остальными голосами, получая новые «аранжировки» к основному голосу, или указать желаемый ритм и точки, в которых музыкальные фразы должны заканчиваться. Инженеры отмечают быстродействие алгоритма — новые образцы можно получать за считанные секунды.

Схема нейронных сетей, предсказывающих голос сопрано в разных моделях. Credit: Gaetan Hadjeres, Francois Pachet

Для тестирования работы машины DeepBach инженеры провели опрос среди 1600 человек, эта группа включала более 400 профессиональных музыкантов и студентов музыкальных учебных заведений. Для теста взяли MIDI файлы оригинальных и автоматически сочиненных отрывков хоралов, обработанных при помощи средств Leeds Town Hall Organ, а также включили в тест отрывки произведений, выполненных другими алгоритмами. Оказалось, что около половины респондентов приняли автоматически сочиненную музыку за оригинал Баха, что можно считать неплохим результатом — для сравнения, оригинальные отрывки Баха были правильно угаданы 75 процентами респондентов. Более детальные результаты теста показаны на графике ниже, а тест можно пройти самостоятельно на странице проекта:

Результаты эксперимента «Бах против компьютера». График показывает распределение голосов между компьютером (синий цвет) и Бахом (красный цвет) для каждой модели и уровня экспертизы респондентов (от 1 до 3). Credit: Gaetan Hadjeres, Francois Pachet

Далее инженеры планируют разработать графический редактор поверх созданного алгоритма для интерактивного использования машины DeepBach. Они отмечают, что их метод применим не только к хоралам Баха, но и любой другой полифонической хоральной музыке от Палестрины до Take 6.

Автор: Надежда Бессонова

Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (4 votes)
Источник(и):

nplus1.ru