; 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