我感兴趣的自动音乐制作。我正在思考一个程序,被送大量的1条琶音(=固定长度的序列注意到,为了简单起见),并产生其自己的序列,基于什么教训。

开始,我知道我可以使用的信(图?八卦?) 频率分析, ,只适用于注场,然后成了我的顺序依据的频率。

有没有更高级的算法你知道的,也许明确教于乐的序列?

有帮助吗?

解决方案

在算法组合物中的维基百科文章是一个极好的引物。它描述了一些用于算法的音乐创作,著名作曲家,参考书籍,以及算法作曲软件的机型。

http://en.wikipedia.org/wiki/Algorithmic_composition

其他提示

作为一个音乐家自己和软件工程专业,我htink我在这里可以摆脱一些轻爽:P我已经做了很多工作,关于这个问题我自己,打算使解决此大基于未来的某事<。 / p>

当你写一个算法,你的目标是要拿出一个解决方案 - 脱颖而出例如,在分拣它有一个排序列表的问题。在算法作曲,将溶液(通常)具有一首歌曲,或旋律是愉悦,具有结构等

与溶液(HAH)的问题是,它不仅是目标,但该溶液是大大开放式的。随着排序算法,你只有一个办法来排序列表。随着音乐创作,你有百万首歌曲悦目/ whatevr你的目标。

所以,你需要一种算法,有利于没有找到明确的解决方案,但最优的解决方案。我的建议是遗传算法或类似。遗传算法是伟大的,因为他们可以创造各种最优解池。

您就需要打破组成成件 - 有一个GA旋律,GA的节奏,GA的结构等设计您的健身功能,以满足您的需求。

当然这仅仅是一个解决问题的办法;有许多和之前列出的维基百科链路是一个很好的开始。

我建议检查出: 根杰姆:即兴的爵士乐遗传算法设计交易solos- http://www.it.rit.edu/~jab/GenJam.html

这本书很有启发: http://www.springer.com/计算机/信息+系统/书/ 978-1-84628-599-8

我想另一种有趣的方式将与神经网络....但给他们套woud是一个有点可能是一个问题....这是很多工作。

不管怎么说,在你的企业好运:P

现有导致音乐是统计分析 - 好 - 平均。有很少任何有趣的东西,因为它往往会重现您分析什么的所有常用功能。

音乐是多维的。你可以清楚,分析任何或所有方面,你的兴趣。音高,节奏,音符,调和级数,体积的变化,任何序列。一切。

音乐是微妙和复杂,所以总是有更多的东西来分析。

据我所知(我的儿子是个作曲家)更有趣的是去创造自己的独特的算法生成的音乐那是相当独特的。

下面是一些指定的我的儿子。它产生的,该件是围绕48个音乐事件的序列。

#!/usr/bin/env python
"""
there are 8, 3-note sets.
each one can occur on 3 different beats.
each pitch of the 3 note set can be in one of 3 octaves and it can either be a harmonic or a fingered note.
"""
import random

noteSetChoices = [ "C-E-G", "C-F-A", "C-E-A", "D-F-A", "D-F-B", "D-G-B", "E-G-B", "F-A-C" ]
beatChoices= [ "1 - - -", "- 2 - -", "- - - 4" ]
octaveChoices= [ 1, 2, 3 ]
techniqueChoices= [ 'Fingered', 'Harmonic' ]

for n in range(48):
    note= random.choice(noteSetChoices)
    beat= random.choice(beatChoices)
    octave= random.choice( octaveChoices )
    technique= random.choice( techniqueChoices )
    print octave, note, technique, beat

虽然这一般意味着工作在更长的时间序列于一个酒吧,马尔科夫链是一个简单、有效的方式产生的音乐类似于其输入。例如Python编写使用RTcmix音产生,看看我的执行情况 在这里,.

这是基于关闭马尔科夫链章 注意到从Metalevel, ,一个优秀的文本上算法的组成。

这真的帮助,如果你知道音乐的惯例,所以读取写入教人类如何创作歌曲的书籍和文章。你会得到伟大的想法。

在现在投掷一些踏板点,然后建立张力。使用两个不同的设备之间的呼叫响应的古老技术。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top