java - 如何创建吉他和弦变奏?

标签 java android guitar

我正在尝试创建吉他和弦应用程序,但单个和弦的和弦表太多了。列出所有内容需要时间而且效率不高。例如C大调和弦有如下图的变奏

  • x 3 2 0 1 0
  • x 3 2 0 1 3
  • x 3 5 5 5 0
  • 8 10 10 9 8 8

有没有什么方法可以通过知道/不知道创建和弦的键来生成图表?即,C 大调和弦的 CEG。

最佳答案

与评论相反,我认为这是可能的。如果您获得了所有开放和弦形状,例如..

  • 0 2 2 1 0 0(打开 E)
  • 0 0 2 2 2 0(打开 A)
  • 0 3 2 0 1 0(打开C)
  • X 0 0 2 3 2(打开 D)

然后您可以使用小节和弦将它们向上移动,并且您应该能够编写代码来计算特定和弦的所有排列。例如,如果您想要所有 C 大调三和弦(如您的问题),您知道其中一个是

  • 0 3 2 0 1 0(打开C)

但您也知道其中一个是上面的开放 A 形状,但向上移动了 3 品...

  • 3 3 5 5 5 3(空A作为小节和弦向上移动)

这是你问题中的第三个和弦。您还可以计算将开口 E 形状移动到哪里,这将是...

  • 8 10 10 7 8 8

这又是你问题中的和弦之一。通过这种方式,您可以使用代码计算任何和弦的所有位置 - 前提是您有足够的开放和弦集,可以像这样轻松地向上移动。

因此,使用这些初始开放形状的 C 和弦集将是...

C 和弦...

  • 8 10 10 7 8 8

  • 3 3 5 5 5 3

  • 0 3 2 0 1 0

  • X 10 10 12 14 12

现在,如果您想知道 D 和弦的集合,您实际上可以通过将上面的所有数字加 2 来计算这些和弦(其中两个环绕一个 Octave ,但您可以将其用于计算)

D 和弦...

  • 10 12 12 11 10 10

  • 5 5 7 7 7 5

  • 10 13 12 10 11 10

  • X 0 0 2 3 2

关于java - 如何创建吉他和弦变奏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090073/

相关文章:

java - 测试 Miller Rabin 时出现 Stackoverflow 异常

java - 隐藏滑动抽屉 Handlebars

java - 向矩阵/二维数组添加新列

java - Eclipse 中的 OpenCV 3.0.0 java.lang.UnsatisfiedLinkError

java - 为什么在将事件添加到每个饼图切片后,JavaFX PieChart 标签不显示? (Java 8)

android - 当我尝试设置 fontFamily 属性时,为标签 TextView 找到意外的命名空间前缀 "app"

android - 看似不一致的 OutOfMemory 在不同的 Android 设备上崩溃

python - 寻找吉他弦wav文件

java - 如何在屏幕上显示吉他谱?

dataformat - 吉他谱数据格式