-odac
sr = 44100
ksmps = 32
nchnls = 2
; Demonstarion of Qt integration with csound over CsoundQt python API
; Tarmo Johannes tarmo@otsakool.edu.ee
; run qt-color-controller.py to launch the color dialog
; instruments from Richard Bolanger's "Trapped in convent" (slightly changed)
garvb init 0
alwayson "_reverb"
;============================================================================;
;==================================== RED ===================================;
;============================================================================;
; parameters from original score
;i 8 15.5 3.1 3 50 4000 129 8 2.6 0.3
instr red
ifuncl = 16
p4 = 2.2 ; amp
p5 = 50 ; FilterSweep StartFreq
p6 = 4000 ; FilterSweep EndFreq
p7= 129 ; bandwidth
p8 = 8 ; cps of rand1
p9 = 2.6 ; cps of rand2
p10 = 0.3 ; reverb send factor
k1 expon p5, p3, p6
k2 line p8, p3, p8 * .93
k3 phasor k2
k4 table k3 * ifuncl, 20
anoise rand 8000
aflt1 reson anoise, k1, 20 + (k4 * k1 / p7), 1
k5 linseg p6 * .9, p3 * .8, p5 * 1.4, p3 * .2, p5 * 1.4
k6 expon p9 * .97, p3, p9
k7 phasor k6
k8 tablei k7 * ifuncl, 21
aflt2 reson anoise, k5, 30 + (k8 * k5 / p7 * .9), 1
abal oscil 1000, 1000, 1
a3 balance aflt1, abal
a5 balance aflt2, abal
k11 linen p4, .15, p3, .5
a3 = a3 * k11
a5 = a5 * k11
k9 randh 1, k2
aleft = ((a3 * k9) * .7) + ((a5 * k9) * .3)
k10 randh 1, k6
aright = ((a3 * k10) * .3)+((a5 * k10) * .7)
klevel invalue "red"
klevel port klevel,0.05
outs aleft*klevel, aright*klevel
garvb = garvb + (a3 * p10)*klevel
endin
;============================================================================;
;==================================== BLUE ==================================;
;============================================================================;
;i 2 80.7 8 0 8.077 830 0.7 24 19 0.13
instr blue ; p6 = amp
p5 = 8.077 ; pitch
p6 = 830 ; amp
p7 = 0.7 ; reverb send factor
p8 = 24 ; lfo freq
p9 = 19 ; number of harmonic
p10 = 0.1+rnd(0.2) ;0.5 ; sweep rate
ifreq random 500,1000;cpspch(p5)
k1 randi 1, 30
k2 linseg 0, p3 * .5, 1, p3 * .5, 0
k3 linseg .005, p3 * .71, .015, p3 * .29, .01
k4 oscil k2, p8, 1,.2
k5 = k4 + 2
ksweep linseg p9, p3 * p10, 1, p3 * (p3 - (p3 * p10)), 1
kenv expseg .001, p3 * .01, p6, p3 * .99, .001
asig gbuzz kenv, ifreq + k3, k5, ksweep, k1, 15
klevel invalue "blue"
klevel port klevel,0.05
asig = asig*klevel
outs asig, asig
garvb = garvb + (asig * p7)
endin
;============================================================================;
;==================================== GREEN =================================;
;============================================================================;
; i 5 43 1.1 9.6 3.106 2500 0.4 1.0 8 3 17 34
instr green ; p6 = amp
p5 = 3.106 ; pitch
p6 = 2500 ; amp
p7 = 0.4 ; reverb send
p8 = 0.5 ; pan direction
p9 = 8 ; carrier freq
p10 = 3 ; modulator freq
p11 = 17 ; modulation index
p12 = 34 ; rand freq
ifreq = cpspch(p5) ; p7 = reverb send factor
; p8 = pan direction
k1 line p9, p3, 1 ; ... (1.0 = L -> R, 0.1 = R -> L)
k2 line 1, p3, p10 ; p9 = carrier freq
k4 expon 2, p3, p12 ; p10 = modulator freq
k5 linseg 0, p3 * .8, 8, p3 * .2, 8 ; p11 = modulation index
k7 randh p11, k4 ; p12 = rand freq
k6 oscil k4, k5, 1, .3
kenv1 linen p6, .03, p3, .2
a1 foscil kenv1, ifreq + k6, k1, k2, k7, 1
kenv2 linen p6, .1, p3, .1
a2 oscil kenv2, ifreq * 1.001, 1
amix = a1 + a2
kpan linseg int(p8), p3 * .7, frac(p8), p3 * .3, int(p8)
klevel invalue "green"
klevel port klevel,0.05
amix = amix*klevel
outs amix * kpan, amix * (1 - kpan)
garvb = garvb + (amix * p7)
endin
instr _reverb
p4 = 1/10 ; p4 = panrate
k1 oscil .5, p4, 1
k2 = .5 + k1
k3 = 1 - k2
asig reverb garvb, 2.1
outs asig * k2, (asig * k3) * (-1)
garvb = 0
endin
;============================================================================;
;========================= FUNCTIONS ========================================;
;============================================================================;
f1 0 8192 10 1
; 15 - vaja
f15 0 8192 9 1 1 90
;kasutusel red
f16 0 2048 9 1 3 0 3 1 0 6 1 0
f20 0 16 -2 0 30 40 45 50 40 30 20 10 5 4 3 2 1 0 0 0
f21 0 16 -2 0 20 15 10 9 8 7 6 5 4 3 2 1 0 0
r 3 COUNT
i "red" 0 20
i "green" 0 20
i "blue" 0 6
i . + 3
i . + 4
i . + 7
s
f 0 1800
1110
63
318
591
true
231
46
255
hor0
10
10
30
80
{4c105ed3-3b95-4237-b413-994af2ec8a22}
true
0
0
red
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.74357214
fill
1
0.00000000
jump
255
0
0
false
0
0
0
hor1
50
10
30
80
{dc792769-7e79-4210-a648-a39be5fa1d6b}
true
0
0
green
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.83529412
fill
1
0.00000000
jump
0
234
0
false
0
0
0
hor2
90
10
30
80
{3307953d-ad3f-4ca6-bf80-c152442139a0}
true
0
0
blue
0.00000000
1.00000000
0.00000000
1.00000000
0.00000000
0.78179599
fill
1
0.00000000
jump
0
0
255
false
0
0
0