音律入门

MIDI音符有128个,用0~127来表示,60表示中音C(也就是中音do).

一个音阶包含12个音符,分别用C,C#,D,D#,E,F,F#,G,G#,A,A#,B.

C,D,E,F,G,A,B表示do re mi fa so la xi,即1 2 3 4 5 6 7

音阶:频率为f和频率为2*f的两个音之间的音符构成的点集合叫做音阶.

对于一根长为x的琴弦,它的频率为f.则对于长度为x/2的琴弦,它的频率为2f.琴弦长度跟这根琴弦所发频率成反比.即:常数k0=f*x.

在长度为x的琴弦上,从0到x逐点固定,就会发出频率大于f的所有声音.但人们觉得频率为f的声音和频率为2f,3f,4f......的声音听起来有点像,这其实跟人的视觉是一个道理,人类的感官成像都是闭合的.比如紫光频率很高,人眼看紫光觉得和红光有点接近.这就是颜色闭环.光本没有颜色,光只有频率.颜色只是人眼的感知.光的频率是无限的,可以从0~无数大的频率,而人眼中的颜色是有限的,这就决定了颜色-频率之间的映射是多对一的满射.实际上颜色color=frequency%人眼的颜色长度.实际上,人眼对于光频率的描述,是通过红绿蓝三种感光细胞实现的.正是因为如此,人们才能够利用三原色红绿蓝来表示所有的光.

因为人耳成音闭合原理,人们着重研究一个声音周期,即从f到2f之间的变化,也就是长为x的琴弦到长为x/2的琴弦,琴弦缩短过程中,声音发生了哪些变化.人们对这段f到2f的频率变化研究了很长时间,提出了很多种音律:如五度相生律,十二平均律,完美律,纯律.这些音律就是根据频率给声音起名字,就像根据光的频率对光的颜色起名字一样.

五度相生律:我国的传统音律.它的生成方法叫做'三分损益法'.下面描述三分损益法的原理:宫音为基本音,琴弦长度为1;徵音琴弦长度为2/3,这叫'三分损一';商音琴弦长度为徵音的4/3,这叫'三分益一';羽音琴弦长度为商音的2/3,这又是三分损一;角音琴弦长度为羽音的4/3,又是三分益一.如此反复交替执行'三分损一,三分益一',古人希望最终能够形成一个闭环,但是最后只是一个近似的闭环.'三分损益法'是古代制作乐器的重要依据,它简单易行,明了直观.'宫商角(jue,2声)徵(zhi,三声)羽'称为'五音',那么五音之间频率是怎样的呢?宫音频率为1;徵音弦长2/3,频率为3/2;商音弦长为8/9,频率为9/8;羽音弦长16/27,频率为27/16;角音弦长64/81,频率为81/64.如果在角音后面再来一个音,弦长为128/243,频率为243/128,古人认为这个数字跟2太像了,这样五音就构成了一个循环.实际上,三分损益法的本质就是以3/2为频率公比,在1和2之间进行插值.

x1=1

x2=x1*(3/2)=3/2

x3=x2*(3/2)=9/4,因为9/4>2进入了下一个周期,这样不好,因为频率为f和2f的两个声音等价,故x3=9/8

x4=x3*(3/2)=27/16

x5=x4*(3/2)=81/32,因为此数大于2,进入下一周期,所以折半,x5=81/64

x6=x5*(3/2)=243/128,此数约等于2,古人认为它回到了起点.

可以发现,通过三分损益法反复交替执行'三分损一,三分益一'得到的五音,频率构成公比为3/2的等比数列.数学原理就是:频率与弦长成反比,弦长交替变为原来的2/3和4/3,频率始终变为原来的3/2倍.五音的本质就是在频率1到频率2之间插值构成等比数列,公比为3/2.实际上公比应该是2的1/5才对.但是2的1/5约等于3/2.五音就像一把刻度尺,它不够精细,但也很好用.中国古代许多名曲民歌只用这五个音就唱的婉转动听,回荡百年.五音跟古代的五行有很大关系:

宫,五行属土,其音漫而缓,对应方位为'中',对应季节为'夏秋之交',对应五脏为脾,对应五官为唇.

徵,五行属火,其音雄以明,对应方位为'南',对应季节为夏,对应五脏为心,五官应舌.

商,五行属金,其音促以清,对应方位为'西',对应季节为秋,对应五脏为肺,五官应鼻.

羽,五行属水,其音沉以细,对应方位为'北',对应季节为冬,对应五脏为肾,五官应耳.

角,五行属木,其音呼以长,对应方位为'东',对应季节为春,对应五脏为肝,五官应眼.

三分损益法取的是三分之一点,也就是2/3处,人们发现弦长为2/3的音和弦长为1的音很和谐动听.那么弦长为3/4时呢?人们发现频率4/3跟频率为1的也很和谐,但是和谐程度比不上3/2的频率.于是人们转而求跟3/2频率和谐的音9/4(即9/8)......以上由3/2衍生出6个音加上次和谐的4/3频率音,构成七音.那么弦长为3/5和4/5时呢?比较不和谐,所以以后的音就榜上无名了.

1,do,宫

9/8,re,角

81/64,mi,羽

4/3,fa,变徵

3/2,so,商

27/16,la,徵

243/128,xi,变宫(因为这个音跟2很接近,而2也是宫音,故称变宫)

古人对声音的描述十分形象完美,比如变徵之音显得悲凉,徵音显得肃杀,羽音显得慷慨.在<史记>荆轲刺秦王易水送别时,对于声音的描述十分漂亮.

太子及宾客知其事者,皆白衣冠以送之。 至易水上,既祖,取道。高渐离击筑,荆轲和而歌,为变微之声,士皆垂泪涕泣。
又前而为歌曰:“风萧萧兮易水寒,壮士一去兮不复还!”复为慷慨羽声,士皆瞋目,发尽上指冠。於是荆轲遂就车而去,终已不顾。

不管什么音律,有一点是必要的,即插值构成等比数列.我们要寻找的就是2开x次方,这个x就是在[1,2)之间插入多少个点,也就是一个周期的长度.

上述解释都是让琴弦变短频率变高,实际上也可以进行另一种解释:琴弦变长,频率不断降低,声音越来越沉闷,知道变成次声波,变成频率为0,也就是琴弦太长了,长的都无法震动了.不仅仅局限于琴弦,任何一种柱状发声器,理想状态下都满足频率和长度成反比的规律.

人们认为三分损益法+偷来的两个变音构成的七个音符有点复杂,这对于乐器制作还是有点麻烦,比如羽音81/64,这需要长度64/81的琴弦,这样的琴弦有两种获取方法,方法一分成64份,方法二没法一步到位,必须通过三分损益法不断迭代才能获得.于是人们寻求一种简单方法.由此诞生了'纯律'.

“纯律”的重点是让各个音尽量与主音和谐起来,也就是说让各个音和主音的频率比尽量简单。“纯律”的发明人是古希腊学者塔壬同(今意大利南部的塔兰托城)的亚理斯托森努斯(Aristoxenus of Tarentum)。(东方似乎没有人独立提出“纯律”的概念。)此人是亚理士多德的学生,约生活在公元前3世纪。他的学说的重点就是要靠耳朵,而不是靠数学来主导音乐。他的书籍留下来的只有残篇,不过可以证实的是他提出了所谓“自然音阶”。
自然音阶也有7个音,但和“五度相生律”的7声音阶有不小差别。7个自然音阶的频率分别是:1、9/8、5/4、4/3、3/2、5/3、15/8。确实简单多了吧?也确实好听多了。这么简单的比例,就是“纯律”。

为什么非要在1和2之间插入6个音符呢?因为(3/2)^x=2^y.这里的x就是音符的个数,当x=6时,243/128大约为2.现在的问题就是解决(3/2)^x=2^y.让这个方程尽量成立.这个方程等价于3^m=2^n.这为寻找更合适的插值个数提供了思路.

那么问题来了,求3^m=2^n的最佳解,最佳解的定义是(3^m)/2^n尽量接近1,而不是3^m-2^n尽量接近0.

public static void main(String[] args) {
        int a2[] = new int[30];
        int a3[] = new int[30];
        a2[0] = a3[0] = 1;
        for (int i = 1; i < a2.length; i++) {
            a2[i] = a2[i - 1] * 2;
            a3[i] = a3[i - 1] * 3;
        }
        int j = 0;
        for (int i = 0; i < a2.length; i++) {
            while (a3[j] < a2[i])
                j++;
            if (a3[j] == a2[i]) {
                System.out.println(i + ' ' + j);
                continue;
            }
            double one = (double) a3[j] / a2[i],
                    two = (double) a2[i] / a3[j - 1];
            System.out.printf('%d %d %f
', i, j, one > two ? two : one);
        }
    }

运行结果如下所示

0 0 1 1 1.500000 2 2 1.333333 3 2 1.125000 4 3 1.687500 5 4 1.185185 6 4 1.265625 7 5 1.580247 8 6 1.053498 9 6 1.423828 10 7 1.404664 11 7 1.067871 12 8 1.601807 13 9 1.248590 14 9 1.201355 15 10 1.664787 16 11 1.109858 17 11 1.351524 18 12 1.479811 19 12 1.013643 20 13 1.520465 21 14 1.315387 22 14 1.140349 23 15 1.710523 24 16 1.169233 25 16 1.282892 26 17 1.558977 27 18 1.039318 28 18 1.443254 29 19 1.385758

可见,2^19约等于3^12,也就是我们得到的十二音符就是:

1,(3/2),(3/2)^2,(3/2)^3,...,(3/2)^10,(3/2)^11

(3/2)^12已经非常接近2^7了,就已经相当于另一个周期的开始了.

照此规律,我们计算一下按照三分损益法得到的十二音符频率

public static void main(String[] args) {
        int up = 1, down = 1;
        for (int i = 1; i < 13; i++) {
            up *= 3;
            down *= 2;
            if (up > down * 2) {
                down *= 2;
            }
            System.out.printf('%d %d/%d
',i ,up, down);
        }
    }

得到结果如下

1 3/2 2 9/8 3 27/16 4 81/64 5 243/128 6 729/512 7 2187/2048 8 6561/4096 9 19683/16384 10 59049/32768 11 177147/131072 12 531441/524288

其中第12项约等于1,也就是新的起点.第11项约等于1.3515243530273438,这个数字跟4/3=1.3333很像,而4/3这个音历史悠久,所以第11项就被4/3给代替了.至此,三分损益法衍生出了十二音符.十二音符是五音的细化,是对声音频率更精确的刻画.一切音律都是尺子,五音尺子不够精确,十二音尺子比较精确.十二音音阶用字母表示为C,C#,D,D#,E,F,F#,G,G#,A,A#,B.

能不能把“五度相生律”的12声音阶再往前发展一下呢?可以的。12声音阶的依据就是(3/2)^12≈129.7,和2^7=128很接近,按照这个思路,继续找接近的值就可以了嘛。还有人真地找到了,此人就是我国西汉的著名学者京房(77 BC-47 BC)。他发现(3/2)^53≈2.151×10^9,和2^31≈2.147×10^9也很接近,于是提出了一个53音阶的新音律。要知道古人并没有我们的计算器,计算这样的高次幂问题对他们来说是相当麻烦的。当然,京房的新律并没有流行开,原因就是53个音阶也太麻烦了吧!开始学音乐的时候要记住这么多音符,谁还会有兴趣哦!但是这种努力是值得肯定的,也说明12声音阶也不完美,也确实需要改进。

三分损益法衍生的十二音符弊端在于有两种半音(如果把第11项音符用4/3替换,那就有了3中半音),半音指的是两个相邻音符频率之比,有1.06787109375和1.0534979423868314两中半音.两种半音带来的转调问题难以解决.

转调,转调的意思是将同一段旋律用两种音唱出来,这两种音像是在频率上平移一样.比如,我的声音在低音do到低音mi之间变化,你的声音在中音re到中音fa之间变化.这就相当于我的声音从低音do平移到中音re.在'三分损益法'衍生的十二音符中,因为有两个半音,这就导致无法进行平移,一旦平移人就能明显听出差异来.

明朝皇族世子朱载堉精通音律,长于算数,提出'十二均分律'.既然把声音分成12份,为啥抱着3/2这个公比不松手?为啥不用2开12次方作为公比,那样多均匀.于是十二均分律诞生了.它们公比为2开12次方.

有了12个音符,人们定义两个音符之间的音数之差为音程.2个相邻音符之间的距离成为半音.两个半音构成一个音数.

纯八度: 音数为6的音程称为纯八度.

减八度:音数为5又二分之一的音程称为减八度.

增八度:音数为6又二分之一的音程成为增八度.

按照十二均分律,如何计算某个音符的频率呢?计算一下两音之间的音程,用等比数列计算公式就可以了.人们规定A4(也就是中音C的上行A音)的频率为440Hz.也就是MIDI中的69号音符的频率为440Hz,MIDI中编号为x的音符频率为y=440*2^((x-69)/12)Hz

MIDI音符对照表

C C# D D# E F F# G G# A A# B
0 1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80 81 82 83
84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107
108 109 110 111 112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
(0)

相关推荐

  • 一以贯之地进行乐律计算 乐律分析(附图 视频)

    关于律制,需要界定两个前提: 同一个振动物体的人为变动振动条件产生的系列振动频率数(比如古琴弦.比如笛箫)或者是一系列不同物体产生的振动频率数(比如编钟编磬.比如钢琴风琴). 影响物体振动频率数有三个 ...

  • 基本乐理总结

    大家好,这是我的音乐学习过程中的对乐理的一些理解,分享给大家,希望能够帮助到一些初学者,我也是新手哈,有说的不对的地方还高手指正哦:). 一. 登堂入室 我们就从最基本的概念:音乐,开始讨论,音乐是什 ...

  • 没错,我的音乐是数学老师教的!

    "你的音乐是数学老师教的吧?",这句话似乎充满了调侃的意味,因为数学与音乐,本就不属于同学科.而今天的这位给我们讲音乐课的老师,正是一位数学.物理老师,他将几个学科融合,把感性的音 ...

  • 音律与数学·三分损益法

    关于五音(宫商角徵羽)对应五行之说,中国很早就有表述,部分如下表所示. 东汉以前的典籍所记录之五音 五音又称五声,是最古之音阶,"五声"一词最早出现于<周礼·春官>: ...

  • 厨师长教:“8种翻锅基础手法”,厨师入门硬核翻锅教程,快收藏

    厨师长教:“8种翻锅基础手法”,厨师入门硬核翻锅教程,快收藏

  • C语言标准头的使用,C语言入门教程,你我的好帮手

    每个标准库函数都会被声明在一个或多个标准头(standard header)中.这些标准头也包括了 C 语言标准提供的所有宏和类型的定义. 每个标准头都包含一组相关的函数声明.宏和类型定义.例如,数学 ...

  • 迁移学习——入门简介

    一.简介 背景:现如今数据爆炸: 对机器学习模型来说要求快速构建,强泛化 对于数据来说,大部分数据没有标签 所以收集标签数据和从头开始构建一个模型都是代价高昂的,需要对模型和带有标签的数据进行重用 传 ...

  • 草书如何入门?这里有一些妙招!

    草书是书法中的绝域,许多人将草书视为畏途,历史上草书大家相对较少,连宋代最杰出的行书书法家米芾都在主要止步于行书,在草书上建树甚微,可见草书之难. ▲(宋)米芾<中秋诗帖> 草书之难,除辨 ...

  • 现代中医临床大家奉伯未教你如何处方用药,中医入门基本功!

    中医大家秦伯未漫谈处方用药 处方用药的一般法则如七方.十剂等,同学们都很熟悉,不准备多谈.现在谈我所看到实际工作中存在的一些问题,抱着"知无不言,言无不尽"的态度,可能有批评的地方 ...

  • 最好的中药和药方入门篇!

    中药 叶天士来到病家,只见产妇已奄奄一息,其家人称,薛生白诊断后认为是产妇气血双亏,无力运胎,气血滞行,交骨不开.其处方以气血双补.行滞活血.催生下胎药为主.叶天士接过药方一看,此方甚佳,但难以治此病 ...

  • 48小时学习六爻,从入门到精通。第一章 第五节:古代哲学

    48小时学习六爻,从入门到精通。第一章 第五节:古代哲学

  • 【水彩】新手入门的最好教材,简单又有料

    【水彩】新手入门的最好教材,简单又有料

  • People Analytics入门的5个步骤

    尽管People Analytics是人力资源增长最快的领域,但我仍然经常收到诸如"什么是People Analytics?"和"我们为什么要关心她?"等此类问 ...