【问题标题】:Looking for evolutionary music example code [closed]寻找进化音乐示例代码 [关闭]
【发布时间】:2010-09-16 22:52:23
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: java genetic-algorithm evolutionary-algorithm jfugue


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。我已经熟悉马尔可夫链。我特别在寻找进化代码,因为我想用它作为你可以用进化算法做什么的例子。我读过很多提到进化音乐的东西,但没有找到任何真实世界的示例代码。
    【解决方案2】:

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

    更新(2010 年 1 月):this online system,它没有源代码,但它是可以实现的示例。我还找到了Grammidity,它允许从语法演变出 MIDI 事件序列。

    更新(2011 年 7 月):我刚刚找到 some relevant Python code on the MIT Open Courseware site

    【讨论】:

      【解决方案3】:

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

      在谷歌上搜索“元胞自动机音乐”可以获得不少点击率。另一个很好的信息来源是Computer Music Journal,如果您可以访问他们的档案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-20
        • 2014-03-28
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多