少儿编程

系列

和 Vicky 一起学习 Scratch 系列之十三 | 作曲

前言

上一期,我们学习了随机算法及其在 Scratch 中的使用,同时介绍了Scratch 中计时器的用法,创作一个使用随机和计时器的小游戏。

今天,我们来学习一下在 Scratch 中创作与演奏乐曲的内容,并演奏一首非常好听的乐曲。

好啦,开始吧~

Scratch 中的作曲

还记得吗,我们之前曾经学习过 Scratch 中播放音效和背景音乐的方法,今天我们的主题也是与音乐有关。

不过不同的是,我们今天不是播放现成的乐曲,而是自己来编曲,或对别人的乐曲进行改编。

和画笔类似,Scratch 的音乐功能也是一种扩展程序,我们需要在扩展里把它找到,之后左侧会出现音乐相关的代码块组:

在扩展中选择音乐

音乐代码块组

我们来看几个简单的例子:

打击乐器

拖动 “击打 x y 拍 play drum x for y beats” 到脚本区,我们可以选择随意一种打击乐器,设定拍数后,点击一下就可以发出打击的声音。

同样道理,其他变化音高乐器的演奏是这样的:

普通乐器

这里,我们同样可以选择任意一种乐器,它们进行演奏的方式是这样的:

一般乐器的演奏

我们发现,一般乐器的演奏有两个关键点:

  1. “音符 note”,代表了声音的高低
  2. “节拍 beats”,代表了音符的时间

而我们选择的乐器则是代表这种乐曲所特有的音色。

乐器代码块组中还有关于演奏速度和休止符等其他音乐元素,都很简单,大家可以随意尝试一下。

这是演奏乐曲 “小星星” 的一个简单的示例:

Twinkle, Twinkle, Little Star

Green Slaves 的演奏实现

绿袖子是一首传统的英格兰民谣,十六世纪开始流行于英格兰民间

Wikipedia

在学习了的 Scratch 中音乐的基本用法后,我们来用音乐还原一下古老的英国传统民谣「绿袖子」的一个简单的片段。

首先,看一下这首曲子头两个小节的钢琴谱:

「绿袖子」钢琴谱

我们发现,这首曲子的演奏和刚才的 “小星星” 不太一样。

学过钢琴的小朋友都知道,这个谱子是由旋律和伴奏来组成的 —— 在同一时刻,几个手指可能需要同时按下几个琴键,当然,演奏出来的乐曲也会十分优美动听。

那怎么做呢?

还记得我们之前学过的 “广播” 吗?这里还是利用广播的基本原理 —— 在开始时,发送一个广播,乐曲的几个部分同时开始演奏,最终就变成了合声效果,曲子就演奏出来了。

根据这个思路,我们最终实现了这个小作品。

舞台背景和角色是这样的:

Vicky 挑选的一个非常素净的古典背景

各个角色的脚本是这样的:

标题脚本

点击标题,发出 “play“ 广播,开始演奏。

旋律和伴奏的演奏

接收到消息后,旋律和伴奏的演奏,分成了四个部分来同时执行。

娃爸选择的乐器是风琴。

一个曲谱的小动画

我们还添加了一个曲谱的动画:开始演奏时,曲谱缓慢出现,演奏结束时,曲谱缓慢消失。

我们来看下最终的效果:

这样,我们的作品就完成啦~

今天我们还知道了 3 个单词的含义:

  • play drum 击打
  • beat 节拍
  • note 音符