1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<info>
Cross-Synthesis
with FFT
Jean Piche, 1998
</info>
<tk_interface>
cfilein in1 -label "Exciter File"
cfilein in2 -label "Modulator File"
cslider size -label "FFT size" -rate i -rel log -res .2 -min 64 -max 2048 -init 512
cslider overlap -label Overlaps -rate i -res 1 -min 1 -max 10 -init 2
ctoggle loop -label "Loop Input Files" -init 1
cslider total_time -label "Total Duration" -unit s -ori h -min 1 -res .01 -max 300 -init 30
cslider gain -label "Output Gain" -res .1 -min 0 -max 8 -init 1.0
cgraph bias -label Amount -rel log -min 0.25 -max 4 -init 1
csepar
cgraph pit1 -label "Exciter File\nPitch" -rel log -min 0.2 -max 4 -init 1
cgraph pit2 -label "Modulator File\nPitch" -rel log -min 0.2 -max 4 -init 1
cpopup balance -label " Balance Output" -value "none exciter carrier" -init 0
</tk_interface>
<mono>
; mono template
instr 1
iloop = i(gkloop)
kpp1 = ([sinfo in1 chn] == 2?gkpit1*[sinfo in1 sr]/sr:gkpit1*[sinfo in1 sr]/sr*0.5)
kpp2 = ([sinfo in2 chn] == 2?gkpit2*[sinfo in2 sr]/sr:gkpit2*[sinfo in2 sr]/sr*0.5)
a1,a2 diskin "[in1]", kpp1, [offin1], iloop
a3,a4 diskin "[in2]", kpp2, [offin2], iloop
ar cross2 a1, a3, gisize, gioverlap, 1, gkbias
art balance ar, a1
arf balance ar, a3
kbal = (gkbalance)
if kbal == 0 goto nobal
if kbal == 1 goto balex
if kbal == 2 goto balcar
balex:
aro = art
goto outer
balcar:
aro = arf
goto outer
nobal:
aro = ar
outer:
out aro
endin
</mono>
<stereo>
instr 1
iloop = i(gkloop)
;kpi oscil .1, 33, 1
a1, a2 diskin "[in1]", gkpit1, [offin1], iloop
a3, a4 diskin "[in2]", gkpit2, [offin2], iloop
ar cross2 a1, a3, gisize, gioverlap, 1, gkbias
ag cross2 a2, a4, gisize, gioverlap, 1, gkbias
kbal = gkbalance
art balance ar, a1
arf balance ar, a3
art2 balance ag, a2
arf2 balance ag, a4
if kbal == 0 goto nobal
if kbal == 1 goto balex
if kbal == 2 goto balcar
balex:
aro = art
ago = art2
goto outer
balcar:
aro = arf
ago = arf2
goto outer
nobal:
aro = ar
ago = ag
outer:
outs aro*gkgain, ago*gkgain
endin
</stereo>
<quad>
; quad template
instr 1
outq a1, a2, a3, a4
endin
</quad>
<score>
f1 0 8192 20 2
i1 0 [total_time]
e
</score>
|