-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgourd.orc
252 lines (114 loc) · 3.77 KB
/
gourd.orc
1
sr = 44100kr = 441ksmps = 100nchnls = 1gibase = 13gi5prev = 200;::::::::::::::::::::::::::::::::::::::::::::::: Gen Tablesifn ftgen 1, 0, 8192, 10, 1 ;:::::::Sine:::::::ifn ftgen 2, 0, 8192, 19, .5, 1, 270, 1 ;:::::::Sigmoid:::ifn ftgen 3, 0, 8192, 10, 10, 8, 7 ;:::::::Sine:::::::ifn ftgen 4, 0, 8192, 10, 10, 8, 4ifn ftgen 5, 0, 8192, 10, 10, 7, 1, 2ifn ftgen 6, 0, 8192, 10, 10, 5, 2ifn ftgen 7, 0, 8192, 10, 10, 4ifn ftgen 8, 0, 8192, 20, 1ifn ftgen 9, 0, 512, 7, -1, 400, 0, 112, 1gitrumpet=.25gibass=.5giharm=.1 giphrase = 6+rnd(6);::::::::::::::::::::::::::::::::::::::::::::::::::::::::::instr 2 ;::::::::::::Trumpet:::::::::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: i1 = (p6 > 0 ? p6 : 1) i2 = (p7 > 0 ? p7 : 1) i3 = (p8 > 0 ? p8 : i1) i4 = (p9 > 0 ? p9 : i2) i5 = (p10 > 0 ? p10 : i3) i6 = (p11 > 0 ? p11 : i4) i7 = (p12 > 0 ? p12 : i5) i8 = (p13 > 0 ? p13 : i6) i9 = (p14 > 0 ? p14 : i7) kdyn linseg i1, i2, i3, i4, i5, i6, i7, i8, i9 ifir = 200*(rnd(.3)+.7)/p4 isec = 300*(rnd(.3)+.7)/p4 iatt1 = rnd(.2)+.2 iatt2 = rnd(.2)+.2 kcra linseg 0, p3/3, 0, iatt1, ifir, iatt1, 0, p3/3, 0, iatt2, isec, iatt2, 0 irange = gibase*8 inote = irange*p5 knot linseg inote+rnd(5), rnd(.5), inote, 1, inote knott = knot*(1/(kcra/(kdyn*12)+1)) ivalve = int(4*frac(inote*323)) kvibc linseg 3, p3, 1 kvibr oscil 1, kvibc, 1 iatt =5000*(rnd(.02)+p3/100)/p4 kmainenv linseg 0.001, iatt, 1, p3-iatt-.1, 1, .1, 0.001 kenv = ((1000+.9*p4)*kdyn+kvibr*100)*kmainenv knote = knott+kvibr*inote/400 kformcon linseg 0, .2, 1, 4, 1 kform = 690+ivalve*10+p4/40+kformcon*70 a1 fof kenv, knote, kform, 0, 600, .001,.002,.001, 200, 3, 2, p3 agrain grain 8000, inote, 30, 1000, inote/400, .08, 3, 8, 1 kcon linseg 900, .1, 1800, p3/2, 1500, p3/2, 900 a2 butterlp a1, kcon*kdyn+p4/40 a3 tone a2, 700 a4 gain a3+agrain*((inote+2000)/180000), kenv out (a4)*gitrumpetendin;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::instr 3 ;::::::::::::Bass::::::::::::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: iatt = (rnd(40)+20)/1200 kenv1 linseg 0, iatt, 1, p3-.1-iatt, 1, .1, 0 kenv2 expseg p4, 4, 1 kenv = kenv1*kenv2 irange = gibase*4 inote = irange*p5 istr = int(2*frac(inote*323)) istrin = (inote < irange*3/2 ? 4 : 6) istring = istrin + istr acon oscil 4095, inote, 9 a1 tablei acon+4096, istring ar reson a1, inote*2, 50, 1 at tone ar, 700 a2 gain at, kenv iatvol = p4*(.7+rnd(.3)) katenv expseg iatvol, 1, .001 katma linseg 0, .01, 1, 1, 1 aat oscil katenv+katma, inote*2, 5 arat butterlp aat, 150 out (arat+a2)*gibassendin;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::instr 4 ;::::::::::::Harmonium:::::::::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::p3 = 4 iatt = rnd(40)/100+.4 kenv1 expseg 1, iatt, p4, p3-.5, p4, 1, 1 kconv linseg 1, p3/2, .5, p3/2, 1 kvib oscil .1, kconv*5, 1 kenv=kenv1*(kvib+1)*kconv gkbell oscil 1, 3, 1 gkbell2 oscil 1, 3.5, 1 irange = gibase*16 inote = irange*p5 knote1 expseg gi5prev, iatt-.2, inote, p3, inote ire = int(5*frac(inote*323)) kbell = (ire < 3 ? gkbell : gkbell2) iree = 3000/inote ireed = iree+ire knote=knote1*(kbell/250+1) a1 buzz kenv+kbell*300, knote, ireed, 1 ar1 reson a1, 300, 200, 1 ar2 reson a1, 400, 300, 1 ar3 reson a1, 200, 100, 1 kcon linseg 200, iatt, 400, p3, 300, 1, 300 at tone a1, (kvib+1)*kcon a2 = ar1 + ar2 +ar3*at/100 a3 butterlp a2, 4000 a4 gain a3, kenv out a4*giharm gi5prev = inoteendin