Музика, Mathematica та обчислювальна всесвіт: автоматичне створення музики на основі клітинних автоматів


Переклад поста Стівена Вольфраму (Stephen Wolfram) "Music, Mathematica, Computational and the Universe" про чудовому ресурсі WolframTones, робота якого була недавно відновлена на новій площадці Wolfram Cloud (сайт, створений в 2005 р., був недоступний пару років, так як використовував не підтримується сучасними браузерами рішення).
Висловлюю величезну подяку Кирилу Гузенко за допомогу в перекладі.


Наскільки складно створити людську музику? Таку, щоб пройти музичний аналог тесту Тюрінга?

Хоча музика зазвичай має певну формальну структуру, що відзначали піфагорійці ще 2500 років тому, за своєю суттю вона вельми людяна: відображення чистого творчості, яке є суть визначальна характеристика людських здібностей.

Але що є творчість? Це те, що було необхідно протягом всієї біологічної та культурної еволюції? І воно може також існувати у системах, які не мають нічого спільного з людьми?

У своїй роботі над книгою Новий вигляд науки (A New Kind of Science) я досліджував обчислювальну всесвіт можливих програм і виявив, що навіть дуже прості програми можуть показувати разюче багатий і складний характер, нарівні, наприклад, з тим, що можна зустріти в природі. І, спираючись на розроблений принцип обчислювальної еквівалентності, я прийшов до переконання, що не може бути нічого, що принципово відрізняє наші людські здібності від будь-яких процесів, які відбуваються в природі, або навіть в дуже простих програмах.

Але що можна сказати про музику? Деякі люди, виступаючи проти принципу обчислювальної еквівалентності, як аргумент використовували свою віру в те, що "не можуть існувати прості програми, які зможуть провести серйозну музику".

І мені стало цікаво: дійсно музика є щось особливе і виключно людське? Чи все таки її можна чудово створювати автоматично за допомогою обчислень?

У 2003 році, після десятка років моєї самітницького роботи над A New Kind of Science, мені поступово переставали бути чужі мирські проблеми, і одна з них полягала в тому, що рінгтон на моєму стільниковому був як у всіх. Так що я подумав:якщо якась оригінальна індивідуалізована музика насправді може створюватися автоматично, то можна було б просто поміняти всім мелодії на мобільному, і кожен би мав свою власну.

Через деякий час ми вирішили поекспериментувати з можливостями створення музики за допомогою програм.

Вийшла довга історія спроб створення музики за правилами. Більшість отриманого справляло враження занадто "роботского" або випадкового. Але те, до чого я прийшов у A New Kind of Science, здавалося, давало нам нові можливості, адже там було переконливо показано, що навіть з правилами простих програм можна створювати такі складні і живі речі, які ми спостерігаємо в природі і якими ми захоплюємося.

Ми почали з найпростішого експерименту: взяли такі знайомі нам клітинні автомати (стаття Википедии) і використовували фрагменти вироблених ними шаблонів для формування партитури. У мене не було ні найменшого уявлення про те, що ми отримаємо в результаті. І, звичайно, деякі клітинні автомати з простими моделями поведінки виробляли абсолютно нудну музику. Однак, до деякого мій подив, обчислювальної всесвіту за клітинним автоматом, породжує дуже багаті і приємні фрагменти музики, далеко ходити не довелося.

Факт в тому, що за логікою в музиці завжди стоїть якась проста програма. Але ключовим моментом A New Kind of Science є те, що основна програма може бути простий, однак виробляти багату і складну картину.

Але чи буде в цьому естетика? Що стосується візуальної частини, то мені вже давно було відомо, що клітинні автомати можуть виробляти щось дуже цікаве і цікаве. А з урахуванням того, що ми знали про клітинних автоматах, це не було особливо дивно. Тому що я знав, що вони можуть вловити суть багатьох процесів у природі. І оскільки ми знаходимо природу естетичної, то теж саме повинно бути справедливо і для клітинних автоматів.

Але в той час як природа використовує лише кілька певних видів правил, всесвіт клітинних автоматів нескінченна. В деякому сенсі обчислювальна всесвіт узагальнює нашу реальну Всесвіт. Вона містить основні механізми, але допускає нескінченну безліч варіацій, кожен з естетикою, яка узагальнює естетику нашого світу.

На початку 90-х Mathematica обзавелася підтримкою генерації звуку. І, з усією міццю символьного мови, Mathematica стає ідеальною платформою для того, щоб реалізовувати наші алгоритми і почати створювати музику. Результати значно перевершили навіть наші найсміливіші очікування. Ми використовували ідеї з теорії музики для облачення поки ще «голих» клітинних автоматів, і дуже скоро ми вже створювали оркестрові музичні уривки, і звучали вони дивно добре.

Проходять повз нашого офісу люди, чуючи воспроизводящуюся музику, часто зупинялися і питали: "Що це за пісню ви слухаєте?" Ми робили музику, яка була досить хороша для того, щоб люди вважали її зробленої людьми; можна сказати, що ми успішно пройшли аналог тесту Тюрінга для музики.

Що ж, нещодавно ми закінчили робити сайт WolframTones. І багато почали його використовувати. Повинен сказати, що я думав, що це був цікавий експеримент, і, може бути, хороший спосіб для створення простих мелодій, тобто нічого серйозного з точки зору музики не передбачалося.



Але я виявився неправий. Досить швидко різні композитори почали використовувати сайт. Вони кажуть нам, що знайшли його корисним як джерело ідей і натхнення для своїх композицій. Це було трохи дивно. Ми почали з того, що підставили під сумнів неможливість комп'ютерів досягти чогось близького до людської творчості. Тим не менш, досвідчені у своїй сфері люди зверталися до нашої автоматичної системи для пошуку того, що можна було подумати, що є винятковим для людини: творче натхнення.

Я розглядав це як хорошу перевірку принципу обчислювальної еквівалентності. Як висловився один дослідник: "Варто почути музику, вироблену простими програмами, як вони починають виглядати набагато більш схожими на нас".

В обчислювальному світі кожна програма фактично визначає свій власний штучний світ — чиї звуки і логіку ми сприймаємо у відтворюваній нею музиці. Деякі з цих світів нудні, безплідні землі, які породжують тьмяну і монотонну музику. Інші рясніють випадковістю і шумом. Проте одна з сотні або тисячі програм несе в собі щось прекрасне: багаті, фактурні, іноді знайомі, а інколи екзотичні музичні форми.

image
Прослухати аудіо, відповідне даному клітинного автомату)

На сайті WolframTones можна натискати на різні кнопки, шукаючи навмання музику, яка вписується в концепції визначаються нами різних музичних жанрів. На сайті також дається можливість поступово змінювати правила для музичних фрагментів, даючи можливість направляти музику методом штучного відбору в потрібне русло. Коли використовуєш, WolframTones виникає таке відчуття, ніби фотографуєш природу. Ми досліджуємо обчислювальну всесвіт для того, щоб знайти ті самі місця, ті самі програми, які несуть в собі значення і естетику, яку нам потрібна.



Сайт WolframTones був запущений 16 вересня 2005 року. І от, з тих пір він є в інтернеті і за допомогою Mathematica створює музику. Повинен зізнатися, що я деякий час не дивився його логи. Однак заглянувши туди зараз, я виявив, що він використовувався десятки мільйонів разів для створення десятків мільйонів музичних композицій.

image
Прослухати аудіо, відповідне даному клітинного автомату)

За мірками, наприклад, використання Wolfram|Alpha — це ніщо. Але для музичних композицій це величезна цифра. Itunes в даний час містить близько 14 мільйонів музичних композицій і являє собою більшість того, що коли-небудь було випущено. Але всього за кілька років WolframTones створив більшу кількість композицій. Використовуючи лише обчислення, він у певному сенсі перевершив наш вигляд у створенні музичної продукції, поодинці створивши більше оригінальної музики, ніж за весь час до нього.

Для того, щоб результат видавався миттєво, сайт кодує музику в MIDI (те, що Mathematica тепер підтримує безпосередньо в символьному вигляді). Було створено безліч композицій WolframTones у форматі MP3. Повним перерозподілом ролей можна назвати випадок, коли я кілька років тому ходив на концерт, де люди грали на скрипках фрагмент, повністю створений з допомогою WolframTones.

Чи можуть прості програми повністю створити цілу симфонію? Композиції в WolframTones відають нам деякі історії з обчислювального світу, які мають тривалість, мабуть, не більше хвилини. Судячи з мого досвіду, для того, щоб створити більший фрагмент — той, що повідає нам якусь більш довгу історію — нам потрібні структури більш високого рівня. Однак у нас немає якихось перешкод у створенні простий програми, яка б забезпечила подібну структуру. Чільна історія може бути абсолютно повною, як і багато інші історії, що звучать у нашому світі музикою законів природи.

Однак, як багато можна отримати з такого малого? Як виглядає максимально коротка програма, що створює якийсь цікавий музичний фрагмент?

Дуже легко почати створювати програми Mathematica:

Sound[
Map[
Function[
SoundNote[DeleteCases[3 * Range[21] * Reverse[#], 0] - 24,
0.1
]
],
Transpose @ CellularAutomaton[90, {{1}, 0}, 20]
]
]



Прослухати аудіо, відповідне даному клітинного автомату)

Sound[
Map[Function[SoundNote[#, 1 / 6, "Warm"]],
Map[Pick[{0, 5, 9, 12, 16, 21}, #, 1] &,
CellularAutomaton[30,
{{1, 0, 0, 0, 0, 0}, 0},
13,
{13, 5}
]
]
]
]



Прослухати аудіо, відповідне даному клітинного автомату)

І ми плануємо влаштувати конкурс, щоб подивитися, наскільки хороших результатів можна домогтися, особливо з використанням різних сучасних алгоритмічних інструментів на зразок обробки зображень, які є в Mathematica. Але в кінцевому підсумку ми не зможемо тут покладатися на одну лише людська творчість. Адже ми хочемо, по суті, автоматизувати творчість, відійти за межі того, що люди могли собі уявити, а не просто дослідити обчислювальну всесвіт у пошуках цікавих нам програм та ідей.

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

Звичайно, творчість в обчислювальній всесвіту не обмежується музикою. Було, наприклад, досить багато досліджень щодо образотворчого мистецтва, архітектури. Чи можемо ми створити будівлю з використанням лише одного простого правила? Якщо так, то сама логіка структури будівлі зможе нам багато розповісти про ергономіку.

Можуть бути для нас воістину цінні автоматично створені речі, такі як музика або що б то ні було? Або нам завжди потрібна історія, що зв'язує те, що ми бачимо, зі всім тілом людської культури? Повертаючись до раніше сказаного — наше розуміння природи ясно дає зрозуміти, що немає ніякої необхідності в людській історії. Замість цього необхідної представляється зв'язок з певною всеосяжної логікою, яка, по суті, є саме тим, що забезпечує концепція обчислювальної всесвіту.

Коли я дивлюся на Wolfram|Alpha, мене захоплює радість від усвідомлення того, як багато людських знань можна зафіксувати та зробити їх вычислимыми. Новий рубіж — запам'ятати не тільки знання, але і творчість. Щоб мати можливість, наприклад, домагаючись певної мети, зрозуміти творчий шлях її досягнення. Музика є суть плід чистого творчості, і те, що ми дізналися, як припускає принцип обчислювальної еквівалентності, що навіть у цій області, такі речі, як WolframTones, дивовижно гарні в отриманні творчо насиченого результату.

Ми хочемо втілити більш високий рівень автоматизації, тим самим різко розширивши творчі можливості, що, без сумніву, додасть безліч нових цікавих можливостей.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.