https://nplus1.ru/news/2016/12/16/deeplearningbachstyle
Сложность статьи: 5.8
Инженеры парижской лаборатории Sony Computer Science Laboratories научили нейронную сеть стилизовать музыку под произведения Баха — результаты звучат настолько убедительно, что в половине случаев слушатель не отличает их от оригинальных хоралов. Описание работы опубликовано в журнале
arXiv.org.
Сочинение полифонической хоральной музыки в стиле Баха — сложная задача в области автоматической композиции. Искусство хоральных сочинений Баха включает комбинацию четырех гармонических линий с характерным ритмическим и мелодическим рисунком, который начинается, развивается и заканчивается (каденция) в определенном гармоничном ключе. До сих пор машинное обучение не справлялось с обеспечением сразу всех перечисленных условий для написания стилизованной музыки. В новой работе инженеры демонстрируют разработку под названием DeepBach — по сути, это статистическая модель для написания полифонической музыки, а именно, четырехголосных гимноподобных сочинений.
Для обучающей выборки инженеры взяли корпус хоралов Баха, замечательный своим размером: он состоит из 389 произведений. Каждый хорал примерно минутной длительности, написан для четырех голосов (сопрано, альт, тенор и бас) на базе общих композиционных принципов: композитор берет хорошо известную для своего времени мелодию лютеранского гимна и гармонизирует ее, то есть пишет три нижних голоса (альт, тенор и бас), в то время как линия сопрано исполняет основную мелодию гимна.
Попытки алгоритмической стилизации Баха предпринимались и раньше: первая подобная работа 1988 года описывала алгоритм сочинения музыки на базе экспертных правил звучания «в стиле Баха», который включал порядка 300 ограничений, в сумме обеспечивающих «бахоподобное» звучание. Алгоритм требовал исключительного знания особенностей композиции, а результаты в целом не были похожи на музыку Баха, за исключением некоторых каденций и мелодических рисунков. Первые опыты по автоматической композиции на основе нейронных сетей были проведены позже в 1992 году: в работе использовалось несколько нейронных сетей, каждая была нацелена на решение отдельной задачи: составление общего гармонического скелета, детализация и финальная аранжировка. Этот метод тоже использовал экспертные правила для своей работы. Наконец, агностический подход, не требующий экспертных правил, был применен в 2012 году: работа основана на использовании рекурентных нейронных сетей, и самый свежий пример 2016 — Bachbot на базе LSTM — показал хорошие результаты, однако, позволял сочинение в одном музыкальном ключе и не давал возможностей пользователю задать ритм или начальные ноты.
Модель DeepBach основана на методе LSTM рекуррентных нейронных сетей (подробно о рекуррентных нейронных сетях мы писали здесь). Каждый голос моделируется отдельно, что позволяет алгоритму принимать пользовательские ограничения ритма, нот, аккордов и каденций. Модель реализована на базе библиотек Keras и Tensorflow. В качестве обучающей выборки используются отрывки оригинальных хоралов Баха, модель предсказывает высоту звука для каждого голоса в отдельности в зависимости от соседних нот, фиксированного ритма и наличия каденций. Всего в модели используется четыре нейронных сети — две на базе LSTM строят предсказания на базе предыдущих и будущих нот соответственно, одна сеть строит предсказание в зависимости от нот, которые звучат одновременно с предсказываемой, и еще одна сеть суммирует предсказания предыдущих. Модель отличается несколькими преимуществами: например, можно зафиксировать голос сопрано и поиграть с остальными голосами, получая новые «аранжировки» к основному голосу, или указать желаемый ритм и точки, в которых музыкальные фразы должны заканчиваться. Инженеры отмечают быстродействие алгоритма — новые образцы можно получать за считанные секунды.
Нет комментариев