鍵盤鋼琴 ( 記錄音符 )
這篇文章會介紹,如何在 Scratch 裡使用擴充功能的音樂、按下鍵盤、清單、重複無限次...等積木,實作鍵盤演奏鋼琴的效果,並可以在彈奏時紀錄音符,然後重新播放演奏的音樂。
積木程式原理
放入「當...鍵被按下」積木,在按下鍵盤 a 鍵的時候,演奏音階 ( 下圖為按下 a 的時候,發出 Do 的聲音 )。
依此類推,將 Do、Re、Mi、Fa、So 五個音符,分別指定到 a、s、d、f 和 g 的按鍵,這時按下指定的鍵盤按鍵,應該就能聽到聲音了 ( 記得切換成「英文」輸入,並開啟喇叭 )。
接著新增一個名為「音樂」的清單,作為紀錄音符使用。
將剛剛按下鍵盤的積木,分別加入「添加...到音樂清單」的積木,輸入和演奏音階相同的數字,按下指定鍵盤時,除了會發出音符的聲音,也會將這個音符記錄到清單裡,然後額外新增一個「當空白鍵被按下」的積木,裡面放入「演奏休息」和添加「0」到清單的積木 ( 演奏休息和 0 表示這個拍子不會發出聲音 ),最後放入點擊綠旗就刪除音樂清單內容的功能。
點擊綠旗,按下對應的鍵盤,在聽到音樂的同時,清單也會記錄彈奏的音符。
完成紀錄的程式之後,接著就是播放的程式:
- 放入「當向右鍵被按下」的積木,設定按下向右鍵時要做的動作。
- 新增一個變數 n 為 0,作為判斷需要重複幾次的變數。
- 放入重複「清單音樂的長度」次數的積木,有幾個音符就會重複幾次。
- 每次重複將 n 增加 1,就能判斷何時停止。
- 放入「演奏音階」積木,在每次重複時,演奏該清單的項目。
- 最後放入等待 0.1 秒的積木,模擬人為彈奏的感覺。
完成後點擊綠旗,就可以開始用鍵盤彈奏,彈奏結束後,按下鍵盤的向右鍵,就能播放自己彈奏的音樂了,除此之外,如果要在電腦中保留音樂,可以在舞台裡,清單視窗的上方按下滑鼠右鍵,將音樂匯出成 txt 檔案,下次再使用匯入就可以重新播放。
範例解答
範例解答:鍵盤鋼琴 ( 記錄音符 )
延伸練習
如果已經熟悉了鍵盤鋼琴 ( 記錄音符 )的原理,還可以嘗試更多好玩的作法:
- 增加多一點鋼琴的音符。( 解答 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~