用程序员思维弹吉他:自然音阶在指板上的位置

2018/9/9 posted in  Learning

视频版在这里

抛开具体的琴弦和把位,先看一下手指的组合类型。

如果用 1、2、3、4 分别表示食指、中指、无名指、小指,那么会有 3 种组合来构成一个自然音阶。

这 3 种组合从低音弦到高音弦会以固定的模式循环重复出现。
fringer_patterns

顺序是:

  1. 两个 1-3-4 模型
  2. 一个 1-3 模型
  3. 两个 1-2-4 模型

如此循环重复。

假设从低音弦到高音弦的 3 个模型分别记做:朴敏英、新恒结衣和林志玲,举个例子(横向为琴弦,纵向为品格)

fretboard

从 6 弦开始:
先是两个 1-2-4 模型(6弦和5弦)= 两个林志玲
接着两个 1-3-4 模型(4弦和3弦)= 两个朴敏英
接着一个 1-3 模型(2弦)= 一个新恒结衣
接着回到 1-2-4 模型(1弦)= 一个林志玲

总是按照这个顺序以这 3 种组合模型循环重复。

跨弦音怎么连接?

常规调弦下,从低音弦到高音弦,相邻的两根弦,从 3 弦到 2 弦之间的音程是 3 度,除此之外,其他两根弦之间的音程都是 4 度,所以:

当大二度音跨弦时:

3 弦到 2 弦两个手指之间间隔一个品,其他跨弦间隔都是 2 个品。

当小二度音跨弦时:

3 弦到 2 弦两个手指品位相邻,其他跨弦间隔 1 个品。

所以只需要知道音阶 6 弦上的手指模型,就可以根据循环模式推导出其他 5 根弦的手指位置。记住了这三种手指模型以及循环规律,也就知道了自然音阶在吉他指板上的所有位置。

当我写程序时,我谈些什么

从变化的对象中抽象出不变的模型,然后丢到一个 for loop 中循环执行。

用最小难度的算法达到匹配所有可能性的目的。