aboutsummaryrefslogtreecommitdiff
path: root/site/udo/twist/transforms/reverb.udo
diff options
context:
space:
mode:
Diffstat (limited to 'site/udo/twist/transforms/reverb.udo')
-rwxr-xr-xsite/udo/twist/transforms/reverb.udo80
1 files changed, 80 insertions, 0 deletions
diff --git a/site/udo/twist/transforms/reverb.udo b/site/udo/twist/transforms/reverb.udo
new file mode 100755
index 0000000..e6f66ec
--- /dev/null
+++ b/site/udo/twist/transforms/reverb.udo
@@ -0,0 +1,80 @@
+#include "/twist/transform_api.udo"
+
+instr twst_tf_reverb1
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ ktime = twst_param:k("time")
+ if (ileft == 1) then
+ aL reverb aL, ktime
+ endif
+ if (iright == 1) then
+ aR reverb aR, ktime
+ endif
+ outs aL, aR
+endin
+
+instr twst_tf_reverb2
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ ktime = twst_param:k("time")
+ khfdamp = twst_param:k("hfdamp")
+ if (ileft == 1) then
+ aL nreverb aL, ktime, khfdamp
+ endif
+ if (iright == 1) then
+ aR nreverb aR, ktime, khfdamp
+ endif
+ outs aL, aR
+endin
+
+instr twst_tf_reverb3
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kroomsize = twst_param:k("roomsize")
+ khfdamp = twst_param:k("hfdamp")
+ if (ileft != 1) then
+ aL noise 0.001, 0.5
+ endif
+ if (iright != 1) then
+ aR noise 0.001, 0.5
+ endif
+ aL, aR freeverb aL, aR, kroomsize, khfdamp
+ outs aL, aR
+endin
+
+instr twst_tf_reverb4
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kfeedback = twst_param:k("feedback")
+ khfdamp = twst_param:k("hfdamp") * (sr / 2)
+ ipitchmod = twst_parami("pitchmod")
+ if (ileft != 1) then
+ aL noise 0.001, 0.5
+ endif
+ if (iright != 1) then
+ aR noise 0.001, 0.5
+ endif
+ aL, aR reverbsc aL, aR, kfeedback, khfdamp, sr, ipitchmod
+ outs aL, aR
+endin
+
+
+instr twst_tf_reverb5
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ iwidth = twst_parami("width")
+ idepth = twst_parami("depth")
+ iheight = twst_parami("height")
+ kposx = twst_param:k("posx") * iwidth
+ kposy = twst_param:k("posy") * idepth
+ kposz = twst_param:k("posz") * iheight
+ if (ileft == 1 && iright == 1) then
+ ainput = (aL + aR) * 0.5
+ elseif (ileft != 1) then
+ ainput = aR
+ else
+ ainput = aL
+ endif
+ aL, aR babo ainput, kposx, kposy, kposz, iwidth, idepth, iheight
+ outs aL, aR
+endin