我在这里看到了几个关于音乐制作算法的问题。但它们都涉及复杂构图和不同风格和方法的算法。
我正在开发一个程序,用于从 C Major 比例创建简单旋律。我正在设计一个简单的算法,但有点卡住了。
我想知道我正在设计的算法是否是实现此类事情的一个很好的“总体方向”。你怎么看呢?这是一种正确的思考方式,还是你推荐另一种方法?
我目前的方法涉及仅存在16个四分音符的旋律,分为四个小节(这将是无聊的,因为它没有节奏。仅作为开始)。工作原理:
该程序首先将四个三和弦从音阶中随机化 (音阶有7个和弦可供选择)。然后为每个人分配一个和弦 四项措施之一。
之后,程序会为每个小节的第一个音符分配一个四分音符。那 note将是构成和弦的三个音符中的一个 测量。 (随机选择三个中的一个)。
然后,程序会为每个小节的3个剩余插槽分配注释。这些笔记将是前一张纸币的第二张,前一张纸币的第二张,前一张纸币的第三张或下面的第三张。
这产生的旋律不一定听起来不错,但听起来并不特别“坏”。所以从某种意义上说,它“有效”。
但正如我所说,我想知道是否有更好的方法来创建一个简单的旋律制作算法,如果我目前的方法有任何问题(除了缺乏任何节奏多样性,疗程)。
谢谢
答案 0 :(得分:6)
这不是一个糟糕的开始,但请考虑以下批评和建议:
批判:
建议:
你应该从每个小节中只播放所选三元组的音符开始。这将导致更自然的旋律。然后,尝试在这里或那里允许非和弦音符 - 音乐理论的一个“规则”是非弦音应该通过半步接近或者以半步进行。例如,如果给定的测量指定了C大调和弦,则使用非和弦音调的安全序列将是G,G#,E,G(G#是可接受的非弦音,因为前面是半步音)。如果你向上接近非弦音,你应该向下解决,反之亦然;但是你可以在没有遵循的情况下离开。如果您想要找到更多像这样的“规则”,请在Google上搜索非和弦音。你可能会遇到一些相当沉重的音乐理论。另一种简单的方法是注入听起来不错的非弦音,只需将主要和次要的7个音调放入每个小节中
你不应该选择任何旧的随机4三合一,除非你希望你的旋律听起来很实验(读:坏)。正如你所知,最简单,最安全的和弦进行之一是I,IV,V,I;这被称为滋补扩张。这些和弦中的每一个都有一个或多个传统的替代品;例如,V和弦可以用缩小的vii代替,产生I,IV,viiDim,I。你会注意到C大调的V和弦是GBD而vii减少的是BDF - 它们共享两个相同的音符(BD);因此,耳朵通常接受它们作为彼此的替代品。我会伪随机选择基于强力扩张的四个和弦,允许替换I,IV,V,I。
至少,你应该几乎可以肯定在补品上开始旋律,以补品结束,并以倒数第二个音符为主导(第五个音符)。 99%的西方音乐遵循这些“规则”。
我不确定你知道多少音乐理论,但我已经研究了一下,如果你愿意,我会很乐意指出一些更详细的相关观点;不过,我认为我在这里所包含的内容足以让你有一个不错的开始。
答案 1 :(得分:0)
此领域已经进行了大量研究,通常称为算法组合。对wikipedia page有一个合理的概述。根据您是从一组规则合成音乐,还是分析了大量的源材料以生成Markov Models来编码下一个可能性,这些系统被分为几种不同的类型。考虑到之前的注释,请注意。
我建议阅读许多可用的论文,以便更多地了解这个问题。他们中的大多数人会回顾经典着作,Lerdahl和Jackendoff的Generative Theory of Tonal Music