aboutsummaryrefslogtreecommitdiff
path: root/BUG9/instruments.udo
diff options
context:
space:
mode:
authorRichard <richard@1bpm.net>2025-02-28 02:08:19 +0000
committerRichard <richard@1bpm.net>2025-02-28 02:08:19 +0000
commit0f09f0882ed87bea9ff3e745c73f5d4743854fbb (patch)
tree62d04024200a4942ce4e012227822fdaae6a2e25 /BUG9/instruments.udo
parent6a8342a78bb65afbec9eac5693438a3107ff1dd3 (diff)
downloadcsd-unfixedbugs1-0f09f0882ed87bea9ff3e745c73f5d4743854fbb.tar.gz
csd-unfixedbugs1-0f09f0882ed87bea9ff3e745c73f5d4743854fbb.tar.bz2
csd-unfixedbugs1-0f09f0882ed87bea9ff3e745c73f5d4743854fbb.zip
added bug6HEADmaster
Diffstat (limited to 'BUG9/instruments.udo')
-rw-r--r--BUG9/instruments.udo191
1 files changed, 177 insertions, 14 deletions
diff --git a/BUG9/instruments.udo b/BUG9/instruments.udo
index 198d196..14399ae 100644
--- a/BUG9/instruments.udo
+++ b/BUG9/instruments.udo
@@ -14,21 +14,36 @@
instr play_bass
- iamp = bid_getparameter(p4, p5, 2)
- ifreq = cpsmidinn(table(1, gibid_chordfn, 0, 0, 1) - 48)
- k1 linseg 2.1, p3*0.2, 2, p3*0.8, 2
- k2 line 10, p3, 0
+ iamp = bid_getparameter(p4, p5, 2)
+ imode = bid_getparameter(p4, p5, 4)
+ if (imode == 0) then
+ ifreq = cpsmidinn(table(1, gibid_chordfn, 0, 0, 1) - 48)
+ k1 linseg 2.1, p3*0.2, 2, p3*0.8, 2
+ k2 line 10, p3, 0
+ else
+ ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1) - 48)
+ if (ifreq < 20) then
+ ifreq *= 2
+ endif
+ k1 init round(random(1, 2))
+ k2 init random(2, 4)
+ endif
kamp linseg 1, p3*0.1, 0.6, p3*0.9, 0
aL foscil 1, ifreq, 4, k1, k2, gifnSine
aR foscil 1, ifreq, 3.9, k1, k2, gifnSine
aL pareq aL*1.3, 200, 0.3, 0.7
aR pareq aR*1.3, 200, 0.3, 0.7
+
+ if (imode == 0) then
+ aL butterlp aL, 150
+ aR butterlp aR, 150
+ endif
bus_mix("master", aL*kamp*iamp, aR*kamp*iamp)
endin
instr play_mel1
- iamp = bid_getparameter(p4, p5, 2)
- ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1) + 12)
+ iamp = bid_getparameter(p4, p5, 2) * 1.5
+ ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1))
kamp init 1
aL wgbowedbar 1, ifreq, 0.5, 0.2, 0.995
aR wgbowedbar 1, ifreq, 0.3, 0.5, 0.995
@@ -37,7 +52,7 @@ endin
instr play_mel2
iamp = bid_getparameter(p4, p5, 2)
- ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1) - 12)
+ ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1) - 24)
k1 linseg 1.1, p3*0.2, 2, p3*0.8, 2
k2 line 1, p3, 6
kamp linseg 1, p3*0.1, 0.6, p3*0.9, 0
@@ -48,19 +63,60 @@ instr play_mel2
bus_mix("master", aL*kamp*iamp, aR*kamp*iamp)
endin
+
+instr play_shaker
+ iamp = bid_getparameter(p4, p5, 2) * 0.5
+ p3 = 0.04
+ kamp linseg iamp, p3, 0
+ aL shaker kamp, random(4000, 4500), 4, 0.999, 4
+ aR shaker kamp, random(4000, 4500), 4, 0.999, 4
+ bus_mix("master", aL, aR)
+endin
+
+
+/*
+ tb303 style synth
+*/
+instr play_303
+ iamp = bid_getparameter(p4, p5, 2)
+ inote1 = tab_i(random(1, ftlen(gibid_chordfn) - 3), gibid_chordfn)
+ ifrq1 = random(200, 600)
+ kamp linseg 1, p3*0.9, 1, p3*0.1, 0
+ ifreq1 = cpsmidinn(inote1)
+ kcps init ifreq1
+ kffrq init ifrq1
+ a1 phasor kcps ; oscillator
+ a1 = 1 - 2 * a1
+
+ a1x butterbp a1, kffrq, kcps * 1.0 ; filters
+ a1x = a1x * (2 + kffrq / kcps) ; correct amplitude
+ a1 = a1x + a1 * 0.25 ; 0.5
+ a1 butterlp a1, kffrq
+
+ a1 = taninv(a1 * 4 * iamp) ; distortion ; 2.5
+
+ keqf limit kffrq * 4, 10, sr * 0.48 ; EQ frequency
+ a1 pareq a1 * 0.4, keqf, 4.0, 1.0, 2
+ a1 butterhp a1, 70
+ a1 = a1 * kamp * 0.62
+ aL, aR pan2 a1, random(0.2, 0.8)
+ bus_mix("master", aL, aR)
+endin
+
+
/*
clap
*/
gifnClap ftgen 0, 0, 1024, 7, 1, 128, 0, 1, 0.9, 128, 0, 1, 0.8, 128, 0, 1, 0.7, 128, 0, 1, 0.5, 256, 0.1, 256, 0
instr play_clap
- iamp = bid_getparameter(p4, p5, 2)
- p3 = 0.25
+ iamp = bid_getparameter(p4, p5, 2) * 1.3
+ p3 = (p3 <= 0.2) ? 0.07 : p3
kbetaL line 0.9, p3, 0.01
kbetaR line 0.8, p3, 0.01
aL noise 1, kbetaL
aR noise 1, kbetaR
- kfreqL line 700+random(-100, 100), p3, 2500+random(-100, 100)
- kfreqR line 700+random(-100, 100), p3, 2500+random(-100, 100)
+ kfreqL line 1100+random(-100, 100), p3, 2500+random(-100, 100)
+ kfreqR line 1100+random(-100, 100), p3, 2500+random(-100, 100)
apt oscil 1, line(50, p3, 2000)
apt2 oscil 1, line(500, p3, 20)
@@ -106,7 +162,7 @@ instr play_hat1
idel = random(0.001, 0.02)
xtratim idel
p3 = random(0.01, 0.04)
- ifreq = 200
+ ifreq = 300
aenv expsega .1, .0005, 1, p3 - .0005, .01
asqr1 oscil 1, ifreq, gifnSaw, -1
asqr2 oscil 1, ifreq*1.4471, gifnSquare, -1
@@ -137,10 +193,14 @@ endin
instr play_hat2
iamp = bid_getparameter(p4, p5, 2)
+ imode = bid_getparameter(p4, p5, 4)
idel1 = random(0.005, 0.02)
idel2 = random(0.005, 0.02)
xtratim(max:i(idel1, idel2))
kfreq = abs(oscil(50, 10)) + 800
+ if (imode == 1) then
+ kfreq linseg 100, p3, 1000
+ endif
aenv expsega .1, .0005, 1, p3 - .0005, .01
asqr1 oscil 1, kfreq, gifnSquare, -1
asqr2 oscil 1, kfreq*1.4471, gifnSquare, -1
@@ -158,6 +218,109 @@ instr play_hat2
endin
+instr play_chord1_note
+ inote = p4
+ iplaymode = p5
+ iamp = 0.4
+ ivibdepthL = 0.01
+ ivibdepthR = ivibdepthL
+ if (iplaymode = 1) then
+ klpf linseg 20, p3*0.5, 500, p3*0.5, 6000
+ ic1 = 8
+ elseif (iplaymode == 2) then
+ p3 = random(0.7, 2)
+ klpf linseg 20, p3*0.5, 6000, p3*0.5, 12000
+ ivibdepthL = random(5, 10)
+ ivibdepthR = random(5, 10)
+ iamp *= 0.17
+ ic1 = random(0.1, 2)
+ else
+ ic1 = random(4, 10)
+ klpf linseg 11000, p3, 200
+ endif
+ kamp linseg 1, p3*0.9, 1, p3*0.1, 0
+
+ aL fmrhode kamp * iamp, cpsmidinn(inote), ic1 + random(-1, 1), 0.4, ivibdepthL, 3, gifnSine, gifnSine, gifnSine, gifnSine, gifnSine
+ aR fmrhode kamp * iamp, cpsmidinn(inote), ic1 + random(-1, 1), 0.4, ivibdepthR, 6, gifnSine, gifnSine, gifnSine, gifnSine, gifnSine
+
+ aL butterhp aL, 450
+ aL butterlp aL, klpf
+ aR butterhp aR, 450
+ aR butterlp aR, klpf
+
+ bus_mix("master", aL, aR)
+endin
+
+instr play_chord1
+ iamp = bid_getparameter(p4, p5, 2)
+ ichordgroup = bid_getparameter(p4, p5, 4)
+ ichordnum = bid_getparameter(p4, p5, 5)
+ iplaymode = bid_getparameter(p4, p5, 6)
+ ifn = gibid_chordgroups[ichordgroup][ichordnum]
+ index = 0
+ while (index < ftlen(ifn)) do
+ schedule("play_chord1_note", 0, p3, tab_i(index, ifn), iplaymode)
+ index += 1
+ od
+ turnoff
+endin
+
+
+
+instr play_chord2_note
+ inote = p4
+ kamp linseg 1, p3*0.9, 1, p3*0.1, 0
+ iamp = 0.4
+ aL fmbell kamp * iamp, cpsmidinn(inote), 1, 1, 0.01, 3, gifnSine, gifnSine, gifnSine, gifnSine, gifnSine
+ aR fmbell kamp * iamp, cpsmidinn(inote), 1.1, 1, 0.01, 6, gifnSine, gifnSine, gifnSine, gifnSine, gifnSine
+ klpf linseg 14000, p3, 200
+
+ aL butterhp aL, 450
+ aL butterlp aL, klpf
+ aR butterhp aR, 450
+ aR butterlp aR, klpf
+
+ bus_mix("master", aL, aR)
+endin
+
+instr play_chord2
+ iamp = bid_getparameter(p4, p5, 2)
+ ichordgroup = bid_getparameter(p4, p5, 4)
+ ichordnum = bid_getparameter(p4, p5, 5)
+ ifn = gibid_chordgroups[ichordgroup][ichordnum]
+ index = 0
+ while (index < ftlen(ifn)) do
+ schedule("play_chord2_note", 0, p3, tab_i(index, ifn))
+ index += 1
+ od
+ turnoff
+endin
+
+
+
+instr play_chord3_note
+ inote = p4
+ iamp = p5
+ klfo lfo random(5, 10), random(0.1, 0.4)
+ a1 oscil 0.15 * iamp, cpsmidinn(inote) + klfo
+ a1 butterhp a1, 450
+ kamp linseg 1, p3*0.8, 1, p3*0.1, 0
+ a1 *= kamp
+ aL, aR pan2 a1, random(0, 1)
+
+ bus_mix("master", aL, aR)
+endin
+
+instr play_chord3
+ iamp = bid_getparameter(p4, p5, 2)
+ ifn = gibid_chordfn
+ index = 0
+ while (index < ftlen(ifn)) do
+ schedule("play_chord3_note", 0, p3, tab_i(index, ifn), iamp)
+ index += 1
+ od
+ turnoff
+endin
/*
@@ -166,10 +329,10 @@ endin
instr play_kick
iamp = bid_getparameter(p4, p5, 2)
aout1 wgbowedbar 1, 60, 0.9, 0.1, 0.1
- aout1 distort aout1, 0.25, gifnSquare
+ aout1 distort aout1, 0.45, gifnSquare
aout1 pareq aout1, 130, 0.3, 0.6
aout1 pareq aout1, 9000, 5, 0.6
- aout1 *= 0.8
+ aout1 *= 1.3
bus_mix("master", aout1, aout1)
endin