除了允许您控制播放哪个音符或触发哪个示例之外,Sonic Pi还提供了一系列选项来制作和控制声音。我们将在本教程中介绍其中的许多内容,并且在帮助系统中有详细的文档。不过,我们现在要介绍是最有用的两个选项:声音增幅和左右声道平移。首先,让我们看看这些选项到底是什么。
Sonic Pi支持合成器选项的概念(以下简称选项)。选项是你传向play
命令的控制,它可以修改和控制你听到的声音。每一个合成器都有自己的一套选项来精确调整它的声音。然而,有一些常见的设置选项是许多声音共有的,如amp:
(增幅)和波封设置选项(将在另一节中介绍)。
选项有两个主要部分, 它们的名称 (控件的名称) 和它们的值 (你想设置到控件上的值)。例如, 您可能有一个名为 cheese:
的选项, 并希望将它的值设置为 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
现在,去享受改变振幅和平移声音的乐趣吧!