37 lines
930 B
Racket
37 lines
930 B
Racket
|
#lang racket
|
||
|
;; status - working as of 20220820
|
||
|
|
||
|
(require rsc3)
|
||
|
|
||
|
;; reverberated sine percussion (jmcc)
|
||
|
|
||
|
(define rallpass
|
||
|
(lambda (i)
|
||
|
(allpass-n i 0.050 (clone 3 (rand 0 0.05)) 1)))
|
||
|
|
||
|
(define chain-of
|
||
|
(lambda (n f)
|
||
|
(foldl1 compose (replicate n f))))
|
||
|
|
||
|
(define reverberated-sine-percussion
|
||
|
(let* ((d 10)
|
||
|
(c 7)
|
||
|
(a 4)
|
||
|
(s (mix-fill
|
||
|
d
|
||
|
(lambda (_)
|
||
|
(resonz (mul (dust ar (/ 2 d)) 50)
|
||
|
(+ 200 (rand-float 0 3000))
|
||
|
0.003))))
|
||
|
(z (delay-n s 0.048 0.48))
|
||
|
(y (mix (comb-l z
|
||
|
0.1
|
||
|
(mul-add (lf-noise1 kr (clone c (rand 0 0.1)))
|
||
|
0.04
|
||
|
0.05)
|
||
|
15)))
|
||
|
(x ((chain-of a rallpass) y)))
|
||
|
(add s (mul 0.2 x))))
|
||
|
|
||
|
(audition (out 0 reverberated-sine-percussion))
|