999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Excel在音律學(xué)習(xí)方面的應(yīng)用

2020-10-09 10:07:26王維濤
科技風(fēng) 2020年24期

王維濤

摘 要:對(duì)于音樂(lè)愛(ài)好者來(lái)說(shuō),學(xué)習(xí)音律學(xué)的內(nèi)容是件非常有意義的事情,音律的學(xué)習(xí)必須以聲音音響作為基礎(chǔ),轉(zhuǎn)換分析計(jì)算的數(shù)據(jù)為人耳可感知的音高(pitch),從內(nèi)心深處理解不同律制(temperament)的差異。

關(guān)鍵詞:Excel VBA;音律學(xué);律制

微軟辦公軟件Microsoft Office中的Excel,是人們廣為熟知的處理數(shù)據(jù)的工具。我們用這款數(shù)據(jù)處理軟件,計(jì)算生成所需律制的數(shù)據(jù),使用Excel VBA編寫(xiě)代碼,調(diào)用Windows API函數(shù),產(chǎn)生所需律制的音高音響。

音分(cent)是計(jì)量音程(interval)的對(duì)數(shù)單位,以等律(十二平均律Twelve-tone equal temperament)八度(octave)等分為十二個(gè)半音(semitone),每半音為100音分計(jì)。此方法由英國(guó)數(shù)學(xué)家、語(yǔ)言學(xué)家、語(yǔ)音學(xué)家亞歷山大J.埃利斯(Alexander J.Ellis 1814-1890)所倡導(dǎo)使用,埃利斯選擇半音(semitone)的百分之一,為計(jì)量基礎(chǔ)值,即12002,音分值(cent value)是當(dāng)今普遍使用測(cè)量計(jì)算音高和音程的標(biāo)準(zhǔn)方法。

音分值從0至1200,音高頻率從261.6256Hz至523.2513Hz,涵蓋鋼琴小字一組范圍。

我們使用Windows API中的硬件與系統(tǒng)類(lèi)函數(shù)Beep或APIBeep生成簡(jiǎn)單的聲音。在Excel VBA編程調(diào)用Beep或APIBeep函數(shù)聲明如下:

Declare Function Beep Lib "kernel32" Alias "Beep"(ByVal dwFreq As Long,ByVal dwDuration As Long)As Long

參數(shù):dwFreq 聲音頻率(從37Hz到32767Hz)。

dwDuration 聲音的持續(xù)時(shí)間,以毫秒為單位。

我們給出十二平均律C大調(diào)音階示例。

在已打開(kāi)計(jì)算好的音分值與音高頻率的Excel工作簿(sheet1)中,選擇“開(kāi)發(fā)工具”選項(xiàng)卡(可通過(guò)“文件”菜單中“選項(xiàng)”菜單的“自定義功能區(qū)”添加),點(diǎn)擊代碼功能區(qū)的Visual Basic圖標(biāo),打開(kāi)Microsoft Visual Basic for Applications窗口,點(diǎn)擊窗口中“插入”菜單,選擇“模塊”菜單,打開(kāi)代碼窗格,鍵入代碼:

Declare Function APIBeep Lib "kernel32" Alias "Beep"(ByVal dwFreq As Long,ByVal dwDuration As Long)As Long

Public Sub array_get_value()

Dim cent_frequ(1201,2)As Single '數(shù)組

Dim i,j As Integer '循環(huán)變量

Sheets(1).Activate

For i=0 To 1200 '數(shù)組賦值

For j=0 To 1

cent_frequ(i,j)=Sheets(1).Cells(i+1,j+1).Value

Next

Next

APIBeep cent_frequ(0,1),2000 '生成聲音

APIBeep cent_frequ(200,1),2000

APIBeep cent_frequ(400,1),2000

APIBeep cent_frequ(500,1),2000

APIBeep cent_frequ(700,1),2000

APIBeep cent_frequ(900,1),2000

APIBeep cent_frequ(1100,1),2000

APIBeep cent_frequ(1200,1),2000

End Sub切換窗口,在音分值與音高頻率的Excel工作簿(sheet1)中,選擇“開(kāi)發(fā)工具”選項(xiàng)卡,點(diǎn)擊“控件”功能區(qū)“插入”圖標(biāo),添加“按鈕”控件,窗口會(huì)自動(dòng)彈出“指定宏”對(duì)話框,選擇鍵入代碼的子過(guò)程名array_get_value,編輯“按鈕”名稱(chēng)“十二平均律C大調(diào)音階”。

點(diǎn)擊“十二平均律C大調(diào)音階”按鈕可聽(tīng)到每個(gè)音符持續(xù)2秒鐘聲音序列。

代碼中,以讀取音分值與頻率二維表組成的數(shù)組元素發(fā)出音響,使數(shù)組下標(biāo)值與音分值一致,是為方便初學(xué)者修改代碼產(chǎn)生其他律制音響序列,也可以直接使用音分值與頻率二維表單元格數(shù)值,因?yàn)楸碇兄狄?音分值開(kāi)始,所以在引用音分值時(shí),需做加1處理,例如APIBeep Cells(901,2).Value,2000,括號(hào)中的值,為音分值與頻率二維表中的行、列值,901行、2列,對(duì)應(yīng)音分值900,頻率為440Hz的值。鍵入代碼:

Declare Function APIBeep Lib "kernel32" Alias "Beep"(ByVal dwFreq As Long,ByVal dwDuration As Long)As Long

Public Subcell_get_value()

Sheets(1).Activate

APIBeepCells(1,2).Value,2000 '生成聲音

APIBeep Cells(201,2).Value,2000

APIBeep Cells(401,2).Value,2000

APIBeep Cells(501,2).Value,2000

APIBeep Cells(701,2).Value,2000

APIBeep Cells(901,2).Value,2000

APIBeep Cells(1001,2).Value,2000

APIBeep Cells(1201,2).Value,2000

End Sub

可產(chǎn)生相同效果。下面我們做分析,都使用音分值與頻率二維表組成的數(shù)組元素的值。

五度相生律(Pythagorean temperament)由基礎(chǔ)律(音)開(kāi)始,以頻率比3∶2(完美五度)產(chǎn)生新律(音),每律(音)相隔五度的律制。

以音分值與音高頻率表中的0,204,408,498,702,906,1110,1200,音分值可生成五度相生律大調(diào)音階。以音分值與音高頻率表中的0,204,294,498,702,792,996,1200,音分值可生成五度相生律小調(diào)音階。

純律(Pure temperament)由基礎(chǔ)律(音)開(kāi)始,以頻率比3∶2,頻率比5∶4產(chǎn)生新律(音)的律制。

以音分值與音高頻率表中的0,204,386,498,702,884,1088,1200,音分值可生成純律大調(diào)音階。以音分值與音高頻率表中的0,204,316,498,702,814,1018,1200,音分值可生成純律小調(diào)音階。

中庸全音律(Meantone temperament)是在歐洲應(yīng)用數(shù)百年,兼有五度相生律和純律優(yōu)點(diǎn)的律制。

以音分值與音高頻率表中的0,193,386,504,697,890,1083,1200,音分值可生成中庸全音律大調(diào)音階。以音分值與音高頻率表中的0,193,311,504,697,814,1007,1200,音分值可生成中庸全音律小調(diào)音階。

比照前述十二平均律C大調(diào)音階示例,在音分值與音高頻率的Excel工作簿(sheet1)中,選擇“開(kāi)發(fā)工具”選項(xiàng)卡,打開(kāi)Microsoft Visual Basic for Applications窗口,點(diǎn)擊窗口中“插入”菜單,選擇“模塊”菜單,在代碼窗格,鍵入代碼(各律制代碼,可輸入在單模塊中,也可輸入在各自獨(dú)立模塊中;各律制代碼輸入在單模塊中,最好做代碼優(yōu)化,輸入在多模塊中,模塊名稱(chēng),按序號(hào)自動(dòng)增加),切換至“開(kāi)發(fā)工具”選項(xiàng)卡,選擇“控件”功能區(qū)“插入”圖標(biāo),添加“按鈕”控件,在自動(dòng)彈出的“指定宏”對(duì)話框中,選擇鍵入代碼相關(guān)的子過(guò)程名,編輯按鈕名稱(chēng)為對(duì)應(yīng)律制名稱(chēng)。

此方法也可應(yīng)用在民族律制的學(xué)習(xí)中。

參考文獻(xiàn):

[1]繆天瑞.律學(xué)[M].北京:人民音樂(lè)出版社,1996.

[2]王光祈.中國(guó)音樂(lè)史[M].上海:三聯(lián)書(shū)店,2014.

主站蜘蛛池模板: 四虎永久在线精品影院| 国产菊爆视频在线观看| 国产精品免费p区| 日本精品视频一区二区| 久久这里只有精品8| 欧美成人综合视频| 在线高清亚洲精品二区| 久久狠狠色噜噜狠狠狠狠97视色| 国产导航在线| jizz亚洲高清在线观看| 亚洲综合色婷婷| 亚洲免费人成影院| 亚洲中文字幕久久无码精品A| 天天躁狠狠躁| 99热这里只有精品免费国产| 亚洲另类国产欧美一区二区| 黄色网址免费在线| 日本一区二区不卡视频| 午夜小视频在线| 久久先锋资源| 国产乱子伦无码精品小说| 亚洲IV视频免费在线光看| 久久精品娱乐亚洲领先| 欧美精品另类| 黄色网站不卡无码| 国产系列在线| 亚洲高清在线播放| 亚洲综合第一区| 久久成人免费| 国产97色在线| 欧美亚洲一二三区| 91小视频在线| 精品人妻AV区| 一边摸一边做爽的视频17国产 | 91久久国产综合精品| 国产精品女人呻吟在线观看| 69视频国产| 国产成人综合久久| 国产精品无码AⅤ在线观看播放| 国产成人无码AV在线播放动漫| 国产激情无码一区二区三区免费| 亚洲天堂视频网站| 91小视频在线播放| 国产在线视频自拍| 亚洲伊人电影| A级毛片无码久久精品免费| 国产一区二区网站| 久久天天躁狠狠躁夜夜2020一| 久久免费精品琪琪| 婷婷综合缴情亚洲五月伊| 亚洲日韩Av中文字幕无码| 最新精品国偷自产在线| 欧美福利在线观看| 香蕉eeww99国产在线观看| 日韩精品中文字幕一区三区| 伊人久热这里只有精品视频99| 国产一级妓女av网站| 高清亚洲欧美在线看| 久久中文字幕不卡一二区| 伊人狠狠丁香婷婷综合色| 19国产精品麻豆免费观看| 中文国产成人精品久久| 久操中文在线| 亚洲区第一页| 欧美一级黄色影院| 在线中文字幕网| 超清无码熟妇人妻AV在线绿巨人| 欧美成人日韩| 亚洲国产日韩欧美在线| 亚洲精品视频在线观看视频| 在线另类稀缺国产呦| 国产 日韩 欧美 第二页| 性色生活片在线观看| 欧美性猛交一区二区三区| 亚洲国产欧美自拍| 狠狠五月天中文字幕| 在线高清亚洲精品二区| 久久免费看片| 国产成人无码AV在线播放动漫| 欧美成a人片在线观看| 国产在线98福利播放视频免费| 无码国内精品人妻少妇蜜桃视频|