少儿编程Scratch3.0教程——扩展篇(音乐)(文字版)

少儿编程Scratch3.0教程——基础篇中,你已经学完了Scratch中所有的基础积木类型,如果你仔细观察的话就会发现,在自制积木的下面还有一个白色的按钮。



当你点击以后,就会切换到扩展模块窗口,里面有音乐、画笔、视频侦测等等扩展积木类型,使用它们你可以完成一些基础积木类型不能做的事,从而让你的动画和游戏变得更加有趣。



这节课,我将带你认识第一个扩展积木类型,音乐


这篇文章主要分为3个部分:

1、简谱基本乐理知识

2、使用音乐积木

3、利用列表和事件演奏简谱


第一,简谱基本乐理知识


音符


既然要演奏音乐,乐理知识肯定是必不可少的。因为我也没有系统的学习过,所以这节课中,我只会教你有关简谱最基本的乐理知识,看看要如何利用音乐积木来演奏简谱中的歌曲。


说到简谱,你肯定第一反应想到的就是简谱里面的1234567,你上音乐课时,老师肯定过你1234567唱出来分别是DO RE Mi Fa Sol La Si,它们每个还有相对应的音名叫做CDEFGAB。除了1-7以外,还会有数字0,代表休止符,表示音乐演示到0时需要停止,不发出声音。



在Scratch中,通过数字来表示一个音符。当你点击音符的输入框时,下面会出现一个键盘,每个按键表示一个音符,在键盘的上面会显示出它所代表的音名和数字,通过它们你就可以和简谱中的1234567一一对应起来。



一般在简谱的左上角,你会发现有一个1=C 、1=D或者1=别的音名,这是一首歌曲的调号。它表示在简谱的中1所对应的音名,叫做主音。以此为基础,在推导出其他数字所对应的音名。



例如,最常见的就是1=C,也就是上面这张图中所写的那样。当调号为1=C时,简谱中的1234567分别对应的音名是,1=C,2=D,3=E,4=F,5=G,6=A,7=B。


假如,简谱中的调号是1=D的话,那其他的234567对应的是什么?是将上面的这7个英文字母依次向前移动,变成1=D,2=E,3=F,4=G,5=A,6=B,7=C吗?要回答这个问题,你需要先了解乐理中的另外一个知识,音阶。


当你在KTV唱歌时一定会注意到,每首歌的音调高低都不一样,通常副歌之前音调比较低容易唱,到了副歌部分音调可能会急剧升高。例如,KTV中最容易制造车祸现场的一首歌,信乐团的《离歌》(你的脑子里面是不是正在浮现车祸现场的画面)。


每个音符就像是站在一级一级的楼梯上,越往上的音符音调越高。但是和普通的楼梯有一个不同之处,普通的楼梯每个台阶之间的高度是一样的,但是1234567这7个音符之间的高度并不完全一样。假如,我们把正常楼梯的高度叫做全音程,正常楼梯一半的高度叫做半音程。从一个1到下一个1中,3和4之间的高度是半音程,7和1之间的高度是半音程,其余的1和2,2和3,4和5,5和6,6和7之间的高度都是全音程。


在Scratch的键盘上,从左至右,两个按键(包括白键和黑键)之间相差半音程,每个半音程的数字相差1。因此,当1=C(60)时,1和2,2和3之间是全音程,所以2和3都在前一个音符的数字基础上加2,2=D(62),3=E(64)。而3和4之间是半音程,所以4需要在3数字基础上加1,4=F(65)。接着,4和5,5和6,6和7是全音程,数字加2,5=G(67),6=A(69),7=B(71)。最后,7到下一个1是半音程,数字加1,1=C(72)。你会发现,1234567正好全都落在白键上。



键盘上的黑键都比左边的白键升高半音程,这个升用“#”表示;除了左边,它又比右边的白键降低半音程,这个降用“♭”表示。所以,黑键可以表示为左边的音号+#,也可以表示为右边的音号+♭。


例如,第一个黑键可以表示为C#或者D♭。



接下来,回到我们之前的问题,当1=D时,是不是将它们全部向右移动一位呢?答案为,不是。


你可以计算一下,1=D(62),2相隔全音,2=D(64)。3相隔全音,这时因为64和65两个白键之间是半音程,所以还要增加一个半音程,就是65后面的黑键,所以3=F#(66)。4相隔半音,4=G(67)。5和6相隔全音,5=A(69),6=B(71)。最后,7相隔全音,也就是C(72)后面的黑键,7=C#(73)。



怎么样,是不是已经晕了?没关系,你可以去找一些其他介绍乐理知识的视频来学习一下,或者你还可以不去理会简谱中的调号,把所有的歌曲都当做1=C来演奏。


如果你细心的话,肯定会注意到一个问题,上面的音符都是在1234567中循环出现,那不同音阶中相同的音号如何来区分呢?例如,同样都是C,C(60)和C(72)在简谱中怎么区分?


很简单,通过在1234567的上面和下面加点来区分。


当1=C时,C(60)-B(71)就代表1-7,叫做中音。


以中音为基础继续增加音调,就会在1-7的上面加点,例如1-7上面加1个点就代表C(72)-B(83),叫做高音;加2个点就代表C(84)-B(95),叫做倍高音,以此类推。


以中音为基础减小音调就会在1-7的下面加点,例如1-7下面加1个点就代表C(48)-B(59),叫做低音加2个点就代表C(36)-B(47),叫做倍低音,以此类推。



这样,你就可以确定简谱中的每个音符对应到Scratch中应该怎么表示了。


节拍


除了需要确定音符,一首歌曲还有另外一样很重要的东西,节拍。同样的曲子,如果使用了不同的节拍,感受到的效果会完全不同。例如,听邓丽君的歌曲时,你会感觉情意绵绵;听周杰伦的R&B时,你就会跟着摇摆起来。


在简谱的左上角,除了有调号,还会有另外两个东西,速度和拍子。



速度表示一首歌在一分钟之内有多少拍,它在简谱中有不同的表示方式。例如,上图的速度表示一分钟有120拍,有的简谱会用文字直接写出“每秒xx拍”,还有的简谱可能不会写出速度,这时就可以按自己的想法来设置。


在Scratch中,你可以通过将演奏速度设定为...积木来设置速度,一首歌的演奏过程中可能还会有不同的速度,这时就可以利用将演奏速度增加...积木来进行修改。



速度上面的拍子,看上去像是一个分数,分母表示这首歌以几分音符为一拍,例如1/4,2/4,4/4都表示以四分音符为一拍。简谱中的几分音符是通过在1-7的旁边或者下面加横线的方式来表示。


例如,单独的数字表示四分音符,数字后面加1个横线表示二分音符,数字后面加3个横线表示全音符。数字下面加1个横线表示八分音符,数字下面加2个横线表示十六分音符,以此类推。


全音符、二分音符、四分音符、八分音符、十六分音符相互之间是两倍的关系。


例如,以四分音符为1拍,二分音符就是它的2倍,也就是1拍x2=2拍,全音符就是二分音符的2倍,也就是2拍x2=4拍。八分音符就是四分音符的1/2倍,也就是1拍x0.5=0.5拍。十六分音符就是八分音符的1/2倍,也就是0.5拍x0.5=0.25拍。



如果是以八分音符为1拍,四分音符就是1拍x2=2拍,二分音符就是2拍x2=4拍,全音符就是4拍x2=8拍;十六分音符就是1拍x0.5=0.5拍,三十二分音符就是0.5拍x0.5=0.25拍。



数字的后面还可以加附点,每个附点表示前一个音符的一半。例如,还是以四分音符为1拍,5 · 就是1拍+1拍x0.5=1.5拍。如果5后面是两个点,第一个附点表示四分音符的一半,也就是1拍x0.5拍=0.5拍,第二个附点表示第一个附点的一半,也就是0.5拍x0.5=0.25拍,加起来5 ·  · 就是1拍+1拍x0.5+1拍x0.5x0.5=1.75拍。



通过上面这样计算,你就可以知道简谱中的每个音符表示多少拍,然后将拍数填入演奏音符...多少拍积木中。



拍子的分子部分表示这首歌每小节有多少拍,这个在演奏中用不了,可以忽略它。这样一来,你就可以将简谱翻译成对应的数字,使用音乐积木来演奏它。


第二,使用音乐积木


当你在扩展窗口中选中音乐后,就会在自制积木的下面多出一个音乐分类。



音乐分类将声音分成3种类型,第一种是打击类声音,就像架子鼓、木鱼、三角铁这些乐器,它们的音符是固定的。你只需要通过击打...多少拍积木,选择一个乐器,然后设置它的节拍就可以了。



第二种是休止符,它在简谱中用0表示,计算节拍的方式和音符一样。你只需要使用休止多少拍积木,填入你计算出来的拍子数就可以了。



第三种是需要设置音符的声音,例如钢琴、吉他、笛子、萨克斯管等等。你需要先用将乐器设为...积木选择你需要使用的乐器。



接着,再通过演奏音符...多少拍积木设置需要演奏的音符和拍子就可以了。



除此之外,还有前面说过的通过将演奏速度设定为...积木和将演奏速度增加...积木来设置演奏速度。最后还有一个演奏速度的变量,可以查看当前的演奏速度。



接下来,我们就以刚刚的《两只老虎》的简谱为例,看看怎么演奏它。



最开始还是使用点击绿旗事件,接着设置它的速度为120,然后选择用钢琴演奏它。



接下来,就开始利用演奏音符...多少拍积木一个一个设置简谱中的音符。


首先我们来确定简谱中的各个音符对应的数字是多少。因为这首歌的调号是1=C,所以简谱中的1=C(60),5=G(67),头上有一个点的1-6分别是C(72),D(74),E(76),F(77),G(79),A(81)。


接着再来确定简谱中各个音符对应的拍子是多少。因为这首歌是以四分音符为1拍,所以正常的数字就是1拍,数字后面带“-”是二分音符为2拍,数字下面带“-”是八分音符为0.5拍。


仔细观察一下,简谱中一些音符是重复出现的,所以可以利用重复执行积木来减少代码,最终做好的积木块就像这样。




下面就是实际演奏的效果。



如果你不喜欢钢琴,想换成长笛来演奏也很简单,只需要将乐器设为长笛就可以了。




第三,利用列表和事件演奏简谱


假如你想演奏的简谱很长,如果像上面这样一个一个使用演奏音符...多少拍积木堆叠在一起会不会感觉很麻烦。你可以思考一下,有没有什么方法可以将它简化一下?


你的脑子里面有没有想到列表。你可以将《两只老虎》《的音符存入一个列表中,再将拍子存入另外一个列表中,这样就可以循环获取列表中的音符和拍子来演奏了。




上面这种存储音符和拍子的方式,只是最简单直观的一种方式,事实上根据曲子的不同,你还可以利用不同的符号来简化列表里面的内容。你可以动手尝试一下,能不能换另外一种方式来存储《两只老虎》这首歌,再改动积木将它演奏出来。


如果你喜欢的是稍微复杂一些的歌曲,你可能会发现有的简谱中同一个位置会有多个音符。例如,我自己喜欢的一首曲子《卡农》,有的位置就会有2个甚至3个音符。还可能在一首歌中会有多种不同的乐器伴奏。



使用演奏音符...多少拍积木时,他会像声音分类中的播放声音...等待播完积木一样,一个音符一个音符的按顺序演奏,那有什么办法可以同时演奏多个音符呢?有没有想到使用事件积木。


你可以使用多个绿旗事件,同时开始演奏不同的音轨。或者在同一个绿旗事件下面,通过发消息的形式来启动它们。



以上,就是扩展积木中第一个类型,音乐积木的使用方法。有了音乐积木,你就可以在动画和游戏中演奏自己创造的音乐,或者制作一些与音乐相关的游戏。


同样的,如果你在学习过程中遇到问题无法解决,你可以扫码关注我的微信公众号“梦世界”给我留言,我会对你的提问一一进行解答。



Talk is cheap. Show me the code...




如果你看完以上内容,对少儿编程感兴趣,有初中以下想学习编程或者数学思维课的小朋友,欢迎联系。如果你有Web应用系统、手机APP、微信小程序等软件开发需求,也欢迎与我联系。期待能与你共同进步。。。




休息了两周,终于开始连载扩展篇,中间可能还会同时连载针对更小的小朋友学习的ScratchJR。


上周读完《别逗了,费曼先生》认识了费曼这个大顽家,这周因为一个关于北野武的新闻,找来了北野武的自传《北野武的小酒馆》看。


认识北野武还是在高中的一个中午,因为当时我们一些人会留在学校不回家,一天我们班上的大姐打开教室的投影仪,开始放一部日本电影《大逃杀》,北野武在里面饰演老师的角色。因为长相原因,北野武给人的感觉一直像是一个日本黑帮老大,实际上他在大学就从学校辍学,去到浅草成为一个漫才演员,类似中国的对口相声,之后又成为一个电影演员和国际知名导演。


辍学之前,他和其他大部分学生一样,承受着来自父母的期待而活着,直到有一天他突然想要为自己而活。他知道如果自己选择辍学,对父母而言可能比听见他死了还严重,最终他依然选择辍学,从此开始一段不一样的人生。


看到这里不禁回想起自己高中的经历,同样对学习失去兴趣,但是除了读书却不知道自己还能做什么,最终只能继续上学。


在书中他说过这样一句话,“我向往的是那种和现实利益没有半毛钱关系、纯粹为了学问不惜拿自己的生命去冒险的活法。因为我觉得如果能过上这样的生活,我就能切实地体会到我真的在这个世界上活过。”


对你而言,活着又意味着什么???

0条留言

留言