1. 案例目的
为 CoCube 机器人编程,实现音乐编程。
2. 使用材料
3. 软件平台
4. 开始编程
CoCube 机器人配备了蜂鸣器,可以通过编程发出不同音调的声音,并调整音调持续时间和间隔时间,完成谱曲和播放:
连接设备:通过有线或者无线方式,连接 MicroBlocks IDE 与 CoCube 机器人。
找到积木:在“音调”积木库中找到“弹奏频率(261)持续(500)毫秒”积木块,并拖拽到工作区。
执行程序:左键单击积木块。当积木块周围亮起绿色光环时,表示程序已成功执行,可以听到 CoCube 机器人蜂鸣器发出声音,0.5秒后停止。
调整音调:更改音调数字和持续时间,发出不同音调的声音。
编曲:这里提供一组中音音符和频率对应关系:Do(523) Re(587) Mi(659) Fa(698) So(784) La(880) Xi(988),也可以自行上网查询对应音符和频率之间的关系。拖动多个积木库并修改每个积木块的频率和持续时间完成编曲。
停止音调:若要使蜂鸣器停止发声,可以使用“停止音调”积木块。直接在积木区中点击“停止音调”积木块,或将“停止音调”积木块拖到工作区并点击,CoCube会立即停止播放声音。
5. 进阶功能
自己搜音符和频率的对照关系,十分繁琐。是否有更简便的方法呢?在MicroBlocks中,提供了两种简便的方法。
5.1 音符
在音乐领域,可以用音符c、d、e、f、g、a、b来表示Do-Re-Mi-Fa-So-La-Ti,升记号(♯)表示将基本音级升高半个音,音阶为0、1、2……则可以表示低音、中音、高音等。
试试看,编写一首《两只老虎》,为了更方便地修改音乐的节奏速度,我们创建一个全局变量beat,放置到每一个弹奏音符积木中。
5.2 MIDI
在MIDI键盘中,MIDI音符编号(MIDI Note Number)与音乐中的音高相对应,主要用于数字音乐制作和乐器之间的通信。
例如,60代表钢琴上中央C,61代表C#,62代表D……
试试看,编写一个音乐特效:
6. 挑战一下
使用CoCube尝试演奏一下《小星星》吧。
参考示例程序: