; tut_12c.csd
; header 0dbfs
; filtro resonante pareq
; ==============================================
sr = 44100
kr = 44100
ksmps = 1
0dbfs = 1 ; amplitud máxima normalizada a 1
instr 1
iamp = ampdbfs(p4)
ifreq = cpspch(p5)
inarm = int(p6/ifreq)
imult = p7
asig gbuzz iamp, ifreq, inarm, 1, imult, 1
itable = p8 ; tabla con los valores de los filtros resonantes
ifc1 table 0, itable
iv1 table 1, itable
igain1 = ampdb(iv1)
iq1 table 2, itable
ifc2 table 3, itable
iv2 table 4, itable
igain2 = ampdb(iv2)
iq2 table 5, itable
ifc3 table 6, itable
iv3 table 7, itable
igain3 = ampdb(iv3)
iq3 table 8, itable
ifc4 table 9, itable
iv4 table 10, itable
igain4 = ampdb(iv4)
iq4 table 11, itable
afilt1 pareq asig, ifc1, igain1, iq1, 0
afilt2 pareq afilt1, ifc2, igain2, iq2, 0
afilt3 pareq afilt2, ifc3, igain3, iq3, 0
afilt4 pareq afilt3, ifc4, igain4, iq4, 0
; envolvente de amplitud
iat = p9 ; tiempo de ataque
idec = p10 ; tiempo de caída
isus = p3-(iat+idec) ; tiempo de sostenimiento
iamp2 = p11 ; amplitud al fin del sostenimiento
kamp transeg 0, iat*.5, 2, .5, iat*.5, -2, 1, isus, -1, iamp2, idec*.5, 2, iamp2*.5, idec*.5, -2, 0
aout = afilt4*kamp
out aout
print igain1, igain2, igain3, igain4
endin
; ==============================================
; coseno para gbuzz
f1 0 16384 11 1
; tablas con los valores de las formantes
; 1 2 3 4
; frq amp Q frq amp Q frq amp Q frq amp Q
f2 0 16 -2 1800 0 16 3150 16 16 4900 14 20 6900 18 16
f3 0 16 -2 1500 0 15 3850 15 12 5900 19 12 8000 14 18
f4 0 16 -2 1200 0 14 4200 12 16 5800 14 16 6800 19 13
;p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11
;instr init dur ampdB pch límite mult tabla ataque caída amp2
i1 0 1 -9 7.10 16000 .92 2 .01 .2 .1
i1 1.5 3 -9 7.10 18000 .95 3 .35 .8 .55
i1 5 2 -9 7.10 14000 .9 4 .9 .35 .7
; última actualización: 2005-06-21 13:13