diff options
Diffstat (limited to 'site/udo/delays.udo')
-rwxr-xr-x | site/udo/delays.udo | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/site/udo/delays.udo b/site/udo/delays.udo new file mode 100755 index 0000000..948e3cb --- /dev/null +++ b/site/udo/delays.udo @@ -0,0 +1,42 @@ +#ifndef UDO_DELAYS
+#define UDO_DELAYS ##
+/*
+ Delay lines
+
+ This file is part of the SONICS UDO collection by Richard Knight 2021
+ License: GPL-2.0-or-later
+ http://1bpm.net
+*/
+
+
+/*
+ Multitap delay with random oscillated repitching and feedback
+ aout delay_wild ain, imindelay, imaxdelay
+
+ aout delayed signal
+ ain input signal
+ imindelay minimum delay time
+ imaxdelay maximum delay time
+*/
+opcode delay_wild, a, aoo
+ ain, imindelay, imaxdelay xin
+ if (imindelay == 0) then
+ imindelay = 0.2
+ endif
+ if (imaxdelay == 0) then
+ imaxdelay = 0.6
+ endif
+ adb delayr imaxdelay
+ ad1 deltap abs(oscili:k(random:i(imindelay, imaxdelay), random:i(0.01, 0.2)))
+ ad2 deltap abs(oscili:k(random:i(imindelay, imaxdelay), random:i(0.01, 0.2)))
+ delayw ain + (ad1 * random:i(0.1, 0.3)) + (ad2 * random:i(0.1, 0.3))
+
+ adb delayr imaxdelay
+ ad3 deltap abs(oscili:k(random:i(imindelay, imaxdelay), random:i(0.01, 0.2)))
+ ad4 deltap abs(oscili:k(random:i(imindelay, imaxdelay), random:i(0.01, 0.2)))
+ delayw ad2 + (ad3 * random:i(0, 0.3)) + (ad4 * random:i(0, 0.3))
+ xout ad3+ad4
+endop
+
+
+#end
\ No newline at end of file |