Математика в музыке
«Математика является наукой, которая рассматривает отвлеченное количество… Она подразделяется на следующие части: арифметика, музыка, геометрия и астрономия. Арифметика — учение о количестве, выражаемом числом. Музыка же — учение, которое рассматривает числа по отношению к тем явлениям, которые наблюдаются в звуке…» Так писал римский ученый Кассиодор. Дело было в шестом веке, в доброе старое время, когда биология еще не отделилась от физики, а химии не существовало вовсе. Сегодня мало кому придет в голову объявить музыку составной частью математики. В течение столетий возникло классическое противопоставление науки и искусства. Но наша эпоха, которая, помимо многих других эпитетов, с основанием может называться веком синтеза различных наук, по мнению автора, становится также веком синтеза науки и искусства. В настоящее время пример подобных тенденций являют, по-видимому, математика и музыка.
Математический синтез и математический анализ музыки
Этот контакт проявляется при постановке и решении двух основных проблем: математического анализа и математического синтеза музыки. В чем заключаются эти проблемы? Каково их отношение к традиционному, нематематическому музыкознанию?
Музыковедение всегда видело одну из своих основных задач в исследовании, в анализе музыки — с точки зрения мелодики, гармонии, ритмики, формы, инструментовки. Наша первая проблема состоит в использовании для этой цели различных математических дисциплин — статистики, теории информации, теории групп. Оговоримся сразу же: математический анализ музыки и традиционный анализ музыкальных произведений не исключают друг друга. Наоборот, для математического анализа музыки всегда в каком-то объеме необходим предварительный «нематематический» анализ. Результаты же математического анализа не противоречат результатам традиционного анализа, а уточняют их.
Другая основная задача теории музыки с давних пор заключается в ее педагогической функции. Будущий композитор обучается теории музыки, начиная с нотной грамоты, за которой следует учение о гармонии, о музыкальных формах и т д. Проблема математического синтеза музыки вполне аналогична этой задаче, с той «лишь» разницей, что обучать сочинению следует не человека, а машину. Как читатель догадывается, слово «лишь» в предыдущую фразу вставлено в ироническом смысле. В том-то и дело, что человек не машина (точнее, наоборот: современные машины не человек)!
Ведь будущий композитор — обладатель человеческой психики, самого сложного продукта материи. Благодаря этому разные советы и правила он схватывает «на лету», даже если они сформулированы не совсем точно. Пользуясь своим личным вкусом, ученик может оценить, хорошо или плохо звучит музыка, несмотря на то, что он, как правило, не в состоянии объяснить, какими признаками или формальными критериями он при этом руководствовался. Наконец, в его распоряжении фантазия — неиссякаемый источник новых музыкальных идей. Воистину не мудрено из такого великолепного материала сделать композитора! Но попробуйте сделать композитора из вычислительной машины, которая, правда, всему может научиться, но сама не знает ничего.
Даже наиболее элементарные вещи машине требуется сообщать точно и подробно, ничего для нее не подразумевается само собой. Никакого вкуса у нее нет, ибо нет музыкального опыта. И уж совершенно безнадежно выглядит дело с машинной фантазией. Откуда ей взяться?
После всего сказанного у читателя законно возникает вопрос: зачем тогда вообще стараться при помощи машин отнимать хлеб у композиторов-людей? Похоже, что дело это невозможное, да, собственно, и ненужное. Ответим со всей определенностью: никто при помощи «машинной музыки» не собирается превратить композиторов в безработных. Цель серьезных экспериментов по машинному сочинению состоит в другом, и эта цель упомянутыми выше трудностями не снимается, а становится еще более привлекательной. К последнему утверждению мы еще вернемся несколько позже. Теперь, не углубляясь в проблематику анализа, рассмотрим несколько более подробно вопросы, связанные с математическим синтезом музыки.
Но, прежде всего, следует отметить одно обстоятельство, о котором неспециалисты часто забывают. В нашей проблеме речь не идет о конструировании какой-то новой машины неизвестного до сих пор типа, которая будет способна к сочинению музыки. Такие машины уже построены и существуют во многих тысячах экземпляров. Ибо для этой цели пригодна любая универсальная электронная вычислительная машина. Весь вопрос состоит в том, как научиться составить такую последовательность инструкций, такую программу, следуя которой машина сочинит музыку. Итак, выражения «машина может» или «машина не умеет», по существу, следует читать «программа может» или «программа не умеет». Но программу составляет не машина, а человек, поэтому от него, в конечном счете и зависит успех или неуспех машины. Однако читатель ни в коем случае не должен думать, что программист заложил в машину разные мелодии и потом заставил машину эти же мелодии «сочинить». На самом деле автор программы сам не знает, что сочинит машина. Как же в таком случае происходит процесс синтеза? Как преодолеваются упомянутые выше трудности на этом пути?
Законы строгие и нестрогие
Сначала вернемся к вопросу о строгих, категорических правилах, которые должен соблюдать каждый композитор. Сообщение таких правил машине — дело хлопотное и трудоемкое, однако никаких принципиальных затруднений здесь нет. При проверке оказывается, что таких правил в музыке гораздо меньше, чем обычно принято думать. Поэтому включение этих правил в программу еще далеко не решает вопроса.
Относительным исключением в этом смысле являются, пожалуй, только весьма специфические ситуации. В качестве одного примера можно привести так называемый «строгий стиль», который характеризовал многоголосную (главным образом вокальную) музыку в эпоху Возрождения. Это самая старая музыка, которая изредка может быть услышана в концертах. Другой пример принадлежит уже нашему времени — это додекафойная музыка в своей последовательной реализации. В упомянутых двух стилях свод строгих законов в сравнительно большой степени характеризует музыку. Вследствие этого процесс сочинения легче поддается программированию. Именно поэтому, вероятно, сюита «Иллиак» для струнного квартета, сочиненная вычислительной машиной Иллинойсского университета, начинается в строгом стиле, а кончается додекафонией.
Никакой «середины» нет. Но в огромном своем большинстве та музыка, которую мы слышим в концертах, по радио относится именно к этой «середине», к так называемой тональной музыке. Тональную музыку писали Бах, Гайдн, Моцарт, Бетховен, Шуберт, Глинка, Чайковский, Рахманинов, Скрябин, Прокофьев. Тональную музыку пишет большинство современных композиторов. Но сочинение тональной музыки труднее поддается программированию.
В чем заключается основная трудность алгоритмизации сочинения тональной музыки? Дело в том, что законы тональной музыки в своем большинстве не являются категорическими приказами, а лишь рекомендациями. Например, как в мелодии, так и в гармонии наблюдается стремление к первой, основной ступени лада. Это проявляется хотя бы в том, что в большинстве случаев мелодия в конце произведения достигает первой ступени. Но это закон с очень многими исключениями, так что нельзя даже говорить о законе в строгом смысле слова. Можно лишь отметить некоторую господствующую тенденцию.
Именно в подобных тенденциях — вся суть тональной музыки. Благодаря приобретенному ранее музыкальному опыту композитор эти тенденции ощущает интуитивно и в одной конкретной ситуации отдает предпочтение одному направлению развития музыкальной мысли, отвергая некоторые иные рекомендации, а в другой ситуации поступает наоборот. Можно ли помочь машине приобрести нечто подобное такой интуиции?
Отложим, однако, на время решение этого вопроса и обратимся к проблеме фантазии очень важного компонента любого творчества. Как увидим, оба вопроса удается решить одним и тем же методом.
Направленная случайность
Общефилософские категории необходимого и случайного проявляются в каждом виде искусства. Не может быть произведения искусства, которое не подчинилось бы каким-то закономерностям, каким-то правилам, выделяющим «дозволенные приемы». Но ни одно произведение искусства не оказывается жизнеспособным, если фантазия художника не привела к оригинальному, одновременно неожиданному и естественному сочетанию элементов. Законы, которым подчиняется фантазия, могут быть (и бывают) неизвестны самому художнику, он тоже не может предугадать, что ему фантазия подскажет в следующий миг. Поэтому есть основание считать работу фантазии не строго детерминированным, а случайным процессом. Все сказанное относится, в частности, и к музыке.
Откуда же наша бедная вычислительная машина возьмет фантазию? Ведь конструкторы машины считали своим долгом добиться того, чтобы машина не капризничала, чтобы она непреклонно и точно следовала программе и однозначно выполнила бы ее. Работа машины нам кажется самим олицетворением точности и детерминированности.
Это действительно так, если иметь в виду нежелательные ошибки в работе машины. Но в то же время даже при выполнении поручения математиков машину иногда нарочно заставляют действовать случайно, непредсказуемо. Конечно, именно в тех ситуациях, когда этого хочет программист. При помощи подобною подхода реализуется в современной математике так называемый метод Монте Карло, который оправдывает себя во многих вычислительных задачах. В связи с этим придуманы специальные приемы, позволяющие машине выбрать случайное число — например, случайную дробь (число между нулем и единицей).
Таким образом, в работу машины может быть введена случайность, имитирующая фантазию художника. Однако эта фантазия не должна быть слепой. При сочинении мелодии композитор не берет ноты наугад, а выбирает одни звуки чаще, другие — реже; после большого скачка в мелодии, как правило, выбирается плавный ход и т. п. Такой направленный способ действия доступен и машине. Поясним это на очень простом примере.
Допустим, что машина должна строить ритмический рисунок, выбирая длины ног. Предположим, что характер музыки таков, что восьмые должны преобладать над четвертями, скажем, появляться в среднем в три раза чаще. Этого легко добиться при помощи случайных чисел, если поступать следующим образом. Условимся, что дробь от 0 до 0,75 будет означать, что машина выбрала («сочинила») одну восьмую, а дробь от 0,75 до 1,00 будет означать выбор одной четвертой. Пусть теперь случайная дробь оказалась равной 0,31. Это событие можно рассматривать как элементарный «акт вдохновения», в результате которого пишется нота длины одна восьмая. Число же 0,76 означало бы выбор одной четверти, и т. д. В среднем такая тактика, как легко понять, даст нам восьмых в три раза больше, чем четвертей, но в то же время для каждой отдельной ноты предсказать ее длину невозможно она зависит от «машинного вдохновения», то есть от непредсказуемого заранее значения случайной дроби.
Подобный метод можно использовать как для выбора ритмического рисунка, так и для выбора высоты нот (или же для последовательности интервалов, из которых построена мелодия), для подбора сопровождения, для решения вопроса о форме сочинения и т. д. При этом от распределения вероятностей, которые мы предпишем машине, будет зависеть общий характер синтезируемой музыки, но в то же время мы никак не сможем предугадать, какой точный вид будет иметь следующий «опус» машины. Элемент неожиданности здесь проявляется примерно в такой же степени, как у композитора-человека.
Оставшийся выше нерешенным вопрос о том, как при математическом синтезе музыки моделировать предыдущий опыт композитора, его вкус, то есть предпочтение одних средств выражения по сравнению с другими, можно решать именно при помощи соответствующего подбора вероятностей. Таким же образом можно включать в процесс синтеза правила типа рекомендаций: машина бросит жребий и в зависимости от результата решит, следовать в конкретном случае данной рекомендации или нет.
Таким образом, композитор-автомат получает принципиальную возможность обзавестись фантазией — она дается использованием случайности, только не слепой случайности, а направленной при помощи подходящего выбора вероятностей.
Тем самым снимается возражение, которое высказывалось по адресу машинного синтеза музыки, а именно, что результатом синтеза может быть только либо застывшее, неинтересное произведение, которое получено «по всем законам», но лишено оригинальности, либо нечто невообразимо хаотическое, полученное при следовании слепой случайности.
Новые проблемы
Однако принципиальная возможность программы синтеза не означает, что такая программа, отвечающая всем требованиям, уже в наших руках сегодня или будет готова завтра. Для практического составления программы требуется, во-первых, знание тех правил, которые должны выполняться безусловно, во-вторых, нужно указать те параметры, значения которых будут выбираться случайно, и, в-третьих, следует дать распределение вероятностей для этих параметров. Кроме того, нужен сам алгоритм синтеза, то есть следует указать, в какой последовательности будут выбираться значения всех нужных параметров. Этот вопрос является существенным потому, что вероятности выбора одного параметра могут зависеть от уже выбранного значения какого-то другого параметра.
Решение указанных вопросов ставит перед теорией музыки новые, непривычные вопросы. Традиционное музыкознание, как правило, ответа на эти вопросы не дает. Уже в самом факте постановки новых задач хочется видеть заслугу проблемы машинного синтеза музыки. Для их решения приходится использовать как результаты традиционного музыкознания, так и методы математического анализа музыки. Иллюстрируем это одним примером.
В тональной музыке весьма распространенным приемом для построения мелодии является метод секвенцирования. Под этим понимается повторение некоторого мотива с известным сдвигом вверх или вниз. Музыковед Л. Мазель в своей работе «О мелодии» высказывает интересные мысли о том, какие секвенции характерны для музыки того или другого стиля. Рассматривались прелюдии и фуги Баха, симфонии Гайдна и произведения Чайковского. Полученные результаты позволяют уточнять тезисы традиционного музыкознания. Кроме того, они могут использоваться при синтезе музыки. Таким образом, математический анализ музыки дает сведения, необходимые для синтеза.
Но и наоборот — результаты синтеза позволяют судить о том, насколько глубоко и успешно был проведен анализ. Тем самым впервые за многовековую историю науки о музыке результаты работы музыковеда смогут проходить экспериментальную проверку. Устраняя замеченные дефекты, мы получим уже лучшую программу синтеза и т. д.
При составлении алгоритма синтеза, как уже говорилось, мы опираемся также на достижения традиционной науки о музыке, в том числе на результаты психологии музыкального творчества. Думается, что проблематика синтеза музыки дает ощутимый импульс для дальнейшего развития этой науки. Ведь машина моделирует — сначала по крайней мере в смысле результата — работу композитора. Значит, успех или неуспех модели позволяет судить о ценности тех приемов, которые были положены в основу построения модели. Если эти приемы оказались успешными, то можно надеяться, что они имеют некоторое отношение к тем процессам, которые совершаются в психике композитора. Тем самым результативное моделирование постепенно перерастает в функциональное моделирование.
То, что сегодня мы еще многого не знаем о работе психики, не должно стать причиной отказа от экспериментов по синтезу музыки. Наоборот, постепенно достигаемые успехи в задаче синтеза могут способствовать исследованию психики, точнее — развитию психологии творчества.
Автор: В. Детловс.