aboutsummaryrefslogtreecommitdiff
path: root/site/udo/fnml/clay_workings.csd
diff options
context:
space:
mode:
Diffstat (limited to 'site/udo/fnml/clay_workings.csd')
-rwxr-xr-xsite/udo/fnml/clay_workings.csd58
1 files changed, 58 insertions, 0 deletions
diff --git a/site/udo/fnml/clay_workings.csd b/site/udo/fnml/clay_workings.csd
new file mode 100755
index 0000000..e11e64b
--- /dev/null
+++ b/site/udo/fnml/clay_workings.csd
@@ -0,0 +1,58 @@
+<CsoundSynthesizer>
+<CsOptions>
+-odac
+</CsOptions>
+<CsInstruments>
+sr = 44100
+kr = 4410
+nchnls = 2
+0dbfs = 1
+seed 0
+
+#include "sounddb.udo"
+#include "uniqueid.udo"
+#include "bussing.udo"
+
+gicoll_clay[], gicollclay_id sounddb_getcollection "Clay.Hit"
+
+instr play_clay_roll
+ instanceid = uniqueid()
+ icollsize = lenarray(gicoll_clay)
+ ifreqmax = 100
+ kmetrofreq expseg ifreqmax*0.4, p3*0.3, ifreqmax*0.8, p3*0.4, ifreqmax, p4*0.4, ifreqmax*0.5
+ kmetro metro kmetrofreq
+ if (kmetro == 1) then
+ kdbid = gicoll_clay[round:k(random:k(0, icollsize - 1))]
+ schedulek "_play_clay_hit", random(0, 1/kmetrofreq), 1, kdbid, instanceid
+ endif
+
+ kamp expseg 0.001, p3*0.4, 1, p3*0.1, 1, p3*0.4, 0.001
+
+ aL, aR bus_read sprintf("clay_hit%d", instanceid)
+ aL pareq aL, 15000, 4, 0.6
+ aR pareq aR, 15000, 4, 0.6
+ aL *= kamp
+ aR *= kamp
+ outs aL, aR
+endin
+
+
+
+instr _play_clay_hit
+ idbid = p4
+ instanceid = p5
+ ifn = gisounddb[idbid][0]
+ idur = gisounddb[idbid][2]
+ p3 = idur
+
+ aL, aR loscil 0.2, 1, ifn, 1
+ ipan = random(0, 1)
+ bus_mix(sprintf("clay_hit%d", instanceid), aL*ipan, aR*(1-ipan))
+endin
+
+
+</CsInstruments>
+<CsScore>
+i"play_clay_roll" 0 6
+</CsScore>
+</CsoundSynthesizer> \ No newline at end of file