aboutsummaryrefslogtreecommitdiff
path: root/BUG7/BUG7.csd
diff options
context:
space:
mode:
Diffstat (limited to 'BUG7/BUG7.csd')
-rw-r--r--BUG7/BUG7.csd85
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