8

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

Для этого я хотел бы использовать JFugue. Его веб-сайт утверждает, что он хорошо подходит для эволюционной музыки, но я не могу найти никаких эволюционных примеров.

У меня уже есть a framework для обеспечения эволюционной техники. То, что я ищу, - это простой, рабочий код, демонстрирующий жизнеспособные подходы к музыкальной части (например, подходящие кодировки и эволюционные операторы для разработанных мелодий).

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

Значит, любой человек имеет или знает какой-либо свободно доступный код (любой язык в порядке) демонстрирует один или несколько подходов к эволюционной музыке?

EDIT: Я специально ищу эволюционный код, а не другие методы, которые могут быть использованы для синтеза музыки.

ответ

1

До сих пор я нашел только this, что генетический пример программирования на C.

Update (январь 2010 г.): И this online system, который не имеет исходный код, но это пример того, что может быть достигнут. Я также нашел Grammidity, что позволяет создавать последовательности MIDI-событий из грамматик.

Обновление (июль 2011): Я только что нашел some relevant Python code on the MIT Open Courseware site.

0

Существует несколько исследований, посвященных использованию Cellular Automata для создания музыки. Как и во всех других поколениях, речь идет скорее о картографии, а не о генерации. Вы можете использовать почти все, что угодно, как ввод, пока вы определяете свое сопоставление, чтобы оно звучало «хорошо» (ну, я думаю, интересное - лучшее слово).

Googling «Cell automata music» дает довольно много хитов. Другим хорошим источником информации является Computer Music Journal, если вы можете получить доступ к своим архивам.

1

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

Есть хорошее введение к ним на Coding Horror. В статье объясняется концепция и демонстрируются замечательные результаты, комментарии упоминают музыку намного больше (я был потерян часами в комментариях и сайтах, на которых они связаны). Есть еще несколько конкретных деталей и дальнейшее чтение на Wikipedia.

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

+0

Спасибо. Я уже знаком с Марковскими цепями. Я специально ищу эволюционный код, поскольку я хочу использовать его в качестве примера того, что вы можете сделать с эволюционными алгоритмами.Я читал много вещей, говорящих об эволюционной музыке, но не нашел кода примера реального мира. – 2008-11-13 20:29:43