【问题标题】:How to create guitar chord variation?如何创建吉他和弦变化?
【发布时间】:2016-05-07 12:23:00
【问题描述】:

我正在尝试创建吉他和弦应用程序,但单个和弦的和弦图表太多。列出所有内容需要时间并且效率不高。例如,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。

【问题讨论】:

  • 不幸的是,因为指板上的指法不是数学布局的(必须考虑相对于放置的手指长度的偏好),有某种数学方法来计算手指的放置位置将并不总是有效。但是,barcords 可以用数学方法编写。例如,Bb 和 B barcords 的指法是相同的,只是一个比另一个低一品。知道这一点会对您的问题有所帮助,但我相信您会找到比将所有指法都放入字典并查找它们更好的方法。
  • 您的第三个选项无法播放。它应该是 x35553。
  • 从网站复制的。我认为 0 没问题,因为它是键 E。那么,关于创建变化的任何想法?
  • 我没有说它是错误的,我说它无法播放,这是@blahfunk 告诉你的一个很好的例子,因此你不能机械地生成。另一个问题是它给了你两个相邻的 E,这是不好的练习,特别是因为需要和弦符号的人可能不擅长调整乐器。如果您的目标是提供所有可能的变体,您只需要继续从站点复制,但要找到更好的。如果您要为现有音乐添加注释,则只需提供一种变体。

标签: java android guitar


【解决方案1】:

与 cmets 相反,我认为这是可能的。如果你得到了所有的开放和弦形状,比如......

  • 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 来计算这些(其中两个环绕一个八度音阶,但您可以将其用于计算)

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

【讨论】:

  • 转座基和弦的所有转座都可以生成,没有人说过。由于@bblahfunk 的评论中所述的原因,不可能生成基本和弦,例如 OP 的示例,其中一些是不可转置的,例如x32013.
  • 是的,但我认为 OP 的问题是一个和弦的和弦图太多,那是因为他在他的和弦图中包含了可以轻松计算的和弦。在他最初的例子中,他只需要 C 和弦的前两个项目符号
  • 经过几篇阅读,这可能最好用 CAGED 系统来解释。不确定,但看起来像。
【解决方案2】:

你看过《Fret Logic》这本书吗?它显示了吉他指板的数学逻辑。 大多数和弦也有快捷版本,例如在交叉拨弦中经常使用的漂亮 3 弦版本: X X X X 5 5 3 这是A位C和弦的缩短版,但是用的比较多。

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 2011-08-13
    • 2011-06-22
    • 2010-11-05
    • 2019-03-01
    • 2011-12-23
    • 2012-08-28
    • 2018-10-10
    相关资源
    最近更新 更多