Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов

в 14:03, , рубрики: wolfram language, wolfram mathematica, wolfram tones, автоматическое создание музыки, Алгоритмы, Блог компании Wolfram Research, Занимательные задачки, клеточные автоматы, математика, музыка, Программирование, тест тьюринга
Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 1

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


Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 2


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

Хотя музыка обычно имеет определенную формальную структуру, что отмечали пифагорейцы ещё 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. И многие начали его использовать. Должен сказать, что я думал, что это был просто интересный эксперимент, и, может быть, хороший способ для создания простых мелодий, то есть ничего серьёзного с точки зрения музыки не предполагалось.

Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 3

Но я оказался неправ. Довольно быстро самые разные композиторы начали использовать сайт. Они говорят нам, что нашли его полезным в качестве источника идей и вдохновения для своих композиций. Это было несколько странно. Мы начали с того, что подставили под сомнение невозможность компьютерам достичь чего-то близкого к человеческому творчеству. Тем не менее, опытные в своей сфере люди обращались к нашей автоматической системе для поиска того, что, можно было подумать, является исключительным для человека: творческое вдохновение.

Я рассматривал это как хорошую проверку принципа вычислительной эквивалентности. Как выразился один исследователь: "Стоит услышать музыку, производимую простыми программами, как они начинают выглядеть гораздо более похожими на нас".

В вычислительном мире каждая программа фактически определяет свой собственный искусственный мир — чьи звуки и логику мы воспринимаем в воспроизводимой ею музыке. Некоторые из этих миров скучные, бесплодные земли, которые порождают тусклую и монотонную музыку. Другие изобилуют случайностью и шумом. Однако одна из сотни или тысячи программ несёт в себе что-то прекрасное: богатые, фактурные, иногда знакомые, а иногда экзотические музыкальные формы.

image
(Прослушать аудио, соответствующее данному клеточному автомату)

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

Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 5

Сайт 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]
  	]
 ]

Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 7
(Прослушать аудио, соответствующее данному клеточному автомату)

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 и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов - 8
(Прослушать аудио, соответствующее данному клеточному автомату)

И мы планируем устроить конкурс, чтобы посмотреть, насколько хороших результатов можно добиться, особенно с использованием различных современных алгоритмических инструментов наподобие обработки изображений, которые имеются в Mathematica. Но в конечном итоге мы не сможем здесь полагаться на одно лишь человеческое творчество. Ведь мы хотим, по сути, автоматизировать творчество, уйти за пределы того, что люди могли себе представить, а не просто исследовать вычислительную вселенную в поисках интересных нам программ и идей.

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

Конечно, творчество в вычислительной вселенной не ограничивается музыкой. Было, к примеру, довольно много исследований касательно изобразительного искусства, архитектуры. Можем ли мы создать здание с использованием лишь одного простого правила? Если да, то сама логика структуры здания сможет нам многое поведать об эргономике.

Могут ли быть для нас поистине ценны автоматически созданные вещи, такие как музыка или что бы то ни было? Или нам всегда нужна история, связывающая то, что мы видим, со всем телом человеческой культуры? Возвращаясь к ранее сказанному — наше понимание природы ясно даёт понять, что нет никакой необходимости в человеческой истории. Вместо этого необходимой представляется связь с определенной всеобъемлющей логикой, которая, по сути, является именно тем, что обеспечивает концепция вычислительной вселенной.

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

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

Автор: Wolfram Research

Источник

Поделиться новостью

* - обязательные к заполнению поля