首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一种创建简单和弦级数的算法

一种创建简单和弦级数的算法
EN

Stack Overflow用户
提问于 2014-01-15 21:52:03
回答 4查看 2.6K关注 0票数 8

我正在制作一个程序,生成随机的简单旋律,基于C主要音阶的随机基本和弦进展。

怎样才能从这个尺度上产生一个由4个三位一体组成的和弦级数呢?从规模中生成4个完全随机的三合会(从现有的7个)通常听起来不太好。

我需要一种方法来生成一个听起来不错的和弦级数,但我不想简单地从现有的进度池中随机选择一个进展。我仍然希望这个程序自己生成这4个三合会,使用一些简单的算法来确保生成的进展听起来不错。

(正如我刚才所说,这4名黑社会成员将各从C级的7名三合会中抽取)。

请注意:这个问题与我之前提出的关于创建旋律创作算法的方法的问题是不一样的。这一条是关于寻找一种产生和弦级数的方法。生成旋律是一个不同的话题。

谢谢你的帮忙

编辑:一般的指导方针,如何知道一个三合会听起来是否好,旁边的另一个三合会,也将是伟大的。

EN

回答 4

Stack Overflow用户

发布于 2014-01-15 21:59:06

听起来你需要把它分成几个阶段:

  • 首先,从这个密钥的所有可能性中随机生成一个三位一体。
  • 其次,应用一个或多个过滤器来消除那些不“听起来不错”(*)的过滤器。
  • 一直往前走,直到有四个三合会通过所有的过滤器。

我认为这个解决方案可能最终也会令人愉快--你可以慢慢地建立一个过滤器的集合,每个过滤器都可以做一件简单的事情--但把它们放在一起,你就会逐渐弄清楚它是什么定义了“体面”。

(*)声音体面的定义是参照以前的三合会(如果有的话)来定义的,你可以在这里写过滤器,例如:

  • 三位一体的根注释是否与以前的根注释相对应的逻辑模式?;示例:
代码语言:javascript
复制
- Simple ascending
- Simple descending 
- Ascending in thirds
- etc

  • 这个三位一体的音符和以前的三合会至少有一个共同的音符吗?
代码语言:javascript
复制
- this could find some pleasant-sounding inversions

  • 是从以前的三位一体的“跳转”<某些给定的阈值?
代码语言:javascript
复制
- to avoid jarring jumps all over the scale
- simply achieved by summing the MIDI note values of the triad and comparing with previous

票数 3
EN

Stack Overflow用户

发布于 2014-01-15 22:05:10

你可以检查这些文件

基于申克分析和和弦空间的概念音乐生成

弦进的概率模型

但是这个主题就像你想要的那样复杂,例如,让我们说,准确而紧凑地表示音乐信号是大规模基于内容的音乐应用程序的关键组成部分,例如音乐内容管理和几乎重复的音频检测。在本例中,您使用的是C级,如下所示:

代码语言:javascript
复制
C - D - E - F - G - A - B

它有时间间隔

代码语言:javascript
复制
C - STEP - D - STEP - E - HALF STEP - F - STEP - G - STEP - A - STEP - B - HALF STEP - C - 

现在,和弦是由音符之间的距离形成的,例如

代码语言:javascript
复制
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个最佳候选来提高识别精度。

所以你可以研究和弦进展的性质,然后根据探测到的和弦进度计算一个直方图,作为音乐信号的总结。然后,通过一个基于和弦推进的总结,你可以描述音乐信号的和弦、进步性和音调结构。

但是怎么做呢?,你需要音乐数据集(>7万首歌?)所以你可以检索相关信息..。

票数 1
EN

Stack Overflow用户

发布于 2014-04-24 15:14:56

事实上,这是一个很有趣的问题。

我想说的是,这里还有一件事需要考虑和理解:你想说什么(即:表达)与你的和弦进展?我想你想用你的旋律和辅助性和弦的进展来表达“有意义的东西”。

现在,“有意义的东西”并不是一个确切的术语。就我个人而言,我会把这个词描述成一个完整的、完整的、短小的故事。它可以是简短的4个和弦,但它应该告诉一些东西,应该是一个完整的故事。如果我们接受这一点,那么我会说,你的4和弦应该从一开始到最后“领导”,我们应该“感觉”最后的和弦,因为它是一个令人满意的结局(决议)的“故事”。

最难的是,对每个人来说,“满意”、“体面”等词可能意味着完全不同的东西,而对你来说满意的东西也许并不能让另一个人满意。虽然在音乐理论中有一些基本的指导原则(在上面的答案和评论中有链接),但是在几百年的音乐中,伟大的作曲家已经对它们进行了测试,所以我想你应该尝试其中的一些提示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21149004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档