diff options
Diffstat (limited to 'BUG7/BUG7.csd')
-rw-r--r-- | BUG7/BUG7.csd | 85 |
1 files changed, 68 insertions, 17 deletions
diff --git a/BUG7/BUG7.csd b/BUG7/BUG7.csd index b1b478e..9e52133 100644 --- a/BUG7/BUG7.csd +++ b/BUG7/BUG7.csd @@ -32,7 +32,8 @@ gksection init -1 #include "bid.udo" ; Bug Infested Directive tools and parsing #include "instruments.udo" ; sound generators #include "txt_tools.udo" ; text tools - +#include "src_vox.udo" +#include "oprepare.udo" ; offline preparation system instr global_delay1 @@ -43,6 +44,31 @@ instr global_delay1 bus_mix("master", aL*0.8, aR*0.8) endin + +instr global_delay2 + aL, aR bus_read "delay2" + ifreq1 = (gibid_tempo / 60) / 8 + kfdbkL = abs(oscil(0.8, 1.63)) + kfdbkR = abs(oscil(0.8, 1.67)) + + atimeL = abs(oscil(0.2, ifreq1)) + 0.01 + atimeR = abs(oscil(0.2, ifreq1)) + 0.01 + + aLdlr delayr 1 + aLdel deltapi atimeL + aLdel butterhp aLdel, 130 + delayw aL + (aLdel * kfdbkL) + + aRdlr delayr 1 + aRdel deltapi atimeR + aRdel butterhp aRdel, 130 + delayw aR + (aRdel * kfdbkR) + + aLdel *= 1-gkpump + aRdel *= 1-gkpump + bus_mix("master", aLdel, aRdel) +endin + /* Master audio output */ @@ -60,24 +86,32 @@ instr global_master kclapamp init 0 kcofferamp init 0 if (gksection == 1) then - kclapamp linseg 0, itime1*0.6, 1, itime1*0.4, 1 + kclapamp linseg 0, itime1*0.3, 0, itime1*0.3, 1, itime1*0.4, 1 kcofferamp line 0, itime1, 1 - krevamp linseg 1, itime1*0.1, 0, itime1*0.9, 0 + krevamp linseg 1, itime1*0.2, 0, itime1*0.8, 0 + - arL, arR freeverb aL*2, aR*2, 0.9, 0.9 - ir = 512 - fL pvsanal arL, ir, ir/4, ir, 1 - fR pvsanal arR, ir, ir/4, ir, 1 - kshift = line(1000, itime1*0.1, 0) - kshifto = abs(oscil(100, 10)) - f1L pvshift fL, kshift+kshifto, 300 - f1R pvshift fR, kshift+kshifto, 300 - arL pvsynth f1L - arR pvsynth f1R + adeltime linseg 0.05, itime1*0.1, 0 + + adumpL delayr 1 + arL deltapi adeltime*abs(oscil(1, 3)) + delayw aL + + adumpR delayr 1 + arR deltapi adeltime*abs(oscil(1, 2)) + delayw aR + + klpf linseg 100, itime1*0.05, 6000, itime1*0.05, 8000, itime1*0.1, 22050, itime1*0.8, 22050 + + arL butterlp arL, klpf + arR butterlp arR, klpf + aL = (krevamp*arL) + ((1-krevamp)*aL) aR = (krevamp*arR) + ((1-krevamp)*aR) - + elseif (gksection == 3) then + kclapamp = 1 + kcofferamp = 1 endif aL += (aclapL * kclapamp) + (acofferL * kcofferamp) + (akickL * kclapamp) + (ahat1L * kcofferamp) + (arimL * kcofferamp) aR += (aclapR * kclapamp) + (acofferR * kcofferamp) + (akickR * kclapamp) + (ahat1R * kcofferamp) + (arimR * kcofferamp) @@ -110,6 +144,15 @@ endin /* + Initialise the performance: run offline preparation and then call parseandrun +*/ +instr bootstrap + Sprepare[] fillarray "vox" + oprepare(Sprepare, "parseandrun") + turnoff +endin + +/* Parse BID file and run the sequencer */ instr parseandrun @@ -134,6 +177,11 @@ instr sequencer event_i "i", "bid_setcurrentchord", 0, 1, isection, 0 event_i "i", "global_master", 0, p3 event_i "i", "global_delay1", 0, p3 + event_i "i", "global_delay2", 0, p3 + + if (isection == 1) then + event_i "i", "play_stringchord", 0, tab_i(1, gibid_sectionlengths)*gibid_beattime, 1, 1 + endif kmetro metro (gibid_tempo / 60) * 4 kpos init 0 kposabs init 0 @@ -148,12 +196,15 @@ instr sequencer endif bid_seq "kick", kpos, ksection + bid_seq "kick2", kpos, ksection bid_seq "koffer", kpos, ksection bid_seq "clap", kpos, ksection bid_seq "hat1", kpos, ksection bid_seq "3031", kpos, ksection bid_seq "3032", kpos, ksection - ;bid_seq "hat2", kpos, ksection + bid_seq "vox", kpos, ksection + bid_seq "vox2", kpos, ksection + bid_seq "hat2", kpos, ksection bid_seq "rim", kpos, ksection @@ -163,7 +214,7 @@ instr sequencer if (kposabs+1 < ksection16ths) then kposabs += 1 else - event "i", "notify_change", 0, 1, ksection + event "i","notify_change", 0, 1, ksection ;event "i", "play_crash", 0, gibid_beattime*4 ksection += 1 kposchord = 0 @@ -187,6 +238,6 @@ endin </CsInstruments> <CsScore> -i"parseandrun" 0 1 +i"bootstrap" 0 1 </CsScore> </CsoundSynthesizer>
\ No newline at end of file |