Я считаю, что Бах в некотором смысле заслуживает титула одного из первых музыкальных программистов (авторов не только код, но и кодов). Его алгоритмы намного сложнее того простого алгоритма, который лежит в основе средневекового многоголосья, но многие из его сочинений можно интерпретировать в математических терминах. Чрезвычайно ясно иллюстрирует это положение «Музыкальное приношение»[76]
, вдохновленное заданием, которое дал Баху Фридрих Великий.Хотя этот прусский король более всего известен своими военными победами, Фридрих Великий всю жизнь был еще и страстным любителем музыки. Несмотря на то что в детстве отец буквально пытался выбить из него столь легкомысленные склонности, Фридрих удачно сочетал в себе воинскую доблесть с поклонением величайшим музыкальным талантам, которых он собирал при своем дворе в Потсдаме. Среди них был и сын Баха Карл Филипп Эмануэль, служивший придворным клавесинистом.
«Музыкальное приношение» появилось в 1747 году в результате посещения шестидесятидвухлетним Бахом сына, который служил тогда при дворе. Дорога была трудной и заняла несколько дней, так что, когда Бах приехал в Потсдам, он надеялся отдохнуть в доме сына. Однако, когда Фридриху принесли список чужестранцев, приехавших в город этим вечером, он взволнованно воскликнул: «Господа, здесь старый Бах!» – и немедленно послал Баху приглашение провести с ним вечер за музицированием. Ему особенно хотелось похвастаться своей новой коллекцией фортепиано. Говорят, что инструменты работы мастера Зильбермана из Фрайберга произвели на него такое впечатление, что он купил все пятнадцать его фортепиано, и они были расставлены по всему дворцу.
Когда Бах получил приглашение из дворца, у него не было времени даже переодеть дорожное платье. Королей не заставляют ждать. Он явился к королю, и они стали переходить из комнаты в комнату, пробуя фортепиано, стоявшие там. Поскольку Фридрих слышал о фантастической способности Баха к импровизации, он сел за инструмент и предложил Баху сочинить пьесу на основе темы, которую король наиграл на своем новом фортепиано.
Это была необычная мелодия. В ней было множество хроматических ходов без какой-либо определенной тональности. Она была невозможно длинной и сложной. Композитор XX века Арнольд Шёнберг даже поражался хитроумности ее построения: она «не допускала ни одной канонической имитации». Другими словами, к ней нельзя было применить ни одно из правил классического контрапункта. Кое-кто предполагал даже, что Фридрих специально разработал эту неразрешимую задачу вместе с сыном Баха. К.Ф.Э. Баху давно надоело жить в тени отца. Он считал его работы старомодными и хотел сочинять музыку нового стиля. Поэтому это задание, возможно, должно было выявить недостатки стиля и метода Баха-отца. Как сказал Шёнберг, они хотели «насладиться беспомощностью жертвы этой тщательно подготовленной ловушки». Если это так, их планы потерпели совершенно феерический крах. Старый Бах сел за фортепиано и тут же сочинил на эту сложную тему потрясающую трехголосную фугу.
Фуга – это более замысловатый вариант канона[77]
, приблизительно такого, какие многие из нас пели в школе. При исполнении канона половина хора начинает исполнять песню, а чуть позже вступает с той же песней другая половина. Особенность хорошо написанного канона в том, что мелодия, смещенная по времени, естественно и гармонично сочетается с исходной. В числе самых очевидных примеров таких канонов – «Горит Лондон» или «Братец Якоб».Здесь работает вполне простой алгоритм очень геометрического свойства. Сначала нужно создать мелодию, которая будет основой канона. Запишем ее на нотном стане. Алгоритм – правило, которое применяется к этим исходным данным для создания пьесы, полной гармонии. Работает этот алгоритм следующим образом: он копирует исходную мелодию и воспроизводит ее, но со сдвигом на несколько тактов вправо. Это приводит к сдвигу по времени. Это немного похоже на меандр, украшающий керамическую вазу: узор копируется и воспроизводится со сдвигом. Как и на вазе, мелодию можно сдвинуть еще раз, создав тем самым третий голос, начинающий исполнять ее после того, как вступили первый и второй голоса.
Если записать алгоритм канона в виде математической формулы, можно обозначить мелодию