38 lines
1 KiB
Racket
38 lines
1 KiB
Racket
#lang racket
|
|
;; status - working as of 20220820
|
|
|
|
(require rsc3)
|
|
|
|
;; tank (jmcc)
|
|
|
|
(define bang
|
|
(let ((d (dust ar 0.01))
|
|
(n (brown-noise ar)))
|
|
(pan2 (mul (decay2 d 0.04 0.3) n) 0 1)))
|
|
|
|
(define pling
|
|
(lambda (_)
|
|
(let ((o (f-sin-osc ar (exp-rand 300 2200) 0))
|
|
(d (decay2 (dust ar 0.5) 0.1 0.5)))
|
|
(pan2 (mul (mul d 0.1) (cubed o)) (rand -1 1) 1))))
|
|
|
|
(define rallpass
|
|
(lambda (i)
|
|
(allpass-n i 0.03 (clone 2 (rand 0.005 0.02)) 1)))
|
|
|
|
(define rallpasses
|
|
(foldl1 compose (replicate 4 rallpass)))
|
|
|
|
(define tank
|
|
(lambda (i)
|
|
(let* ((l0 (mul (local-in 2 ar) 0.98))
|
|
(l1 (one-pole l0 0.33))
|
|
(l2 (rotate2 (mce-channel l1 0) (mce-channel l1 1) 0.23))
|
|
(l3 (allpass-n l2 0.05 (clone 2 (rand 0.01 0.05)) 2))
|
|
(l4 (delay-n l3 0.3 (mce2 0.17 0.23)))
|
|
(l5 (allpass-n l4 0.05 (clone 2 (rand 0.03 0.15)) 2))
|
|
(l6 (leak-dc l5 0.995))
|
|
(l7 (add l6 i)))
|
|
(mrg2 l7 (local-out l7)))))
|
|
|
|
(audition (out 0 (tank (rallpasses (add bang (mix-fill 8 pling))))))
|