部分样本

这一节我们将结束对Sonic Pi’样本播放器的探索。让我们快速回顾一下。到目前为止,我们已经了解了如何触发样本:

sample :loop_amen

然后我们研究了如何改变样本的速率,比如以半速播放:

sample :loop_amen, rate: 0.5

接下来,我们看看如何淡入一个样本(我们以半速来做):

样本:loop_amen,速率:0.5,起音:1

我们还研究了如何通过给出一个显式的“延音”值并将起音和释音设置为短值,来打击振动地使用样本的开始:

样本:loop_amen,速率:2,起音:0.01,延音:0,释音:0.35

但是,如果我们能不用总是从样本的开始来作为开端,不会很好吗?如果我们能不必总是在样本的末尾结束,那岂不也很好?

选择起点

可以在样本中选择0到1之间的任意起点,其中0是样本的起点,1是终点,0.5是样本的一半。我们来试着只打amen的后半段:

样本:loop_amen,起始值:0.5

关于最后1 / 4的样本:

样本:loop_amen,起始值:0.75

选择终点

类似地,也可以在样本中选择0到1之间的任意结束点。让我们完成amen突破一半:

样本:loop_amen,结束:0.5

指定开始和结束位置

当然,我们可以结合这两个去播放音频文件的任意片段。中间的一小部分如何:

样本:loop_amen,起始:0.4,结束:0.6

如果我们把起始位置放在在结束位置之后,会发生什么呢?

样本:loop_amen,起始:0.6,结束:0.4

太棒了!它会回放!

与速率结合

我们可以将这种播放任意音频片段的新能力与我们的朋友rate:相结合。比如说,我们可以很慢地播放amen中间暂停的一小段:

sample :loop_amen, start: 0.5, finish: 0.7, rate: 0.2

与包络结合

最后,我们可以将所有这些与我们的ADSR包络相结合,制作有趣的效果:

sample :loop_amen, start: 0.5, finish: 0.8, rate: -0.2, attack: 0.3, release: 1

马上来试一试将这些有趣的东西混合在一起的采样……