Алгоритмы создания музыкальных произведений

Технический прогресс уже выходит за рамки понимаемого и усваиваемого, компьютеры уже не только послушные помощники в разного рода задачах, но и сами подчас выступают как создатели тех или иных «творений». Сочинение музыки представляет собой процесс, с одной стороны, сугубо технологический — организация звуковых пластов, с другой — порой необъяснимого феномена искусства, что и рождает весьма разные оценки в восприятии и понимании у разных слушателей.

В середине ХХ века появились программы, использующие алгоритмический метод построения композиций. Уже в 50-х годах, используя самые первые ЭВМ, ученые делали попытки синтезировать музыку: сочинять мелодию или аранжировать ее искусственными тембрами. Так появилась алгоритмическая музыка, принцип которой был предложен еще в 1206 году Гвидо Марцано, а позднее применен В. А. Моцартом для автоматизации сочинения менуэтов — написание музыки согласно выпадению случайных чисел. Данным направлением занимались: Лейярен Хиллер, Леонард Айзексон., Рудольф Зарипов, Булез и Ксенакис.

На данный момент можно выделить два основных направления в алгоритмической музыке:

· создание с помощью компьютера новых произведений, способных, в некотором смысле конкурировать с произведениями искусства, созданными человеком;

· моделирование известных стилей музыкальных произведений для изучения закономерностей и принципов построения этих произведений, их форм, структур, а также для опытов по восприятию их в психофизиологических исследованиях.

В алгоритмах генерации музыки используются два полярных подхода, основанных на применении детерминированных, либо стохастических процедур. Детерминированные процедуры генерируют музыкальные события (например, ноты), выполняя фиксированные композиционные задачи, не связанные со случайным выбором. Стохастические процедуры генерируют музыкальные события согласно таблицам вероятностей, которые устанавливают вероятность появления этих событий.

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

Постановка задачи алгоритмической композиции была формализована Ю.И. Журавлевым. Дано пространство объектов, множество ответов, пространством оценок. Требуется построить алгоритм. Из алгоритмических операторов, корректирующей операции и решающего правила составляется алгоритмическая композиция. Такой подход применим для распознавания входных данных, но ведь алгоритмы генерации музыки ничего не распознают, а синтезируют новое. Поэтому необходимо свести задачу генерации музыкальных событий (нот) к задаче классификации или распознавания.
Каждый из существующих алгоритмов нацелен на создание цепочки нот определенной длительности и звуковысоты. Но достаточно изменить внутреннюю логику работы алгоритма так, чтобы сгенерированные ноты приходили извне (например, из генераторы случайных нот), а алгоритм давал оценку, смог бы он в текущем состоянии синтезировать ноту, поступившую на вход. Таким образом, задача генерации сводится к задаче распознавания.
На вход алгоритмов подаются пары (нота и длительность) значений, полученные случайным образом. Вводится пространство оценок, которое является признаком подходящих входных данных. Алгоритм формирует пару оценок – оценка ноты и оценка длительности. Для введенного пространства оценок используется корректирующая операция и решающее правило. Правило переводит пространство оценок в множество ответов. Множество ответов разделяет входные данные на два класса: подходящая для мелодии пара (нота, длительность) и неподходящая пара. Таким образом, получается алгоритмическая композиция.

Существующие сегодня огромное количество программ/сред основаны на трех базовых методах: стохастический, некоего фиксированного алгоритма и систем с искусственным интеллектом. Упомянутый уже стохастический метод основан на генерировании произвольных серий звуков либо музыкальных отрывков. Может быть представлен как с применением компьютера, так и без него. Алгоритмический метод представляет собой набор неких алгоритмов, реализующих замысел композитора. Главной особенностью систем, применяющих искусственный интеллект, является способность к обучению. Целью является создание композиций, обладающих чувством, тонкостью и интеллектуальной притягательностью.

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


 

ИИ в поэзии

Цифровая (дигитальная) поэзия – одно из направлений машинного творчества, цель которого – создание стихотворных форм с помощью различного программного обеспечения. В основе, как правило, лежит теория вероятностей и статистика.

Зарождение и развитие цифровой поэзии в мире. Кристиан Цара и Марк Адриан в середине 60-х гг. работали над созданием стихов, представляющих собой коллажи случайных слов. В основе создания стихов с помощью компьютера лежит случайный выбор. С одной стороны, он осуществляется выполнением функции random на определенном массиве значений (поэтому в данном случае принято говорить о псевдо-случайном выборе). С другой стороны, выбор осуществляется из заранее заготовленной базы данных (обычно в памяти компьютера), т.е. ограниченного поля значений. Чем объемнее память, чем объемнее словарь, тем больше объем данных в базе, тем выше степень случайности. Такая случайность, очевидно, количественно детерминирована объемом хранимой информации. Лингвисты и программисты из Кембриджа обратились в своих опытах к японской поэтической традиции хайку. Оператор компьютера вводил (или выбирал) слова, а программа собирала их в трехстишья хаику. Кибернетический контроль подразумевал следование семантической схеме японской поэзии, которую сформулировали и перевели на язык машины ученые. Им также удалось опробовать алгоритмизацию ритмо-фонетических схем поэтического языка, с помощью которой компьютер мог контролировать рифмование фраз в определенном темпе с акцентом на определенное звучание. В данном случае кибернетический контроль функционирует в качестве замены формально-лингвистической структуры поэтического творчества. Образно-содержательная сторона поэзии остается на усмотрение поэта-оператора.

Цифровая поэзия в СССР и Росси. Интерес к объективному изучению стиха и попытки моделирования его синтеза возникли в нашей стране еще в 10-20-годы. Прежде всего, здесь следует назвать знаменитую работу А. А. Маркова (старшего) «Пример статистического исследования над текстом «Евгения Онегина», иллюстрирующий связь испытаний в цепь» (1913 г.). Б. В. Томашевский впервые предпринял описание русских стихотворных размеров с применением математических методов. Несколько раньше в том же ключе велись исследования Андреем Белым. Изучением комбинаторных закономерностей, наблюдаемых на протяжении большого числа стихотворных строк, методами современной теории вероятностей и теории информации занимались А. Н. Колмогоров, М. Л. Гаспаров и др. Все эти и многие другие исследования относятся к докибернетическому периоду интереса, «стихийно» проявляемого поэтами и учёными к структурным методам анализа и синтеза стихосложения. Попытки советских ученых создать машинные литературные произведения приводили к возникновению бессмысленных машинных поэм. Но, несмотря на смысловую бессвязность получаемых произведений, ученым интересен сам процесс генерации слов. Так, советские ученые Бирюков и Гутчин описывали свой эксперимент: несколько сотен слов заимствовалось из сборника стихотворений О.Э. Мандельштама «Камень» и разбивалось на четыре раздела:1. Существительные и местоимения. 2. Прилагательные и притяжательные местоимения. 3. Глаголы. 4. Наречия и существительные с предлогами.

Каждое слово сопровождалось информацией о метре, рифме и грамматике. Далее формировался алгоритм, задававший правила, согласно которым строка стихотворения состояла из одного подлежащего, одного сказуемого, нескольких определений и обстоятельств. В задании машине программист указывал нужное количество строк в каждой строфе, количество слогов в каждой строке, характер рифмовки. На основе полученного задания начинался процесс генерации стихотворного текста. Для иллюстрации полученных результатов в журнале «Моделирование поведения и интеллекта» в 1978 году было опубликовано 21 стихотворение (124 строки), в целом схожие с переводными вариантами зарубежных стихотворений подобного рода. В настоящее время работа с текстом с помощью компьютера - перспективное направление, включающее как создание дигитальной литературы и словарей рифм, так и анализ текста, что позволяет добиться систематизации знаний о языке, психоэмоциональной составляющей литературных произведений. В начале 2000-х на сайте stihi.ru Дмитрием Кравчуком была реализована программа, помогающая в поиске рифм. Специальный скрипт-червь ищет на различных сайтах и "прочитывает" большое количество стихов, превращая их в "стихомассу" - набор идущих подряд строк. Далее внутри этой стихомассы ищутся рифмы - только в соседних строках или строках, следующих через одну. Если количество слогов и гласная в последнем слоге совпадает, то считается, что нашли рифму. Выбранный критерий рифмы дает много осечек из-за того, что не учитываются ударные слоги и некоторые другие аспекты: примерно 10-20% - нерифмующиеся слова. Впрочем, Дмитрий Кравчук, громогласно заявивший о своем создании, не был новатором. Диплом Леонида Каганова, выложенный в Интернете в 1996 году, поясняет алгоритм таких программ. Одна из них, “Стихоплюй”, выдавала новое случайно сгенерированное “стихотворение”, отвечающее правилам рифмы, при каждом нажатии кнопки F9, не требуя больше никакого вмешательства. А позднее Сергеем Тетериным был создан сайт Кибер-Пушкин. Однако, сам Тетерин был разочарован своим детищем – несмотря на вложенные усилия, Кибер-Пушкин писал несвязные стихи с орфографическими ошибками. В настоящее время как в Рунете, так и на зарубежном Интернет-пространстве, можно найти множество сервисов и программ для поиска рифм и стихосложения (например, rifmovnik.ru, на основе Грамматического словаря А.А.Зализняка), но большинство из них обладают ранее перечисленными недостатками. Так же следует учесть, что создание таких программных продуктов для русского языка несколько более трудоёмко, по причине его высокой флективности. Это порождает необходимость большего заполнения базы данных, со всеми возможными формами каждого слова. Вообще, направление цифровой поэзии развито меньше, чем цифровая проза. За рубежом выходят журналы, посвящённые дигитальной литературе (Dichtung Digital). Машинное творчество - уникальный процесс, неотъемлемо следовавший в развитии за электронно-вычислительными машинами. Многие советские ученые внесли огромный вклад в развитие теории машинного творчества, проводя эксперименты и научные исследования. Следует отметить, что полностью автоматического творчества машина не может реализовать самостоятельно, поскольку нуждается в минимальном обучении.