创建简单和弦进行的算法 [英] An algorithm to create a simple chord progression

查看:163
本文介绍了创建简单和弦进行的算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm making a program that generates random simple melodies, based an a randomized basic chord progression from the C Major scale.

有什么好方法可以从这个音阶产生4个三和弦的和弦进行?从音阶中生成4个完全随机的三合会(从现有的7个中)通常听起来不太好。

What would be a good way to generate a chord progression of 4 triads from this scale? Generating 4 completely random triads (from the 7 existing ones) from the scale usually doesn't sound very good.

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

I need an approach to generate a chord progression that will sound good or okay, but I don't want to simply choose a progression randomly from an existing pool of progressions. I still want the program to generate these 4 triads by itself, using some simple algorithm to ensure that the generated progression sounds decent.

(正如我所说,这4个三合会会

(As I said, these 4 triads will each be taken from the 7 triads of the C Major scale).

请注意:这个问题与我之前关于创建方法的问题没有重复创造旋律的算法。这是关于找到一种产生和弦进行的方法。产生旋律是另一回事。

感谢您的帮助

编辑:一般指南

推荐答案

听起来像您需要的声音将其分为以下几个阶段:

Sounds like you need to break this into phases:


  • 首先,从此键的所有可能性中随机生成一个三合会

  • 第二,应用一个或多个过滤器以消除那些不听起来不错(*)的过滤器。

  • 继续前进,直到有四个通过所有过滤器的三合会为止。

我认为此解决方案最终也可能会很令人愉快-您可以慢慢建立一个过滤器集合,每个过滤器简单的一件事-但是放在一起,您会逐渐得出定义体面的含义。

I think this solution might end up being pleasant to work on too - you can slowly build up a collection of filters, each which does one simple thing - but put together, you gradually work out what it is that defines "decent".

(*)听起来不错是定义了并参考了先前的三合会(如果有的话) ,在这里您可以编写以下过滤器:

(*) The sounds decent is defined in terms of with reference to the previous triad(s) (if there are any), and this is where you could write filters like:


  • 黑社会的根音是否相对于先前的根音符合逻辑模式?;示例:


  • 简单上升

  • 简单下降

  • 升至三分之二


  • Simple ascending
  • Simple descending
  • Ascending in thirds
  • etc

执行此三元组的音符


  • 这可能会发现一些令人反感的倒置

上一个三合会的跳跃是否小于给定阈值?


  • 避免在整个音阶上产生震荡跳跃

  • 通过将三重奏的MIDI音符值相加并与上一个

这篇关于创建简单和弦进行的算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆