Csound Haiku - IX
Iain McCurdy, 2011.

<CsoundSynthesizer>

<CsOptions>
-odac -dm0
</CsOptions>

<CsInstruments>
sr 		= 		44100
ksmps 		= 		32
nchnls 		= 		2
0dbfs 		= 		1

gasendL		init		0
gasendR		init		0 
giwave		ftgen		0, 0, 128, 10, 1, 1/4, 1/16, 1/64
giampscl1	ftgen		0, 0, -20000, -16, 1, 20, 0, 1, 19980, -20, 0.01
		seed		0
		alwayson 	"trigger_arpeggio"
		alwayson 	"reverb"

		instr		trigger_arpeggio
krate		randomh		0.2, 0.02, 0.04
ktrig		metro		krate
		schedkwhennamed	ktrig, 0, 0, "arpeggio", 0, 25
		endin

		instr		arpeggio
krate		rspline		15, 0.5, 0.3, 0.7
ktrig		metro		krate/5
kharm1		rspline		1, 14, 0.4, 0.8
kharm2		random		-3, 3
kharm		mirror		kharm1+kharm2, 1, 23
ibas		random		0, 24
kamp		rspline		0, 0.05, 0.1, 0.2
		schedkwhen	ktrig, 0, 0, p1+1, 0, 4, cpsmidinn((int(ibas)*3)+24)*int(kharm), kamp
		endin

		instr		note_generator
aenv		linsegr		0, p3/2, 1, p3/2, 0, p3/2, 0  
iampscl		table		p4, giampscl1
asig		oscili		p5*aenv*iampscl, p4, giwave
adlt		rspline		0.01, 0.1, 0.2, 0.3
adelsig		vdelay		asig, adlt*1000, 0.1*1000
aL,aR		pan2		asig+adelsig, rnd(1)
		outs		aL, aR
gasendL		=		gasendL+aL
gasendR		=		gasendR+aR
		endin

		instr		reverb
aL, aR		reverbsc	gasendL, gasendR, 0.88, 10000
		outs		aL, aR
		clear		gasendL, gasendR
endin

</CsInstruments>

<CsScore>
f 0 3600
e
</CsScore>

</CsoundSynthesizer>
