有很多关于制作声音的例子,虽然当开始使用 Overtone 时(我仍然是 99% 新手)发现line
防止你泄漏合成器描述符并且metronome
有时会导致声音发生的功能花了太长时间。
(definst
... create component sounds ...
(out 0 (* v (clip2 (+ wob (* kick-vol kick) (* snare-vol snare)) 1)
(line:kr 0 dur dur FREE)))
乘以调用以line:kr
创建具有定义生命周期的合成器
metronome
然后你可以像在这个小节拍中那样使用for 组合:
(defn beat2 [beat]
(at (metro beat) (#'kick 220 0.3 0.5 1.5))
(at (+ 0.5 (metro beat)) (#'kick 220 0.3 0.5 1.5))
(if (= 0 (mod beat 2))
(at (metro (+ 0.17 beat)) (#'kick)))
(at (metro (+ 0.35 beat)) (c-hat))
(if (even? beat) (at (metro (+ 0.45 beat)) (c-hat)))
(at (metro (+ 0.5 beat)) (#'mew 8))
(apply-at (metro (inc beat))
(if (= 0 (mod beat 200)) #'beat1 #'beat2)
(inc beat) []))