diff options
Diffstat (limited to 'BUG9/instruments.udo')
-rw-r--r-- | BUG9/instruments.udo | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/BUG9/instruments.udo b/BUG9/instruments.udo new file mode 100644 index 0000000..198d196 --- /dev/null +++ b/BUG9/instruments.udo @@ -0,0 +1,179 @@ +#ifndef UDO_INSTRUMENTS +#define UDO_INSTRUMENTS ## +/* + Debugger - Unfixed Bugs : BUG #8 + + Sound generators + Names should correspond to those used in BID file, prepended with play_ +*/ + + +#include "wavetables.udo" +#include "bussing.udo" +#include "bid.udo" + + +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 + 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 + 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) + kamp init 1 + aL wgbowedbar 1, ifreq, 0.5, 0.2, 0.995 + aR wgbowedbar 1, ifreq, 0.3, 0.5, 0.995 + bus_mix("master", aL*kamp*iamp, aR*kamp*iamp) +endin + +instr play_mel2 + iamp = bid_getparameter(p4, p5, 2) + ifreq = cpsmidinn(table(random(1, 4), gibid_chordfn, 0, 0, 1) - 12) + 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 + aL foscil 1, ifreq, 4, k1, k2, gifnSine + aR foscil 1, ifreq, 3.9, k1, k2, gifnSine + aL pareq aL, 200, 0.3, 0.7 + aR pareq aR, 200, 0.3, 0.7 + bus_mix("master", aL*kamp*iamp, aR*kamp*iamp) +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 + 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) + + apt oscil 1, line(50, p3, 2000) + apt2 oscil 1, line(500, p3, 20) + + aL *= apt * apt2 + aR *= apt * apt2 + aL butterbp aL, kfreqL, 1000 + aR butterbp aR, kfreqR, 1000 + + kndx phasor 1/p3 + kamp tab kndx, gifnClap, 1 + kamp *= linseg(1, p3*0.5, 0.2, p3*0.5, 0) * iamp * 8 + aL *= kamp + aR *= kamp + bus_mix("master", aL, aR) +/* + p3 = 0.03 + kbt linseg 0.5, p3, -0.5 + aL noise 1, kbt + aR noise 1, kbt+0.1 + kbpf linseg 1500, p3, 100 + kbnp linseg 800, p3, 100 + aL butterbp aL, kbpf, kbnp + aR butterbp aR, kbpf, kbnp + aL taninv aL*7 + aR taninv aR*7 + + kamp linseg 1, p3*0.1, 0.3, p3*0.1, 0.9, p3*0.1, 0.3, p3*0.1, 0.8, p3*0.1, 0.2, p3*0.1, 0.7, p3*0.4, 0 + kamp2 = abs(oscil(0.5, 4)) + 0.5 + aL *= kamp * iamp + aR *= kamp * iamp + bus_mix("delay2", aL, aR) + bus_mix("master", aL, aR) + */ +endin + + +/* + Closed lower frequency hi-hat +*/ +instr play_hat1 + iamp = bid_getparameter(p4, p5, 2) + idel = random(0.001, 0.02) + xtratim idel + p3 = random(0.01, 0.04) + ifreq = 200 + aenv expsega .1, .0005, 1, p3 - .0005, .01 + asqr1 oscil 1, ifreq, gifnSaw, -1 + asqr2 oscil 1, ifreq*1.4471, gifnSquare, -1 + asqr3 oscil 1, ifreq*1.6170, gifnSaw, -1 + asqr4 oscil 1, ifreq*1.9265, gifnSaw, -1 + asqr5 oscil 1, ifreq*2.5028, gifnSaw, -1 + asqr6 oscil 1, ifreq*2.6637, gifnSaw, -1 + a808L sum asqr1, asqr2, asqr3, asqr4, asqr5, asqr6 + a808L butterhp a808L, 4270 + ;a808L butterhp a808L, 4270 + aoutL = a808L * aenv * iamp + aoutL delay aoutL, idel + + asqr1 oscil 1, ifreq, gifnSaw, -1 + asqr2 oscil 1, ifreq*1.3471, gifnSaw, -1 + asqr3 oscil 1, ifreq*1.6470, gifnSaw, -1 + asqr4 oscil 1, ifreq*1.8765, gifnSaw, -1 + asqr5 oscil 1, ifreq*2.4028, gifnSaw, -1 + asqr6 oscil 1, ifreq*2.5637, gifnSaw, -1 + a808R sum asqr1, asqr2, asqr3, asqr4, asqr5, asqr6 + a808R butterhp a808R, 4270 + ;a808L butterhp a808L, 4270 + aoutR = a808R * aenv * iamp + aoutR delay aoutR, idel + bus_mix("master", aoutL, aoutR) +endin + + +instr play_hat2 + iamp = bid_getparameter(p4, p5, 2) + idel1 = random(0.005, 0.02) + idel2 = random(0.005, 0.02) + xtratim(max:i(idel1, idel2)) + kfreq = abs(oscil(50, 10)) + 800 + aenv expsega .1, .0005, 1, p3 - .0005, .01 + asqr1 oscil 1, kfreq, gifnSquare, -1 + asqr2 oscil 1, kfreq*1.4471, gifnSquare, -1 + asqr3 oscil 1, kfreq*1.6170, gifnSquare, -1 + asqr4 oscil 1, kfreq*1.9265, gifnSquare, -1 + asqr5 oscil 1, kfreq*2.5028, gifnSquare, -1 + asqr6 oscil 1, kfreq*2.6637, gifnSquare, -1 + a808 sum asqr1, asqr2, asqr3, asqr4, asqr5, asqr6 + a808 butterhp a808, 3270 + a808 butterhp a808, 3270 + aout = a808 * aenv * iamp * 0.64 + aL delay aout, idel1 + aR delay aout, idel2 + bus_mix("master", aL, aR) +endin + + + + +/* + Lightly distorted 808 style kick +*/ +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 pareq aout1, 130, 0.3, 0.6 + aout1 pareq aout1, 9000, 5, 0.6 + aout1 *= 0.8 + bus_mix("master", aout1, aout1) +endin + + + + +#end |