你的第一个蜂鸣声

看看下面的代码:

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.3play 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

现在去疯狂制作和享受自己的音乐吧。