除了允许您控制播放哪个音符或触发哪个示例之外,Sonic Pi还提供了一系列选项来制作和控制声音。我们将在本教程中介绍其中的许多内容,并且在帮助系统中有详细的文档。不过,我们现在要介绍是最有用的两个选项:声音增幅和左右声道平移。首先,让我们看看这些选项到底是什么。
Sonic Pi支持合成器选项的概念(以下简称选项)。选项是你传向play
命令的控制,它可以修改和控制你听到的声音。每一个合成器都有自己的一套选项来精确调整它的声音。然而,有一些常见的设置选项是许多声音共有的,如amp:
(增幅)和波封设置选项(将在另一节中介绍)。
Opts have two major parts, their name (the name of the control) and their value (the value you want to set the control at). For example, you might have an opt called cheese:
and want to set it with a value of 1
.
合成器选项通过逗号,
传递给play
调用,紧跟着的是选项的名称,例如amp:
(不要忘记冒号:
),接着是空格和选项的值。举例如下:
play 50, cheese: 1
(请注意这里的cheese:
并不是一个有效的选项,我们只是用它作为一个例子)。
你需要传递多个选项时,可以用逗号分隔:
play 50, cheese: 1, beans: 0.5
选项的顺序是无关紧要的,因此以下内容相同:
play 50, beans: 0.5, cheese: 1
不被合成器识别的选项会被忽略 (就像 cheese
[奶酪] 和 beans
[豌豆], 这显然只是些可笑的选项名称!)
如果你意外地对同一个选项赋予两次不同的值,最后一次赋值将会被应用。下面的例子中,beans:
的值将是2,而不是0.5 :
play 50, beans: 0.5, cheese: 3, eggs: 0.1, beans: 2
Sonic Pi 中的很多东西接受选项的控制,所以你只需花点时间去学习怎么使用它们,就能够设置好!让我们来玩一玩我们的第一个合成器选项:amp:
.
振幅是声音响度的计算机表示。高振幅产生的声音大和低振幅产生的声音小。就像Sonic Pi用数字来表示时间和音符一样,它也用数字来表示振幅。振幅为0就是静音(你什么也听不到),而振幅为1是正常音量。你甚至可以把振幅调到2,10,100。然而,你应该注意,当所有声音的整体振幅变得过高时,Sonic Pi会使用所谓的压缩器来压缩它们,以确保传到你耳朵的声音不会太大。这往往会使声音变得浑浊和奇怪。所以尽量使用低振幅,即在0到0.5的范围内,以避免被压缩。
要改变声音的振幅,你可以使用amp:
选项。例如,赋值0.5,播放的振幅减半:
play 60, amp: 0.5
赋值2,播放的增幅加倍:
play 60, amp: 2
amp:
选项只修改与之关联的play
调用 。因此, 在本例中, 第一个play调用的是音量减半,第二个play则返回到默认音量(1):
play 60, amp: 0.5
sleep 0.5
play 65
当然,你也可以为每一个play的调用,使用不同的amp:
值:
play 50, amp: 0.1
sleep 0.25
play 55, amp: 0.2
sleep 0.25
play 57, amp: 0.4
sleep 0.25
play 62, amp: 1
另一个有趣的选项是pan:
,它控制着立体声声音的平移。向左平移一个声音意味着你将从左边的扬声器中听到它,向右平移意味着你将从右边的扬声器中听到它。对于我们的设定,我们用-1表示完全左声道,0表示中心,1表示完全右声道。当然,我们可以随意使用-1到1之间的任何值来控制声音的精确位置。
让我们从左扬声器中播放蜂鸣声:
play 60, pan: -1
现在,让我们从右扬声器中播放:
play 60, pan: 1
最后,让我们从两扬声器的中心(默认位置)播放出来:
play 60, pan: 0
现在,去享受改变振幅和平移声音的乐趣吧!