Нейромережа навчилася писати хорали за Баха

Інженери паризької лабораторії Sony Computer Science Laboratories навчили нейронну мережу стилізувати музику під твори Баха - результати звучать настільки переконливо, що в половині випадків слухач не відрізняє їх від оригінальних хоралів. Опис роботи опубліковано в журналі.


Твір поліфонічної хоральної музики в стилі Баха - складне завдання в області автоматичної композиції. Мистецтво хоральних творів Баха включає комбінацію чотирьох гармонійних ліній з характерним ритмічним і мелодичним малюнком, який починається, розвивається і закінчується (каденція) в певному гармонійному ключі. Досі машинне навчання не справлялося із забезпеченням відразу всіх перерахованих умов для написання стилізованої музики. У новій роботі інженери демонструють розробку під назвою DeepBach - по суті, це статистична модель для написання поліфонічної музики, а саме, чотириголосних гімноподібних творів.


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

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

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

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

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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND