MIDI音符有128個(gè),用0~127來(lái)表示,60表示中音C(也就是中音do). 一個(gè)音階包含12個(gè)音符,分別用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的兩個(gè)音之間的音符構(gòu)成的點(diǎn)集合叫做音階. 對(duì)于一根長(zhǎng)為x的琴弦,它的頻率為f.則對(duì)于長(zhǎng)度為x/2的琴弦,它的頻率為2f.琴弦長(zhǎng)度跟這根琴弦所發(fā)頻率成反比.即:常數(shù)k0=f*x. 在長(zhǎng)度為x的琴弦上,從0到x逐點(diǎn)固定,就會(huì)發(fā)出頻率大于f的所有聲音.但人們覺(jué)得頻率為f的聲音和頻率為2f,3f,4f......的聲音聽(tīng)起來(lái)有點(diǎn)像,這其實(shí)跟人的視覺(jué)是一個(gè)道理,人類的感官成像都是閉合的.比如紫光頻率很高,人眼看紫光覺(jué)得和紅光有點(diǎn)接近.這就是顏色閉環(huán).光本沒(méi)有顏色,光只有頻率.顏色只是人眼的感知.光的頻率是無(wú)限的,可以從0~無(wú)數(shù)大的頻率,而人眼中的顏色是有限的,這就決定了顏色-頻率之間的映射是多對(duì)一的滿射.實(shí)際上顏色color=frequency%人眼的顏色長(zhǎng)度.實(shí)際上,人眼對(duì)于光頻率的描述,是通過(guò)紅綠藍(lán)三種感光細(xì)胞實(shí)現(xiàn)的.正是因?yàn)槿绱?人們才能夠利用三原色紅綠藍(lán)來(lái)表示所有的光. 因?yàn)槿硕梢糸]合原理,人們著重研究一個(gè)聲音周期,即從f到2f之間的變化,也就是長(zhǎng)為x的琴弦到長(zhǎng)為x/2的琴弦,琴弦縮短過(guò)程中,聲音發(fā)生了哪些變化.人們對(duì)這段f到2f的頻率變化研究了很長(zhǎng)時(shí)間,提出了很多種音律:如五度相生律,十二平均律,完美律,純律.這些音律就是根據(jù)頻率給聲音起名字,就像根據(jù)光的頻率對(duì)光的顏色起名字一樣. 五度相生律:我國(guó)的傳統(tǒng)音律.它的生成方法叫做'三分損益法'.下面描述三分損益法的原理:宮音為基本音,琴弦長(zhǎng)度為1;徵音琴弦長(zhǎng)度為2/3,這叫'三分損一';商音琴弦長(zhǎng)度為徵音的4/3,這叫'三分益一';羽音琴弦長(zhǎng)度為商音的2/3,這又是三分損一;角音琴弦長(zhǎng)度為羽音的4/3,又是三分益一.如此反復(fù)交替執(zhí)行'三分損一,三分益一',古人希望最終能夠形成一個(gè)閉環(huán),但是最后只是一個(gè)近似的閉環(huán).'三分損益法'是古代制作樂(lè)器的重要依據(jù),它簡(jiǎn)單易行,明了直觀.'宮商角(jue,2聲)徵(zhi,三聲)羽'稱為'五音',那么五音之間頻率是怎樣的呢?宮音頻率為1;徵音弦長(zhǎng)2/3,頻率為3/2;商音弦長(zhǎng)為8/9,頻率為9/8;羽音弦長(zhǎng)16/27,頻率為27/16;角音弦長(zhǎng)64/81,頻率為81/64.如果在角音后面再來(lái)一個(gè)音,弦長(zhǎng)為128/243,頻率為243/128,古人認(rèn)為這個(gè)數(shù)字跟2太像了,這樣五音就構(gòu)成了一個(gè)循環(huán).實(shí)際上,三分損益法的本質(zhì)就是以3/2為頻率公比,在1和2之間進(jìn)行插值. x1=1 x2=x1*(3/2)=3/2 x3=x2*(3/2)=9/4,因?yàn)?/4>2進(jìn)入了下一個(gè)周期,這樣不好,因?yàn)轭l率為f和2f的兩個(gè)聲音等價(jià),故x3=9/8 x4=x3*(3/2)=27/16 x5=x4*(3/2)=81/32,因?yàn)榇藬?shù)大于2,進(jìn)入下一周期,所以折半,x5=81/64 x6=x5*(3/2)=243/128,此數(shù)約等于2,古人認(rèn)為它回到了起點(diǎn). 可以發(fā)現(xiàn),通過(guò)三分損益法反復(fù)交替執(zhí)行'三分損一,三分益一'得到的五音,頻率構(gòu)成公比為3/2的等比數(shù)列.數(shù)學(xué)原理就是:頻率與弦長(zhǎng)成反比,弦長(zhǎng)交替變?yōu)樵瓉?lái)的2/3和4/3,頻率始終變?yōu)樵瓉?lái)的3/2倍.五音的本質(zhì)就是在頻率1到頻率2之間插值構(gòu)成等比數(shù)列,公比為3/2.實(shí)際上公比應(yīng)該是2的1/5才對(duì).但是2的1/5約等于3/2.五音就像一把刻度尺,它不夠精細(xì),但也很好用.中國(guó)古代許多名曲民歌只用這五個(gè)音就唱的婉轉(zhuǎn)動(dòng)聽(tīng),回蕩百年.五音跟古代的五行有很大關(guān)系: 宮,五行屬土,其音漫而緩,對(duì)應(yīng)方位為'中',對(duì)應(yīng)季節(jié)為'夏秋之交',對(duì)應(yīng)五臟為脾,對(duì)應(yīng)五官為唇. 徵,五行屬火,其音雄以明,對(duì)應(yīng)方位為'南',對(duì)應(yīng)季節(jié)為夏,對(duì)應(yīng)五臟為心,五官應(yīng)舌. 商,五行屬金,其音促以清,對(duì)應(yīng)方位為'西',對(duì)應(yīng)季節(jié)為秋,對(duì)應(yīng)五臟為肺,五官應(yīng)鼻. 羽,五行屬水,其音沉以細(xì),對(duì)應(yīng)方位為'北',對(duì)應(yīng)季節(jié)為冬,對(duì)應(yīng)五臟為腎,五官應(yīng)耳. 角,五行屬木,其音呼以長(zhǎng),對(duì)應(yīng)方位為'東',對(duì)應(yīng)季節(jié)為春,對(duì)應(yīng)五臟為肝,五官應(yīng)眼. 三分損益法取的是三分之一點(diǎn),也就是2/3處,人們發(fā)現(xiàn)弦長(zhǎng)為2/3的音和弦長(zhǎng)為1的音很和諧動(dòng)聽(tīng).那么弦長(zhǎng)為3/4時(shí)呢?人們發(fā)現(xiàn)頻率4/3跟頻率為1的也很和諧,但是和諧程度比不上3/2的頻率.于是人們轉(zhuǎn)而求跟3/2頻率和諧的音9/4(即9/8)......以上由3/2衍生出6個(gè)音加上次和諧的4/3頻率音,構(gòu)成七音.那么弦長(zhǎng)為3/5和4/5時(shí)呢?比較不和諧,所以以后的音就榜上無(wú)名了. 1,do,宮 9/8,re,角 81/64,mi,羽 4/3,fa,變徵 3/2,so,商 27/16,la,徵 243/128,xi,變宮(因?yàn)檫@個(gè)音跟2很接近,而2也是宮音,故稱變宮) 古人對(duì)聲音的描述十分形象完美,比如變徵之音顯得悲涼,徵音顯得肅殺,羽音顯得慷慨.在<史記>荊軻刺秦王易水送別時(shí),對(duì)于聲音的描述十分漂亮. 太子及賓客知其事者,皆白衣冠以送之。
至易水上,既祖,取道。高漸離擊筑,荊軻和而歌,為變微之聲,士皆垂淚涕泣。
又前而為歌曰:“風(fēng)蕭蕭兮易水寒,壯士一去兮不復(fù)還!”復(fù)為慷慨羽聲,士皆瞋目,發(fā)盡上指冠。於是荊軻遂就車而去,終已不顧。 不管什么音律,有一點(diǎn)是必要的,即插值構(gòu)成等比數(shù)列.我們要尋找的就是2開(kāi)x次方,這個(gè)x就是在[1,2)之間插入多少個(gè)點(diǎn),也就是一個(gè)周期的長(zhǎng)度. 上述解釋都是讓琴弦變短頻率變高,實(shí)際上也可以進(jìn)行另一種解釋:琴弦變長(zhǎng),頻率不斷降低,聲音越來(lái)越沉悶,知道變成次聲波,變成頻率為0,也就是琴弦太長(zhǎng)了,長(zhǎng)的都無(wú)法震動(dòng)了.不僅僅局限于琴弦,任何一種柱狀發(fā)聲器,理想狀態(tài)下都滿足頻率和長(zhǎng)度成反比的規(guī)律. 人們認(rèn)為三分損益法+偷來(lái)的兩個(gè)變音構(gòu)成的七個(gè)音符有點(diǎn)復(fù)雜,這對(duì)于樂(lè)器制作還是有點(diǎn)麻煩,比如羽音81/64,這需要長(zhǎng)度64/81的琴弦,這樣的琴弦有兩種獲取方法,方法一分成64份,方法二沒(méi)法一步到位,必須通過(guò)三分損益法不斷迭代才能獲得.于是人們尋求一種簡(jiǎn)單方法.由此誕生了'純律'. “純律”的重點(diǎn)是讓各個(gè)音盡量與主音和諧起來(lái),也就是說(shuō)讓各個(gè)音和主音的頻率比盡量簡(jiǎn)單?!凹兟伞钡陌l(fā)明人是古希臘學(xué)者塔壬同(今意大利南部的塔蘭托城)的亞理斯托森努斯(Aristoxenus of Tarentum)。(東方似乎沒(méi)有人獨(dú)立提出“純律”的概念。)此人是亞理士多德的學(xué)生,約生活在公元前3世紀(jì)。他的學(xué)說(shuō)的重點(diǎn)就是要靠耳朵,而不是靠數(shù)學(xué)來(lái)主導(dǎo)音樂(lè)。他的書(shū)籍留下來(lái)的只有殘篇,不過(guò)可以證實(shí)的是他提出了所謂“自然音階”。 為什么非要在1和2之間插入6個(gè)音符呢?因?yàn)?3/2)^x=2^y.這里的x就是音符的個(gè)數(shù),當(dāng)x=6時(shí),243/128大約為2.現(xiàn)在的問(wèn)題就是解決(3/2)^x=2^y.讓這個(gè)方程盡量成立.這個(gè)方程等價(jià)于3^m=2^n.這為尋找更合適的插值個(gè)數(shù)提供了思路. 那么問(wèn)題來(lái)了,求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); } } 運(yùn)行結(jié)果如下所示 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
可見(jiàn),2^19約等于3^12,也就是我們得到的十二音符就是: 1,(3/2),(3/2)^2,(3/2)^3,...,(3/2)^10,(3/2)^11 (3/2)^12已經(jīng)非常接近2^7了,就已經(jīng)相當(dāng)于另一個(gè)周期的開(kāi)始了. 照此規(guī)律,我們計(jì)算一下按照三分損益法得到的十二音符頻率 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); } } 得到結(jié)果如下 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項(xiàng)約等于1,也就是新的起點(diǎn).第11項(xiàng)約等于1.3515243530273438,這個(gè)數(shù)字跟4/3=1.3333很像,而4/3這個(gè)音歷史悠久,所以第11項(xiàng)就被4/3給代替了.至此,三分損益法衍生出了十二音符.十二音符是五音的細(xì)化,是對(duì)聲音頻率更精確的刻畫(huà).一切音律都是尺子,五音尺子不夠精確,十二音尺子比較精確.十二音音階用字母表示為C,C#,D,D#,E,F,F#,G,G#,A,A#,B. 能不能把“五度相生律”的12聲音階再往前發(fā)展一下呢?可以的。12聲音階的依據(jù)就是(3/2)^12≈129.7,和2^7=128很接近,按照這個(gè)思路,繼續(xù)找接近的值就可以了嘛。還有人真地找到了,此人就是我國(guó)西漢的著名學(xué)者京房(77 BC-47 BC)。他發(fā)現(xiàn)(3/2)^53≈2.151×10^9,和2^31≈2.147×10^9也很接近,于是提出了一個(gè)53音階的新音律。要知道古人并沒(méi)有我們的計(jì)算器,計(jì)算這樣的高次冪問(wèn)題對(duì)他們來(lái)說(shuō)是相當(dāng)麻煩的。當(dāng)然,京房的新律并沒(méi)有流行開(kāi),原因就是53個(gè)音階也太麻煩了吧!開(kāi)始學(xué)音樂(lè)的時(shí)候要記住這么多音符,誰(shuí)還會(huì)有興趣哦!但是這種努力是值得肯定的,也說(shuō)明12聲音階也不完美,也確實(shí)需要改進(jìn)。 三分損益法衍生的十二音符弊端在于有兩種半音(如果把第11項(xiàng)音符用4/3替換,那就有了3中半音),半音指的是兩個(gè)相鄰音符頻率之比,有1.06787109375和1.0534979423868314兩中半音.兩種半音帶來(lái)的轉(zhuǎn)調(diào)問(wèn)題難以解決. 轉(zhuǎn)調(diào),轉(zhuǎn)調(diào)的意思是將同一段旋律用兩種音唱出來(lái),這兩種音像是在頻率上平移一樣.比如,我的聲音在低音do到低音mi之間變化,你的聲音在中音re到中音fa之間變化.這就相當(dāng)于我的聲音從低音do平移到中音re.在'三分損益法'衍生的十二音符中,因?yàn)橛袃蓚€(gè)半音,這就導(dǎo)致無(wú)法進(jìn)行平移,一旦平移人就能明顯聽(tīng)出差異來(lái). 明朝皇族世子朱載堉精通音律,長(zhǎng)于算數(shù),提出'十二均分律'.既然把聲音分成12份,為啥抱著3/2這個(gè)公比不松手?為啥不用2開(kāi)12次方作為公比,那樣多均勻.于是十二均分律誕生了.它們公比為2開(kāi)12次方. 有了12個(gè)音符,人們定義兩個(gè)音符之間的音數(shù)之差為音程.2個(gè)相鄰音符之間的距離成為半音.兩個(gè)半音構(gòu)成一個(gè)音數(shù). 純八度: 音數(shù)為6的音程稱為純八度. 減八度:音數(shù)為5又二分之一的音程稱為減八度. 增八度:音數(shù)為6又二分之一的音程成為增八度. 按照十二均分律,如何計(jì)算某個(gè)音符的頻率呢?計(jì)算一下兩音之間的音程,用等比數(shù)列計(jì)算公式就可以了.人們規(guī)定A4(也就是中音C的上行A音)的頻率為440Hz.也就是MIDI中的69號(hào)音符的頻率為440Hz,MIDI中編號(hào)為x的音符頻率為y=440*2^((x-69)/12)Hz MIDI音符對(duì)照表
|
|