;=========
;Focus
;barry threw
;2005
;=========
sr = 44100
kr = 4410
ksmps = 10
nchnls = 2
garvb init 0
instr 1 ;resonant noise
iamp = ampdb(p4)
kpan randi .5, 2, 0, 0, .5
kenv linseg 0, p6, 1, (p3 - p6 - p7), 1, p7, 0
anoise noise iamp, .5
kgauss gauss 50
asig butbp anoise, cpspch(p5) + kgauss, 1
asigl = asig * kpan
asigr = asig * (1 - kpan)
asigr balance asigr, anoise
asigl balance asigl, anoise
asigl = asigl * kenv
asigr = asigr * kenv
outs asigl, asigr
endin
instr 2 ;glass circles
icps = cpspch(p4)
iamp = p5
ilevl = p6 ; Output level
irate = icps / 60 ; Pan rate
ilr = p8/2 ; Pan Left to Right depth
ifb = p9/2 ; Pan Front to Back depth
ipos = p10/360 ; Pan Start position in degrees: 0/360=Nearest
idir = p11/2 ; Pan Direction
ilevl = p12/10 ; Filter Output level (roughly scaled)
ipitch1 = (p13 < 20 ? cpspch(p14) : p14) ; Filter 1 freq
ipitch2 = (p14 < 20 ? cpspch(p15) : p15) ; Filter 2 freq
ipitch3 = (p15 < 20 ? cpspch(p16) : p16) ; Filter 3 freq
ipitch4 = (p16 < 20 ? cpspch(p17) : p17) ; Filter 4 freq
ipitch5 = (p17 < 20 ? cpspch(p18) : p18) ; Filter 5 freq
ipitch6 = (p18 < 20 ? cpspch(p19): p19) ; Filter 6 freq
ifdbk = p19 ; Filter Bandwidth
kenv linseg 0, p3 * .33, 1, p3 * .34, 1, p3 * .33, 0
knoise gauss 1
kosc oscili 1, p3 * .03, 1
kosc = kosc + knoise
kamp = iamp + kosc * 1.05
kmetl linseg -10, 1, 0, p3 - 1, 0
a1 foscili kamp, icps, 8, 9.667, .667, 1
ares1 streson a1, ipitch1, ifdbk
ares2 streson a1, ipitch2, ifdbk
ares3 streson a1, ipitch3, ifdbk
ares4 streson a1, ipitch4, ifdbk
ares5 streson a1, ipitch5, ifdbk
ares6 streson a1, ipitch6, ifdbk
a2 = ares1 + ares2 + ares3 + ares4 + ares5 + ares6
a2 balance a2, a1
klfo1 oscili ilr, irate, 1, ipos + idir ; L to R sine
klfo1 = klfo1 + .5 ; Scale
klfo2 oscili ifb, irate, 1, ipos + .75 ; F to B cosine
klfo2 = 1 - (klfo2 + ifb) ; Scale
a2 = a2 * klfo2 ; F to B modulation
a2 = a2 * kenv
al = a2 * sqrt(klfo1) ; L pan
ar = a2 * sqrt(1 - klfo1) ; R pan
outs al * ilevl, ar * ilevl ; Level and output
garvb = garvb + (a2 * .2)
endin
instr 3 ;Risset Arpeggeo
icps = (p4 < 20 ? cpspch(p4) : p4)
iamp = (p5 > 120 ? ampdb(p5) : p5)
i1 = p6
i2 = 8 * p6
i3 = 3 * p6
i4 = 4 * p6
ampenv linen p5, 7, p3, 7
a1 oscili ampenv, icps, 13
a2 oscili ampenv, icps + i1, 13
a3 oscili ampenv, icps + i2, 13
a4 oscili ampenv, icps + i3, 13
a5 oscili ampenv, icps + i4, 13
a6 oscili ampenv, icps - i1, 13
a7 oscili ampenv, icps - i2, 13
a8 oscili ampenv, icps - i3, 13
a9 oscili ampenv, icps - i4, 13
aout = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9
outs aout, aout
garvb = garvb + (aout * .2)
endin
;==========
;Reverb
;==========
instr 99
;values for delay times: for (i = 1; i < 2.1; i += 0.1) delaytime = ln(i)
adel delayr 1.0
adel1 deltapi .095310
adel2 deltapi .182321
adel3 deltapi .262364
adel4 deltapi .336472
adel5 deltapi .405465
adel6 deltapi .470003
adel7 deltapi .530628
adel8 deltapi .587786
adel9 deltapi .641853
adel10 deltapi .693147
delayw garvb
asig1 alpass adel1, 1.0, 0.10
asig2 alpass adel2, 1.1, 0.10
asig3 alpass adel3, 1.2, 0.10
asig4 alpass adel4, 1.3, 0.10
asig5 alpass adel5, 1.5, 0.10
asig6 alpass adel6, 1.0, 0.10
asig7 alpass adel7, 1.1, 0.10
asig8 alpass adel8, 1.2, 0.10
asig9 alpass adel9, 1.3, 0.10
asig10 alpass adel10, 1.5, 0.10
aoutl = asig1 + asig3 + asig5 + asig7 + asig9
aoutr = asig2 + asig4 + asig6 + asig8 + asig10
aoutl nreverb aoutl, 1, .6
aoutr nreverb aoutr, 1, .6
outs aoutl, aoutr
garvb = 0
endin
t 0 14
f 1 0 16384 10 1
f 2 0 4096 7 0 2048 1 0 -1 2048 0
f 3 0 16384 19 .5 .5 270 .5
f 13 0 16384 10 1 0 0 0 .7 .7 .7 .7 .7 .7
i 99 0 65
i 1 5 50 60 7.11 10 10
i 1 5 50 60 7.01 15 8
i 1 5 50 60 8.08 20 5
i 1 5 50 60 9.06 17 13
i 2 10 30 5.01 10000 2.43 0.68 1.00 0.90 0 0 0.66 6.01 6.08 6.06 7.01 7.02 8.02 0.60
i 2 20 20 4.08 9000 2.43 0.68 1.00 0.90 0 2 0.86 6.00 6.04 6.07 7.11 7.00 7.04 0.60
i 2 30 10 4.06 8000 2.43 0.68 1.00 0.90 0 1 0.90 6.04 6.07 7.00 7.02 7.04 7.07 0.60
i 2 40 5 3.08 10000 2.43 0.68 1.00 0.90 0 1 0.50 6.04 6.07 7.00 7.02 7.04 7.07 0.60
i 2 45 10 4.01 10000 2.43 0.68 1.00 0.90 0 2 0.66 6.04 6.07 7.00 7.02 7.04 7.07 0.60
i 2 50 10 3.01 10000 2.43 0.68 1.00 0.90 0 0 0.66 6.04 6.07 7.00 7.02 7.04 7.07 0.60
i 3 1 60 5.01 2500 .03
Version: 3
Render: File
Ask: Yes
Functions: Window
WindowBounds: 10 50 510 550
Options: -b64 -W -o/Applications/MacCsound/Examples/focus_foc_foc.wav -s -m7 -Z -R
ioView nobackground {65535, 65535, 65535}
ioListing {10, 10} {400, 500}