8

我想实现一个交互式进化算法来生成音乐(可能只是简单的旋律开始)。

我想为此使用JFugue。它的网站声称它非常适合进化音乐,但我找不到任何进化的例子。

我已经有了一个框架来提供进化机制。我正在寻找的是一些简单的、可工作的代码,这些代码展示了音乐部分的可行方法(例如,适合进化曲调的编码和进化运算符)。

我对如何实现它有一些想法,但我对音乐理论并不是特别了解,所以首先我想重新实现一些已知有效的东西。

那么,是否有人拥有或知道任何免费提供的代码(任何语言都可以)来展示一种或多种进化音乐的方法?

编辑:我专门寻找进化代码而不是其他可用于音乐合成的技术。

4

3 回答 3

1

到目前为止,我只找到了this,这是 C 语言中的一个遗传编程示例。

更新(2010 年 1 月):还有这个在线系统,它没有源代码,但它是可以实现的示例。我还发现了 Grammidity,它允许从语法演变出 MIDI 事件序列。

更新(2011 年 7 月):我刚刚在 MIT 开放课件网站上找到了一些相关的 Python 代码

于 2008-10-15T21:42:12.847 回答
1

您可能想研究马尔可夫链-它们可能比一开始的进化算法对您更有用,因为判断输出的质量以培育出最好的将是一场噩梦(主观和时间-消费),它们非常适合与进化编程相结合。

在Coding Horror上有很好的介绍。这篇文章解释了这个概念并展示了显着的结果,评论更多地提到了音乐(我在评论和他们链接的网站中迷失了几个小时)。在Wikipedia上有一些更具体的细节和进一步阅读。

马尔可夫链对它们具有概率元素,因此您可以将它们与进化编程结合起来——通过进化一种选择除掷骰子之外的替代方案的方法。

于 2008-11-13T16:22:40.357 回答
0

有一些关于使用元胞自动机生成音乐的研究。与所有其他音乐生成一样,这实际上是一个映射而不是生成的问题。你可以使用几乎任何东西作为输入,只要你定义你的映射,让它听起来“好”(我想有趣是一个更好的词)。

谷歌搜索“细胞自动机音乐”给出了相当多的点击率。如果您可以访问他们的档案,另一个很好的信息来源是计算机音乐杂志。

于 2008-10-29T11:25:59.503 回答