rsc3/doc/examples/graph/snare-909.rkt

34 lines
965 B
Racket
Raw Permalink Normal View History

2022-08-24 13:53:18 +00:00
#lang racket
;; status - working as of 20220820
(require rsc3)
;; snare-909 (jmcc)
(define snr
(lambda (tr n v)
(let* ((mk-e
(lambda (a b)
(let ((p (env-perc a b 1 (list -4 -4))))
(env-gen ar tr 1 0 1 do-nothing p))))
(e1 (mk-e 0.0005 0.055))
(e2 (mk-e 0.0005 0.075))
(e3 (mk-e 0.0005 0.4))
(e4 (mk-e 0.0005 0.283))
(t1 (lf-tri ar 330 0))
(t2 (lf-tri ar 185 0))
(x1 (mul-add (lpf n 7040) 0.1 v))
(x2 (hpf x1 523))
(m1 (add (mul3 t1 e1 0.25) (mul3 t2 e2 0.25)))
(m2 (add (mul3 x1 e3 0.20) (mul3 x2 e4 0.20))))
(add m1 m2))))
(define snare-909
(let* ((x (mouse-x* kr 1 4 linear 0.2))
(y (mouse-y* kr 0.25 0.75 exponential 0.2))
(t (impulse kr (mul 3 x) 0))
(n (white-noise ar))
(v (t-rand 0.25 1.0 t)))
(pan2 (snr t n v) 0 y)))
(audition (out 0 snare-909))