我正在制作一个程序,根据C大调量表的随机基本和弦进程生成随机简单的旋律。
从这个音阶开始产生4个三和弦的和弦进行的好方法是什么?从量表中生成4个完全随机的三元组(来自7个现有的三元组)通常听起来不太好。
我需要一种方法来产生听起来好或好的和弦进程,但我不想简单地从现有的进度池中随机选择一个进程。我仍然希望程序能够自己生成这4个三元组,使用一些简单的算法来确保生成的进程听起来不错。
(正如我所说,这4个三元组将分别取自C大调的7个三元组)。
请注意:此问题与我之前关于创建旋律创建算法的方法的问题不重复。这个是关于找到一种产生和弦进程的方法。生成旋律是一个不同的主题。
感谢您的帮助
编辑:关于如何知道三合会在另一个黑社会旁边是否合适的一般指导方针,也会很棒。
答案 0 :(得分:3)
听起来你需要将其分解为几个阶段:
我认为这个解决方案可能最终也很愉快 - 你可以慢慢建立一个过滤器集合,每个过滤器做一件简单的事情 - 但是放在一起,你逐渐找出定义“体面”的东西
(*)听起来不错是根据定义的,参考之前的三元组(如果有的话),这是你可以的地方写过滤器,如:
三元组的根音是否符合相对于之前根音符的逻辑模式?;示例:
这个黑社会的笔记是否与之前的黑社会至少有一个共同点?
上一个三位一体的“跳跃”是否“低于”某个给定的阈值?
答案 1 :(得分:1)
您可以查看这些文件
Generating Music Using Concepts from Schenkerian Analysis and Chord Spaces
和 A Probabilistic Model for Chord Progressions
但是这个主题很复杂,例如,让我们说音乐信号的准确和紧凑的表示是大规模基于内容的音乐应用程序的关键组成部分,如音乐内容管理和近似重复音频检测。 在这种情况下,您正在使用C大调,如:
C - D - E - F - G - A - B
,其间隔为
C - STEP - D - STEP - E - HALF STEP - F - STEP - G - STEP - A - STEP - B - HALF STEP - C -
现在,音符由音符之间的距离形成,例如
C major chord is formed by C-E-G
D minor chord is formed by D-F-A
E minor chord is formed by E-G-B
F major chord is formed by F-A-C
G major chord is formed by G-B-D
A minor chord is formed by A-C-E
B dim chord is formed by B-D-F
尽管在该领域进行了许多研究工作,但您描述的问题尚未得到很好的解决。因此,例如,看看其他论文,他们建议基于和弦进行的音乐信号的中级总结。因此,基于监督学习模型从音乐信号识别和弦进行,并且通过局部探测n个最佳候选者来提高识别准确度。
因此,您可以调查和弦进行的属性,然后根据探测到的和弦进行计算直方图作为音乐信号的摘要。然后,通过基于和弦进行的总结,您可以描述音乐信号的谐波进展和音调结构。
但是怎么做?,你需要音乐数据集(> 70,000首歌曲),这样你就可以检索相关信息......
答案 2 :(得分:0)
实际上这是一个非常有趣的问题。
我想在这里需要考虑和理解另外一件事:你想和你的和弦进展说什么(即:表达)?我认为你想表达一些有意义的东西"与你的旋律和支持和弦进展。
现在,"有意义的事情"不是一个确切的术语。就个人而言,我会将这个术语描述为一个完整的东西,一个完整的东西,作为一个短篇小说它可以像4和弦一样简短,但它应该讲述一些东西,并且应该加起来完整的故事。如果我们接受这个,那么我会说你的4和弦应该"领先"从开始到结束,我们应该感受到#34;最后的和弦,因为它是"故事的令人满意的结局(决议)"。
困难的部分是,对于每个人来说,满足","体面"等等的术语可能意味着完全不同的东西,什么令你满意也许它不是满足于另一个人。虽然在音乐理论中有一些基本的指导方针(上面在答案和评论中加以说明),这些指南经过数百年音乐的伟大作曲家的测试,所以我想你应该尝试一些这些提示。