aboutsummaryrefslogtreecommitdiff
path: root/site/udo/twist/transforms/delay.udo
diff options
context:
space:
mode:
authorRichard <q@1bpm.net>2025-04-13 18:48:02 +0100
committerRichard <q@1bpm.net>2025-04-13 18:48:02 +0100
commit9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 (patch)
tree291bd79ce340e67affa755a8a6b4f6a83cce93ea /site/udo/twist/transforms/delay.udo
downloadapps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.tar.gz
apps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.tar.bz2
apps.csound.1bpm.net-9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22.zip
initial
Diffstat (limited to 'site/udo/twist/transforms/delay.udo')
-rwxr-xr-xsite/udo/twist/transforms/delay.udo72
1 files changed, 72 insertions, 0 deletions
diff --git a/site/udo/twist/transforms/delay.udo b/site/udo/twist/transforms/delay.udo
new file mode 100755
index 0000000..5d59612
--- /dev/null
+++ b/site/udo/twist/transforms/delay.udo
@@ -0,0 +1,72 @@
+#include "/twist/transform_api.udo"
+
+instr twst_tf_vdelay
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kdelay = twst_param:k("delay") * 1000
+ kfeedback = twst_param:k("feedback")
+ adelay = a(kdelay)
+
+ if (ileft == 1) then
+ afbkL init 0
+ aLd vdelay3 aL + afbkL, adelay, 1000
+ afbkL = aLd * kfeedback
+ aL = aLd
+ endif
+ if (iright == 1) then
+ afbkR init 0
+ aRd vdelay3 aR + afbkR, adelay, 1000
+ afbkR = aRd * kfeedback
+ aR = aRd
+ endif
+ outs aL, aR
+endin
+
+instr twst_tf_flanger
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kdelay = twst_param:k("delay")
+ kfeedback = twst_param:k("feedback")
+
+ adelay = a(kdelay)
+ if (ileft == 1) then
+ aL flanger aL, adelay, kfeedback
+ endif
+ if (iright == 1) then
+ aR flanger aR, adelay, kfeedback
+ endif
+ outs aL, aR
+endin
+
+instr twst_tf_phaser1
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kfreq = twst_param:k("freq")
+ iord = twst_parami("order")
+ kfeedback = twst_param:k("feedback")
+ if (ileft == 1) then
+ aL phaser1 aL, kfreq, iord, kfeedback
+ endif
+ if (iright == 1) then
+ aR phaser1 aR, kfreq, iord, kfeedback
+ endif
+ outs aL, aR
+endin
+
+instr twst_tf_phaser2
+ $TWST_TRANSFORM
+ aL, aR, ileft, iright twst_getinput
+ kfreq = twst_param:k("freq")
+ kq = twst_param:k("q")
+ iord = twst_parami("order")
+ imode = twst_parami("mode")
+ ksep = twst_param:k("sep")
+ kfeedback = twst_param:k("feedback")
+ if (ileft == 1) then
+ aL phaser2 aL, kfreq, kq, iord, imode, ksep, kfeedback
+ endif
+ if (iright == 1) then
+ aR phaser2 aR, kfreq, kq, iord, imode, ksep, kfeedback
+ endif
+ outs aL, aR
+endin