随你控制演奏哪个音符或调出哪个样本,Sonic Pi还提供大量可以制作和控制声音的设置选项。我们会在这个教程里说到许多这里的设置,在帮助系统里每一个设置都有详尽的资料。但是现在我们要介绍其中最有用的两个设置:振幅和声道平衡。首先我们看看传说中的设置到底是些什么。
Sonic Pi沿用合成器的设置选项概念。你通过设置选项修改和控制你听到的声音的各个方面。每个合成器都有它自己的一套有效修饰声音的设置选项,但是众多声音共用着一些设置选择,比如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
的命令。在这个例子里,第一个指定的演奏内容以一半音量进行,第二个回到默认的音量(值为1时的状态):
play 60, amp: 0.5
sleep 0.5
play 65
当然,你可以给不同演奏命令使用不同的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
好嘞,开始愉快地和变换的振幅和声道平衡玩耍吧!