笛友劉先生寫(xiě)的頻率音分計(jì)算的文章,對(duì)做笛簫很有指導(dǎo)意義.相信大家看了都會(huì)有收獲,在此我代表笛友們向劉先生致敬,并希望大家也能將自己的體會(huì)寄我,只要是有關(guān)笛簫的,內(nèi)容形式不限.............周林生
音 程 與 數(shù) 學(xué) 運(yùn) 算 劉利華 于廈門
多數(shù)的音樂(lè)愛(ài)好者對(duì)于音高與音程可能只有感性的認(rèn)識(shí),對(duì)于它們的絕對(duì)頻率及頻率之間的數(shù)學(xué)關(guān)系可能知之甚少,,我今天就來(lái)談?wù)勥@個(gè)問(wèn)題,,這是純粹的數(shù)學(xué)運(yùn)算,與笛子無(wú)關(guān),。 一,、十二平均律小二度的比例系數(shù) 音的高低其實(shí)就是頻率的高低,比如b1(小字一組的b調(diào))比a1高,,就是b1的頻率比a1的頻率高,。那么這些音的頻率大小之間在數(shù)學(xué)上有否規(guī)律呢?答案是肯定的,。如果按照小二度的關(guān)系來(lái)排列這些音: ……,a1,bb1(=#a1),b1,c2,#c2,d2,#d2,e2,f2,,…… 按十二平均律,這些音的頻率是等比的,,(十二平均律之外的其它律制,,雖不等比但也有固定的比值),相信大家對(duì)等比的概念比較清楚: 一串有序的數(shù),,后一個(gè)與前一個(gè)的比如果都相同,,此這個(gè)序列就叫等比序列,這個(gè)比就叫公比,。 舉例: 1,,3,9,,27,,81,243,,…… 就是一個(gè)等比數(shù)列,,公比為3。 那么十二平均律中小二度的頻率公比是多少,? 我們知道,,某音的高八度與它自身(舉例:以唱名來(lái)講如高音1與中音1;以音名如a2與a1,c3與c2)的頻率之比為2,,而從a1到a2,恰好經(jīng)過(guò)了十二次的頻率升高,。 假設(shè)a1的頻率為F,,則a2的頻率就是2F,設(shè)小二度頻率公比為k,,則有: F*k^12=2*F 以上*為乘法,,^為乘方,k^12即k的12次方,, 從而k^12=2 因此k等于2開(kāi)12次方,也就是k為2的十二分之一次方,,k=2^(1/12)。 通過(guò)查表或用計(jì)算器可知此k=1.05946309435929……實(shí)際應(yīng)用中取1.06或者1.05946都可,。 易知,,大二度的頻率比就是以上k的二次方,或者2開(kāi)六次方,,即1.122462048,。 通常我們以a1=440Hz(是否“中央標(biāo)準(zhǔn)音”?)作為參考,,按以上公比我們可得到: bb1=466.1638 b1=493.8833 c2=523.2511 d2=587.3295 e2=659.2551 …… 以上各數(shù)作了舍入,,在一般應(yīng)用中我們可以取整,如認(rèn)為b1=494Hz,e2=659Hz,,但在頻率比較低的時(shí)候,,最好多加幾位小數(shù)。 需要說(shuō)明的是十二均律的“平均”是指指數(shù)的平均,,指數(shù)均分為十二份就是1/12,,而不是數(shù)學(xué)的除法平均,即以上音列的頻率關(guān)系是等比而不是等差,。 (等差數(shù)列舉例:2,,4,,6,,8,10,,12,,14,……) 為何取a1=440Hz,?我認(rèn)為是一種約定,,另外還有取a1=442Hz的,二者相差不大,,一般都可接受,。有人發(fā)表長(zhǎng)篇大論說(shuō)442相對(duì)于440的好處,我覺(jué)得不可信,,可能是作者心理作用吧,。
二,、音分的概念與計(jì)算 用小二度來(lái)討論音程,是一種太粗略的方法,,如果不用數(shù)學(xué)上的比例關(guān)系,,還有沒(méi)有更精確的公認(rèn)的音程概念呢?有,,那就是音分,。 “音分”這個(gè)概念,相對(duì)“小二度”,,使用的人更少,,對(duì)于它的具體含義知道的人也就少了。 音分,,也是對(duì)頻率比例(音程)的一種描述方式,,它的精度是“小二度”的百倍。 在小二度的兩個(gè)音之間插入99個(gè)音,,使他們的頻率成等比關(guān)系,,那么相鄰兩音的音程關(guān)系就是相差一音分。 小二度是100音分的關(guān)系,,大二度是200音分的關(guān)系,,八度是1200音分的關(guān)系。 假設(shè)這個(gè)比例是K2,,那么按小二度: K2^100=2^(1/12)=1.05946309435929 按八度: K2^1200=2 都可算得K2為2開(kāi)1200次方,,即 K2=2^(1/1200)=1.00057778950655486 (作了舍入) 實(shí)際應(yīng)用中小數(shù)位可不取這么多。
這里再次強(qiáng)調(diào),,音程的數(shù)學(xué)表現(xiàn)是比例關(guān)系而非加減關(guān)系,,所以2音分差別不是1音分差別的兩倍,而是用以上比例系數(shù)再乘一次,。
三,、兩音音高差(按音分)的計(jì)算 我們知道了音分的概念,那么可否知道兩音之間的差多少音分,?如a1=440與a1=442,,這二者相差多少音分呢? 用一個(gè)最笨的辦法,,就是用440乘以1.00057779,,看要乘多少次可以達(dá)到442,以下列出各次運(yùn)算得到的值(近似到小數(shù)點(diǎn)后四位): 440.2542 440.5086 440.7631 441.0178 441.2726 441.5276 441.7827 442.0379 我們看到,,七次運(yùn)算后結(jié)果比442低,,八次則高,而八次運(yùn)算后最接近,那么我們可知442Hz比440Hz約高八音分,,但不到八音分,。 有沒(méi)有更好的方法算出更準(zhǔn)確的音高差別呢?當(dāng)然有,。 上面從440起一次次地乘以1.00057779,,算到442.0379,其實(shí)相當(dāng)于一種指數(shù)運(yùn)算,,現(xiàn)在我們不乘,,而要求出從440經(jīng)幾次這樣的運(yùn)算得到442.0379,這就是指數(shù)的反運(yùn)算——對(duì)數(shù)運(yùn)算,。 舉例說(shuō)明:求2的3次方,,這就是指數(shù)運(yùn)算,結(jié)果是2^3=8,;反過(guò)來(lái),,2的多少次方等于8?就要用到對(duì)數(shù)運(yùn)算log(2,8)=3,。 求音分?jǐn)?shù)的運(yùn)算方法為: 1,、求出兩個(gè)音的頻率之比假定為R; 2,、求以2為底的R的對(duì)數(shù)L(八度音程頻率之比為2),; 3、此對(duì)數(shù)乘以1200(因1200音分為八度音程),,得到相差的音分?jǐn)?shù)D,。 現(xiàn)在我們?cè)俅伟创朔▉?lái)求442Hz與440Hz的音程關(guān)系。 第一步:R=442/440=1.00454545454545(后面是“45”的循環(huán)) 第二步:求對(duì)數(shù)L=log(2,1.00454545455)=0.006542845866772 第三步:D=0.006542845866772*1200=7.851415 這樣我們知道了442Hz比440Hz約高7.85音分,。
再舉例:已知在常溫下氣溫每升高一度,,空氣中聲音速度增加0.61米/秒,求常溫下空氣溫度每升高一度,,笛子頻率升高幾音分,? 這里我用兩個(gè)不同的空氣中聲音速度來(lái)計(jì)算,說(shuō)明不同氣溫下升高的音分是不同的,。 分析:笛子頻率與管長(zhǎng)成反比,,與空氣中的聲音速度成正比,,在這個(gè)升高一度的過(guò)程中,,笛子管長(zhǎng)可以近似為不變(其實(shí)是增長(zhǎng),會(huì)抑制其頻率的增高),,那么剩下的只有速度的變化,,那么前后音高變化的比其實(shí)就是兩次速度的比。 當(dāng)空氣中聲音速度為334.4米/秒時(shí),升高一度后速度變?yōu)?35.01米/秒,,按以上過(guò)程求解: R=335.01/334.4=1.0018242 L=log(2,1.0018242)=0.002629313 D=0.002629313*1200=3.1552 空氣中聲音速度為340米/秒時(shí): R=340.61/340=1.00179411765 L=log(2,1.00179411765)=0.002586 D=0.002586*1200=3.1033 我們可以看出,,在兩種速度下,增加的音分?jǐn)?shù)有細(xì)微差別,,但這與大家聽(tīng)說(shuō)的“氣溫每升高一攝氏度,,笛子頻率升高約三音分”的論點(diǎn)是一致的。 [思考]:某個(gè)氣溫下,,空氣中聲音速度為334.4米/秒,,氣溫升高10攝氏度,求笛子頻率平均每攝氏度升高了多少音分,? 提示:先求得總的升高多少音分,,再求平均。
四,、如何用“計(jì)算器”程序?qū)崿F(xiàn)以上計(jì)算,? 各位朋友看了我的演算可能會(huì)問(wèn)如何我的運(yùn)算保留那么多的有效位數(shù),難道不怕后面的數(shù)字是不精確的嗎,? 我可以負(fù)責(zé)任地告訴大家,,那些數(shù)字是精確的,因?yàn)槲沂褂昧擞?jì)算機(jī)中的“計(jì)算器”程序,,如果手邊有常用對(duì)數(shù)表等,,查到的結(jié)果不會(huì)有這么精確。 我來(lái)講講“計(jì)算器”程序的用法: 首先,,從電腦的菜單打開(kāi)計(jì)算器程序: “開(kāi)始”\“程序”\“附件”\“計(jì)算器” 您看到的“計(jì)算器”可能只是標(biāo)準(zhǔn)型,,只有加、減,、乘,、除等常用運(yùn)算,沒(méi)有指數(shù),、對(duì)數(shù)運(yùn)算,,沒(méi)關(guān)系,在“查看”菜單中選取“科學(xué)型”,,就得到我們要的工作平臺(tái)了,。 請(qǐng)注意我們用的是十進(jìn)制,在運(yùn)算前先檢查是否選擇的是“十進(jìn)制”,。 這個(gè)計(jì)算器的對(duì)數(shù)運(yùn)算有兩種,,一種是以e為底的自然對(duì)數(shù),就是按鈕中的第二行第四列的“ln”,;另一個(gè)是以10為底的常用對(duì)數(shù),,就是第三行第四列的“log”,,在“ln”下面。 舉例說(shuō)明對(duì)數(shù)的操作,,我們知道100是10的2次方,,我們?nèi)绾卧谟?jì)算機(jī)上求得呢?我們先用鼠標(biāo)點(diǎn)出100,,然后再用鼠標(biāo)點(diǎn)一下“log”按鈕,,2馬上出來(lái)了。 細(xì)心的讀者馬上會(huì)問(wèn)我一個(gè)問(wèn)題:這計(jì)算器上的兩個(gè)對(duì)數(shù)分別以10和e為底,,而我們要求的是以2為底的對(duì)數(shù)呀,? 在數(shù)學(xué)上有以下公式: log(A,B)=log(C,B)/log(C,A) 即要求以A為底B的對(duì)數(shù),我們引入第三個(gè)數(shù)C,,分別對(duì)B及A取對(duì)數(shù),,相除即得結(jié)果。我們不要去證明,,但可小做驗(yàn)證,,觀察以下等試是否成立? log(3,81)=log(9,81)/log(9,3) …………4=2/0.5 log(4,16)=log(2,16)/log(2,4) …………2=4/2 顯然是成立的,。 那么我們就可以把以2為底的對(duì)數(shù)運(yùn)算轉(zhuǎn)到自然對(duì)數(shù)或常用對(duì)數(shù)的計(jì)算,,如我們要求以2我底1.059463的對(duì)數(shù),可以先求得以10為底1.059463的對(duì)數(shù),,再除以以10為底2的對(duì)數(shù)即可,。 舉例:在“計(jì)算器”上演示求442Hz與440Hz音高差的過(guò)程。 1,、按照上面第三部分的方法,,先求出頻率比: 用鼠標(biāo)點(diǎn)出442,點(diǎn)“/”按鈕,,再用鼠標(biāo)點(diǎn)出440,,然后點(diǎn)一下“=”按鈕(注意“=”不要點(diǎn)兩次或更多次,否則為連除440),,比例就出來(lái)了,,顯示為1.0045454545454545454545455 2、現(xiàn)在要求它以2為底的對(duì)數(shù),,我們化為求以10為底的對(duì)數(shù),。 點(diǎn)“log”按鈕(不要點(diǎn)多次),屏幕顯示結(jié)果 0.0019695928629…… 點(diǎn)“/”按鈕,,表示除以,; 點(diǎn)“2”,點(diǎn)“log”,; 這里對(duì)數(shù)運(yùn)算優(yōu)先于除法運(yùn)算,,因此沒(méi)有加括號(hào),。 這時(shí)可以點(diǎn)一下“=”把這個(gè)對(duì)數(shù)log(2,1.00454545454545454545)算出來(lái),,也可不點(diǎn),; 3、乘以1200,,得到音分 點(diǎn)“*”,,這時(shí)看到了對(duì)數(shù)運(yùn)算的結(jié)果 0.00654284586677……,事實(shí)上如果上一步中點(diǎn)了那個(gè)“=”,,那么這個(gè)結(jié)果在上一步結(jié)束時(shí)就看到了,。 點(diǎn)出數(shù)值1200; 點(diǎn)“=”號(hào),,得到7.851415040126…… 至此一個(gè)完整求解過(guò)程結(jié)束,,如果上述過(guò)程中“log”按鈕都換成“ln”按鈕,最后的結(jié)果也是一樣的,,科學(xué)的嚴(yán)謹(jǐn)性之一在于它能自圓其說(shuō),,互相印證。
五,、降低多少音分的計(jì)算 其實(shí),,降低多少音分的運(yùn)算就可按升高多少音分的運(yùn)算來(lái)求得,如要求440Hz是在442Hz的基礎(chǔ)上降低了多少音分,,因?yàn)槿缟侠?42Hz是在440Hz的基礎(chǔ)上約升高了7.85音分,,那么我就可以說(shuō)440Hz是在442Hz的基礎(chǔ)上降低了7.85音分。 如果非得要我不用升的方法來(lái)計(jì)算,,那么我用下面的計(jì)算來(lái)再次說(shuō)明科學(xué)的理論是“互相印證”的道理: 按以上三步曲,,不過(guò)這次的第一步的除法倒過(guò)來(lái),用440除以442 1,、R=440/442 = 0.995475113…… 2,、L=log(2,0.995475113)=-0.00654284586677…… 3、D=-0.00654284586677*1200=-7.851415 其實(shí)到第二步您就看出來(lái)了,,它與上一個(gè)例子的數(shù)值絕對(duì)值是相同的,,只是符號(hào)為負(fù)而已,那么到第三步也必然是兩次絕對(duì)值一樣,,只是符號(hào)不一,,結(jié)果約為負(fù)7.85,表示音高“降低”了約7.85音分。
最后,,再次強(qiáng)調(diào)音程的關(guān)系是比例關(guān)系,,而不是加減關(guān)系,如果有人說(shuō)他能區(qū)分10Hz的頻率差,,您應(yīng)當(dāng)知道這人不懂什么(如果他說(shuō)在哪個(gè)頻率上能聽(tīng)到多少赫茲的差別,,那又是另一回事),,因?yàn)樵?00Hz時(shí)10Hz的差別接近于一個(gè)大二度,1000Hz時(shí)升高10Hz,,約升高了17音分,,而5000Hz升高到5010Hz,則升高了3.459音分,,恭喜了,,厲害,“金耳朵”,!10000Hz時(shí),,升高1.73音分,可能嗎,?
思考:如果六孔笛的各音音高符合“三分損益”的原則,,以第三孔做基準(zhǔn),其它各音孔的音高與符合“十二平均律”的笛子(哈哈,,不可能有笛子完全符合十二平均律,,符合的笛子就是“音高誤差0音分”的笛子)相對(duì)應(yīng)的音孔的音高各相差多少音分?(要回答此問(wèn)題,,首先要知道什么是“三分損益”,,還是自己去查資料吧。)
|