31 lines
856 B
Racket
31 lines
856 B
Racket
#lang racket
|
|
;; status - working as of 20220820
|
|
|
|
(require rsc3)
|
|
|
|
;; deep sea (jrhb)
|
|
|
|
(define range
|
|
(lambda (s l r)
|
|
(let ((m (mul (sub r l) 0.5)))
|
|
(mul-add s m (add m l)))))
|
|
|
|
(define deep-sea
|
|
(let* ((amp 1)
|
|
(pan 0)
|
|
(variation 0.9)
|
|
(n (rand 7 46))
|
|
(dt1 (add 25 (rand -1.7 1.7)))
|
|
(dt2 (mul3 (add dt1 (lf-noise2 kr 2)) variation 0.001))
|
|
(freq (add 901 (rand 0 65)))
|
|
(t (mul (impulse ar (recip dt2) 0) 100))
|
|
(count (pulse-count t 0))
|
|
(ml (lt count n))
|
|
(u1 (mul (bpf (mul ml t) freq 1) 0.1))
|
|
(freq2 (mul freq
|
|
(add (u:mod count (range (lf-noise1 kr 1) 2 20)) 1)))
|
|
(u2 (mul (bpf u1 freq2 1) 0.2)))
|
|
(mrg2 (pan2 u2 pan (mul amp 10))
|
|
(detect-silence u2 0.0001 0.2 remove-synth))))
|
|
|
|
(audition (out 0 deep-sea))
|