Вопрос

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

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

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

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

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

РЕДАКТИРОВАТЬ: Я специально ищу эволюционный код, а не другие методы, которые можно было бы использовать для синтеза музыки.

Это было полезно?

Решение 2

Пока что я нашел только этот , который является примером генетического программирования на C.

Обновление (январь 2010 г.): и эта онлайн-система , которая не есть исходный код, но это пример того, что может быть достигнуто. Я также обнаружил Граммидность , который позволяет развивать последовательности событий MIDI из грамматик.

Обновление (июль 2011 г.): я только что нашел некоторый соответствующий код Python на сайте MIT Open Courseware .

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top