音色预制
准备音色,就像做菜要准备食材一样重要。有人喜欢从自家田地里采摘新鲜蔬菜。有人工作太忙,不得不去超市采购工厂做好的半成品,回家继续加工。近些年,DAW用户使用别人做好的音色包是非常普遍的一件事,因为调制音色实在费时费力。自己调制好的音色保存为预制,调用起来也十分方便。
在Sonic Pi里,我十分推荐用function写预制。比起每次都要调合成器参数,还是把他们存到function里节省时间,我还能为不同音色起个方便记忆的名字。之后每次live coding的时候把事先写好的预制粘过来,就能快速调用,岂不美哉。
Hi-hat音色
用noise捏好的鼓,在function里处理好音色和效果。
之后在live_loop内直接调用时,只控制pattern就好。
#HI-HAT
define :hihat do
use_synth :pnoise
with_fx :hpf, cutoff: 120 do
play release: 0.01, amp: 13
end
end
pattern = ring( 0.5,0.25,0.5,0.5,0.5,0.5,0.5,0.125)
live_loop :hihat_loop do
hihat
sleep pattern.tick
end
合成器预制
设计好的:myPad音色,允许参数|note|传入。如果想现场控制多个参数,请这样写|note,cutoff|。之后在live_loop内,填上音高直接调用。调用两次的myPad组成一个和弦。
define :myPad do |note|
use_synth :blade
play note, attack: rand(4),release: rand(6..8),cutoff:rand(50..85),vibrato_rate: rand(0.01..2), amp:0.55
end
shift = ring(1,2,4,6)
with_fx :reverb,room:0.99,mix: 0.7 do
live_loop :pad do
root=:C4
myPad root+shift.tick
myPad root+4+shift.tick
#you may add more layers
sleep 8
end
end
做到这里我又想到多层次叠加(类似Live里Instrument Rack内的效果链),能同时演奏多个合成器预制,不过叠加层次数量可能会受到机器性能的限制。