看看下面的代码:
play 70
让我们先从这里开始。行动吧,复制代码,然后点击‘Run’按钮运行一下。。。
真刺激。再点一下,再点一下,再点一下…
哇哦,快疯了,我觉得你可以这样点一天。但是…请等一下,在你沉浸于无尽蜂鸣声中之前,改变一下数字:
play 75
你能听出来不同吗?试一下更低的数字:
play 60
那么,数值越低的数字会制造音高越低的蜂鸣声,而数值越高的数字会制造音高越高的蜂鸣声。就像在钢琴上,在钢琴低一些地方(左手边)的键演奏更低的音,而在钢琴高一些地方(右手边)的键演奏更高的音。
结果就是第四个八度的C用数字60来表示。“play 60”也就因此是演奏第四个八度的C。要弹右边紧接着的钢琴键,你必须往60上加个1然后敲出“play 61”,它在这里是黑键C升。要弹D,即右边一个键,“play 62”。
如果这对你来说难以理解——我一开始也没弄清楚——别担心。现在最重要的是你要知道 低的数字发出的蜂鸣音更低 和 *高的数字发出的蜂鸣音更高 *。
演奏单个音符很有趣吧,但如果能同时演奏多个音符的话,那就更有趣了,试试下面的操作:
play 72
play 75
play 79
棒极了!所以,当你写多个play
的时候,它们都是同时播放的。自己试试吧——哪些数字放在一起听起来不错?哪些听起来糟糕?自己去尝试,去探索,去发现。
所以, 演奏音符与和弦是很有趣的——但是怎么演奏旋律呢?如果你想一个接一个的播放音符, 而不是在同一时间播放呢?那很简单, 你只需在音符之间sleep
一下:
play 72
sleep 1
play 75
sleep 1
play 79
多么可爱的一个琶音。那么sleep 1
中的1
意味着什么呢?这意味着音符的持续时间。它实际上意味着音符持续一个节拍,但现在我们可以把它想象为1秒后停止。那么,如果我们想让琶音快一点呢?我们需要使用较短的睡眠值。比如一半,即0.5
:
play 72
sleep 0.5
play 75
sleep 0.5
play 79
注意它的播放速度变得有多快。现在,请你自己试试,改变一下时间——使用不同的时间和音符。
一件可以尝试的事情是带小数的音符,如play 52.3
和play 52.63
。完全没有必要拘泥于标准的整数音符。玩得开心。
对于那些已经知道一些音乐记谱法的人(如果不知道也不用担心——并不需要你了解它),你可能想用诸如C和F#之类的音符名而不是数字来写一首旋律。Sonic Pi同样为你了提供解决办法。你可以做到以下几点:
play :C
sleep 0.5
play :D
sleep 0.5
play :E
记住把冒号:
放在你的音符前面,使它变成粉红色。此外,可以通过在音符名称之后添加数字来指定八度音阶:
play :C3
sleep 0.5
play :D3
sleep 0.5
play :E4
如果你想让一个音符变为升调,在这个音符名称后面加上一个s
,比如play:Fs3
,如果你想让一个音符变为降调,则加一个b
,比如play :Eb3
。
现在去疯狂制作和享受自己的音乐吧。