Будучи сам музыкантом и Software Engineering майор, я htink я могу пролить некоторый свет прохладный здесь: P Я сделал много работы по этому вопросу сам и планируют сделать что-то большое, основанное вокруг это в будущем.
Когда вы пишете алгоритм, ваша цель состоит в том, чтобы придумать пример решения, при сортировке проблем он должен иметь отсортированный список. В алгоритмической музыкальной композиции решение (обычно) состоит в том, чтобы иметь песню или мелодию, которая нравится, имеет структуру и т. Д.
Проблема с решением (hah) заключается в том, что это не только объективно, но и решение полностью открыто. С алгоритмом сортировки у вас есть только один способ сортировки списка. С музыкальной композицией у вас есть миллионы приятных песен/whatevr, ваша цель.
Таким образом, вам понадобится алгоритм, который хорош для того, чтобы не найти окончательные решения, а решения OPTIMAL. Мое предложение - генетический алгоритм или аналогичный. Генетические алгоритмы велики, потому что они могут создать пул различных оптимальных решений.
Вам необходимо сломать композицию на части - иметь GA для мелодии, GA для ритма, GA для структуры и т. Д. И сконструировать свою функцию фитнеса в соответствии с вашими потребностями.
Конечно, это только одно решение проблемы; есть много, и ссылка на wikipedia, перечисленная выше, - отличный старт.
Я рекомендую проверить: Дженджам: импровизационный джаз генетический алгоритм предназначен для торговли solos- http://www.it.rit.edu/~jab/GenJam.html
И эта книга очень поучительно: http://www.springer.com/computer/information+systems/book/978-1-84628-599-8
Я полагаю, еще один интересный способ будет с невральной сетей .... но предоставление им наборов будет немного проблемой, вероятно .... это намного больше работы.
В любом случае, удачи в ваших предприятиях: P
Различные фрактальные и сортировочные алгоритмы имеют тенденцию звучать музыкально. – Quickredfox