summaryrefslogtreecommitdiff
path: root/test/gatetest.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'test/gatetest.lsp')
-rw-r--r--test/gatetest.lsp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/gatetest.lsp b/test/gatetest.lsp
new file mode 100644
index 0000000..891233c
--- /dev/null
+++ b/test/gatetest.lsp
@@ -0,0 +1,24 @@
+(defun gate-test ()
+ (setf yy (gate xx 1.0 0.1 2.0 0.1 0.5))
+ (s-plot yy))
+
+(set-control-srate 100)
+(set-sound-srate 100)
+
+(setf xx (pwl 0 1 0.1 0 3 0 3 1 4 0 5))
+
+(setf zz (pwl 0 1 0.02 0 1.99 0 2.0 1 2.01 0 2.09 0 2.1 1 2.11 0
+ 2.99 0 3 1 3.01 0 3.09 0 3.1 1 3.11 0 3.19 0 3.2 1 3.21 0 5))
+
+(defun noise-gate (snd &optional (lookahead 0.5) (risetime 0.02) (falltime 0.5)
+ (floor 0.01) (threshold 0.01))
+ (let ((rms (lp (mult snd snd) (/ *control-srate* 10.0))))
+ (setf save-rms rms)
+ (setf threshold (* threshold threshold))
+ (mult snd (gate rms lookahead risetime falltime floor threshold))))
+
+(defun ngtest ()
+ (setf xx (mult (stretch 5 (lfo 40)) (pwl 0 1 0.5 0 2 0 2 1 2.5 1 2.5 0 5)))
+ (setf xx (sum xx (scale 0.01 (stretch 5 (noise)))))
+ (setf yy (noise-gate xx))
+ (s-plot (vector xx yy)))