0

我从 Freesound.org 使用的一些样本在结尾处有轻微的点击,例如:

repl> (use 'overtone.live)
nil
repl> (def stick (freesound 82280))
#'repl/stick
repl> (stick)

所以我试图把这个样本包在一个信封里,但我得到的只是沉默。我怀疑我的使用有问题buf-rd...

(definst stick1
  [amp 0.7]
  (let [env     (env-gen (perc) :action FREE)
        phase   (phasor:ar :start 0 :end 1 :rate 1)
        index   (* phase (buf-frames stick))
        snd     (buf-rd 1 stick index)]
    (* amp env snd)))

(stick1)
4

1 回答 1

0

play-buf是将样本包含在信封中的正确函数。perc用于设置 0.01 秒的攻击,并在沉默前 1 秒释放,从而杀死点击。

(def stick (freesound 82280))

(definst stick1
  [amp 0.7]
  (let [env     (env-gen (perc 0.01 1) :action FREE)
        snd     (play-buf 1 stick)]
    (* amp env snd)))

(stick1)
于 2019-01-02T10:02:08.660 回答