<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>

sr = 44100
kr = 4410
ksmps = 10
nchnls = 2

;=====================;=====================;
; Original Composition by Aric Allen
; The bass instrument and keys were built for this project
; while the other instruments were grabbed from 
; previous etude mods and altered to fit the piece. 
; This was all done as part of Dr.B's Csound Class at Berklee College of Music. 
;=====================;=====================;

garvb init 0
gacmb init 0
gaphs init 0


			instr 1	;bass
idur = p3
iamp = p4
ifrq = p5
imod = p6
indx = p7
iatt = p8
irel = p9
iwobfrq = p10
ia = p11
itime = p12
ib = p13
itime2 = p14
ic = p15
	
	kenv	linen 1, iatt, idur, irel
	asub	oscil iamp*.6, (ifrq/2), 1
	amid	buzz iamp, ifrq, 25, 2
	atop foscil iamp, ifrq, 1, imod, indx, 2
		amix1 = amid+atop
	adst distort1 amix1, 3, .6, 3, 3
	kwobspd linseg ia, itime, ib, itime2, ic
	klfo oscil iamp*.8, kwobspd, 3
	kwobble = iwobfrq+klfo
	alpf butlp adst, kwobble
	abpf butbp	adst*.3, kwobble, kwobble*.1	;resonance
		amix2 = (abpf+alpf)*.1
		amix3 = (amix2+asub)*kenv
		outs amix3, amix3
			endin

			instr 2	; keys
idur = p3
iamp = p4
ifrq = p5
imod = p6
indx = p7
idelsnd = p8
irvbsnd = p9
	kenv	expseg .5, idur/3, 1, idur/3, .001
	asig	foscil iamp, ifrq, 1, imod, indx, 1
	asig2	foscil iamp, ifrq*.99, 1, imod, indx, 1
	asig3	foscil iamp, ifrq*1.01, 1, imod, indx, 1
		amix = (asig+asig2+asig3)*kenv
	aphs	phaser1 amix, 120, 700, .5
		outs aphs*.4, aphs*.4
gacmb = (aphs*idelsnd)+gacmb
garvb = (aphs*irvbsnd)+garvb
			endin
			
			instr 3 ; siren
idur	=		p3
iamp	=		p4
ifrq	=		p5
imodpth	=		p6
imodfrq	=		p7
ipanfrq	=		p8
irvbsnd	=		p9
iphssnd	= 		p10
	kenv	envlpx	iamp*.5, .01, idur, .01, 9, .7, .01
	kpan	oscil	.5, ipanfrq, 1	
	klfo	oscil	imodpth, imodfrq, 4
	asig oscil	(klfo*kenv)*.7, ifrq, 2
	asig2 foscil (klfo*kenv)*.7, ifrq, 1, 2.07, 1, 2	
	kpanlfo	=	sqrt(kpan+.5)
	amix = asig+asig2	 
       	outs  	amix*kpanlfo, amix*(1-kpanlfo)
garvb	=		garvb+(asig*irvbsnd)
gaphs = 		(gaphs+asig)*.05
			endin	

			instr 4 ; comb shower
idur	=		p3
iamp	=		p4
ifrq	=		p5
iatk	=		p6
irel	=		p7
irat1	=		p8
irat2	=		p9
imsdel	=	p10
iloopt	= 	p11
	kpan oscil	.5, .1, 1
	kenv	expseg	.001, iatk, iamp, idur/8, iamp*.3, idur-(iatk+irel+idur/8), iamp*.7, irel,.01
	kmstrenv linen	1, 3, idur, 3
	krate	line	irat1, idur, irat2
	kpanlfo = sqrt(kpan+.5)
	alfo	oscil	imsdel, krate/idur, 19
	anoise	rand	ifrq
	adel4	vdelay	anoise, alfo, imsdel
	adel3	vdelay	adel4, alfo, imsdel
	adel2	vdelay	adel3, alfo, imsdel
	adel1	vdelay	adel2, alfo, imsdel
	adel0	vdelay	adel1, alfo, imsdel
		amix	=  adel0+adel1+adel2+adel3+adel4
	acomb 		comb	amix*kenv, 5, iloopt, 0
	acomb2 		comb	amix*kenv, 5, iloopt/4, 0
	acomb3 		comb	amix*kenv, 5, iloopt/3, 0
			amix2 = (acomb+acomb2+acomb3)*.75
	asigdel vdelay	amix2/2, 600, 5000
	asigdel2 vdelay	amix2/2, 700, 5000
	asigdel3 vdelay	amix2/2, 450, 5000
		amix3 = asigdel+asigdel2+asigdel3
		amix4 = (kenv*amix2)+(kenv*amix3)
		outs	amix4*kpanlfo, amix4*(1-kpanlfo)	
	garvb = (amix4*.4)+garvb
			endin

			instr	5	; explosion
	kenv	linen	1, 4, p3, 2
	kcut	expon	10000, 3, 50
	kcps	rand	p5
	asig	foscil p4, kcps, 1, .89, 3.2, 2
	afilt	butlp	asig, kcut
		outs	afilt*kenv, afilt*kenv
garvb	= (garvb+afilt)*.4
			endin	

			instr 	97
	kenv	linseg 1, 38, 1, 2, .5, 10, 0
	ksweep  oscil .5, .1, 1
	kpan	oscil	.1, ksweep, 1
	aphs		phaser1 gaphs, ksweep, 6, 1
	aout = aphs*kenv
		outs	aout*(kpan+.5), aout*(1-(kpan+.05))
gaphs = 0
			endin

			instr 98
idur = p3	
	acmb	comb gacmb, 12, .5
		outs acmb/2, acmb/2
gacmb = 0
			endin

			instr 99
idur = p3
	arvb	nreverb garvb, 7, .4
		outs arvb/2, arvb/2
garvb = 0
			endin


</CsInstruments>
<CsScore>
f1 0 1024 10 1
f2 0 4096 10 1  .5 .333 .25 .2 .166 .142 .125 .111 .1 .09 .083 .076 .071 .066 .062 .058 .055 .052
f3 0 1024 20   2 1
f4 0 513	7	0	10  1  246	1	10   0  246    0
f9 0 513  5    .001 128 .8  128 .6  256  1
f19 0 1024 -8 .1 	512 .9 512 .1


a 0 0 0

;bass	 strt dur 	amp 	frq 	mod	indx	att	rel	wobfrq ia itime 	ib itime2 ic	
;=====================;=====================;=====================;=====================
i1 	0	6	2000 220	1.25	7	1	2	500 	  .1 	3	.1 	.1 	2
i1 	12	12	2500 131	1.25	7	1	2	500 	  .1 	3	1	.1 	.5
i1 	18	3	.    147	1.25	7	1	2	500 	  8	1	8 	.1 	.5
i1 	22	8	.    278	1.25	7	1	2	500 	  .1 	3	.1 	.1 	6
i1 	30	8	.    139	1.25	7.5	1	2	500 	  .75 3	.75 	.1 	20
i1 	38	10	.    131	1.25	7	1	2	500 	  1 	7	.05 	3 	4
i1 	62	9	5000 40	1	1	1	4	100 	  0 	3	0 	.1 	0
	

;keys	strt		dur		amp		frq		mod		indx	del	rvb
;=====================;=====================;=====================;=====================
;Asus7
i2  	14        	7	  	1000		294		.7		1	.8	.4
i2  	14.8  		.	  	.		330  		.7		1	.	.
i2  	19        	.      	.		392		3		1	.	.
i2  	21      	.	  	.		440		3		1	.	.

;Esus7
i2  	22      	.	  	.		294		10		1	.	.
i2  	23.5		.	  	.		330  		10		1	.	.
i2  	26.7      	.      	.		440		3		1	.	.
i2  	29    	.	  	.		494		3		1	.	.

;Eb7
i2  	30      	.	  	.		278		10		1	.	.
i2  	32.3		.	  	.		310  		10		1	.	.
i2  	35.8      	.      	.		392		3		1	.	.
i2  	37    	.	  	.		466		3		1	.	.

;Csus7
i2  	38      	.	  	.		195		10		1	.	.
i2  	40.2		.	  	.		349  		10		1	.	.
i2  	43     	.      	.		392		3		1	.	.
i2  	45	    	.	  	.		466		3		1	.	.

;siren strt dur  amp	frq  	modpth	modfrq   panfrq	rvbsnd	phs
;============================================================================
i3	7	7	2000 5000 	1		8		2	.4		.4
i3	45	7	2000 2500 	1		13		.5	.		.

;comb shower strt	dur 	amp	frq   atk	rel	rat1	rat2	msdel		loopt
;==========================================================

i4		50		12	.2	10000 .8	3	.3   	10  	6		.03125

;explosion
;==========================================================
i5	61	9	10000	1000



;delay
;=====================;=====================;=====================;=====================
i98 0 	75

;reverb
;=====================;=====================;=====================;=====================
i99 	0	75	

;phaser
;=====================;=====================;=====================;=====================
i97 0 58


e
</CsScore>
</CsoundSynthesizer>


<bsbPanel>
 <label>Widgets</label>
 <objectName/>
 <x>1040</x>
 <y>487</y>
 <width>400</width>
 <height>344</height>
 <visible>true</visible>
 <uuid/>
 <bgcolor mode="background">
  <r>125</r>
  <g>162</g>
  <b>160</b>
 </bgcolor>
 <bsbObject version="2" type="BSBGraph">
  <objectName/>
  <x>12</x>
  <y>21</y>
  <width>350</width>
  <height>150</height>
  <uuid>{c8d0273b-3518-495b-b73d-c93fa28093e5}</uuid>
  <visible>true</visible>
  <midichan>0</midichan>
  <midicc>-3</midicc>
  <value>0</value>
  <objectName2/>
  <zoomx>1.00000000</zoomx>
  <zoomy>1.00000000</zoomy>
  <dispx>1.00000000</dispx>
  <dispy>1.00000000</dispy>
  <modex>auto</modex>
  <modey>auto</modey>
  <all>true</all>
 </bsbObject>
</bsbPanel>
<bsbPresets>
</bsbPresets>
<EventPanel name="" tempo="60.00000000" loop="8.00000000" x="360" y="248" width="604" height="322" visible="true" loopStart="0" loopEnd="0">    </EventPanel>
