蜂鳴器

蜂鳴器

請各位學生以過去學過記得的音樂,或用網路上找樂譜或簡譜,製作一段電腦音樂。

以巴哈的小步舞曲為例,或Google搜尋簡譜

樂譜:https://www.8notes.com/scores/2402.asp?ftype=gif

簡譜:https://tw.everyonepiano.com/Number-1115-1-%E5%B0%8F%E6%AD%A5%E8%88%9E%E6%9B%B2-1-Minuet-1%E9%9B%99%E6%89%8B%E7%B0%A1%E8%AD%9C%E9%A0%90%E8%A6%BD1.html

小星星簡譜:http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=640666&blogId=1279


以C大調為例:

唱名:Do Re Mi Fa So La Si

簡譜: 1 2 3 4 5 6 7

蜂鳴器為紅色方框所示。


1.適合當樂譜的音符,自己先定義一拍多少毫秒(1秒=1000毫秒),其他拍子依比例增減。

2.播放聲音後無法停止,需靠下一個指令停止。


上圖和下圖效果是一樣的,都是DO響0.5秒,1秒=1000毫秒(ms),很明顯的,下圖的「等待0.5秒、蜂鳴器(Timer2)在腳位8停止播放音調」,用上圖「時間為500ms直到播完」。


認識節拍器速度

以兩隻老虎的曲子為例,紅色方框裡四分音符=120,代表節拍器一分鐘120下,一分鐘=60秒,每個四分音符所占用的時間為60/120=0.5秒。

樂譜來源:http://www.jianpu.cn/pu/34/347384.htm


將節拍換算成時間

1.建立2個變數,拍速、拍,設定拍數為120。

2.用運算積木,算出每個四分音符的時間,單位為秒。

3.換算成毫秒,1秒-1000毫秒,將整個積木*1000,拉進變數


拉蜂鳴器積木含有時間的積木,再把變數拉進乘法運算,1拍的音符乘以1,2拍的音符乘以2,0.5拍的音符乘以0.5,以此類推。

改變拍速,歌曲有什麼變化?

1.完成以上的自選的曲子,完成1行曲目。

2.小星星、小毛驢:http://blog.ilc.edu.tw/blog/index.php?op=printView&articleId=640666&blogId=1279

以清單儲存頻率和節拍

如果要創造一首歌,如果有500個音符,用上面的做法會有500條,那不是一個有效率的辦法,建立頻率節拍的清單可以用5個積木,取代500個積木,效果一樣,位置在變數的下方。

清單和變數長得很像,請確認是否正確。


設定正確,在舞台會產生兩塊變數


Do Re Mi在音樂課稱為音調,在自然課(高中稱為物理)只是數字,其意義為一秒鐘裡聲波震動的次數。

Do 的頻率為 262

Re 的頻率為 294

Mi 的頻率為 330

以此類推,也可以用變數或清單填入。




請填入小蜜蜂的前2小節。


音調、頻率可以用清單變數填入,就產生有編號的變數。


以手動點擊蜂鳴器積木,觀察變數i的變化,是否歌曲有正常撥放,如果沒有,檢查積木使否有設錯。

如果輸入更多,直到沒有聲音為止再歸零。


清單裡有6個,可以讓迴圈執行6次,或使用
清單頻率的長度代替,就不需要算有多少清單數目。


完整程式如左


如果遇到休止符,頻率設為0,就不執行蜂鳴器,改用等待,原單位為毫秒,需要再除以1000。


完整程式如左

,可以執行有休止符的曲子。


將任一個頻率改成0,聽聽看是否有休止符的效果。


雖然蜂鳴器積木有下拉選單可以選,但是會造成體積過於龐大,有錯不好修改。老師提供一個EXCEL檔,可以換算音調和頻率,可以在EXCEL標示顏色顯示成1個小節,最後再將結果貼入記事本,再匯入清單。


上面檔案下載連結直接點擊會直接開啟Google試算表,如果不習慣使用,可以直接下載成Microsoft Excel,在本機編輯。


此歌譜為小蜜蜂的第一行,按啟用編輯。


先儲存,再編輯文件。


先切換至下方換算表,因版面的關係,將4個8度展開為橫面,其中第2個8度的Do為中央Do。


1.切換到工作表。

2.按音調左下表下拉選單,選到適合的音調。

3.頻率會自動產生,請勿擅自修改。

4.自行輸入節拍,1拍輸入1,2拍輸入2,有附點自行加50%。


1.輸入完後,由下往上選取。

2.複製


存到本機磁碟,新增一個文字檔,用來儲存複製的小蜜蜂頻率。


1.新增小蜜蜂頻率的文字檔

2.按編輯>貼上


1.按檔案>儲存檔案

2.重複以上前3個步驟,新增小蜜蜂節拍的文字檔,



回到小蜜蜂樂譜的程式,先刪除頻率和節拍的清單,再按滑鼠右鍵>匯入


選取小蜜蜂頻率,再按開啟


1.將頻率多餘的空格刪除。

2.節拍的匯入,請重複前兩個步驟,也要刪除多餘的空格。


完整程式如左