#include "/twist/transform_api.udo" instr twst_tf_resony $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kfreq twst_tf_freq kbw = twst_param:k("bandwidth") inum = twst_parami("num") ksep = twst_param:k("separation") isepmode = twst_parami("sepmode") ibalance = twst_parami("balance") if (ileft == 1) then aLr resony aL, kfreq, kbw, inum, ksep, isepmode if (ibalance == 1) then aL balance aLr, aL else aL = aLr endif endif if (iright == 1) then aRr resony aR, kfreq, kbw, inum, ksep, isepmode if (ibalance == 1) then aR balance aRr, aR else aR = aRr endif endif outs aL, aR endin instr twst_tf_resonx $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kfreq twst_tf_freq kbw = twst_param:k("bandwidth") inum = twst_parami("num") ibalance = twst_parami("balance") if (ileft == 1) then aLr resonx aL, kfreq, kbw, inum if (ibalance == 1) then aL balance aLr, aL else aL = aLr endif endif if (iright == 1) then aRr resonx aR, kfreq, kbw, inum if (ibalance == 1) then aR balance aRr, aR else aR = aRr endif endif outs aL, aR endin instr twst_tf_streson $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kfreq twst_tf_freq kfeedback = twst_param:k("feedback") if (ileft == 1) then aL streson aL, kfreq, kfeedback endif if (iright == 1) then aR streson aR, kfreq, kfeedback endif outs aL, aR endin instr twst_tf_mvmfilter $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kfreq = twst_param:k("freq") kdecay = twst_param:k("decay") kbalance = twst_param:k("balance") if (ileft == 1) then aLf mvmfilter aL, kfreq, kdecay if (kbalance == 1) then aL balance aLf, aL else aL = aLf endif endif if (iright == 1) then aRf mvmfilter aR, kfreq, kdecay if (kbalance == 1) then aL balance aRf, aR else aR = aRf endif endif outs aL, aR endin instr twst_tf_harmon $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kestfreq = twst_param:k("estfreq") kmaxvar = twst_param:k("maxvar") kgenfreq1 = twst_param:k("genfreq1") kgenfreq2 = twst_param:k("genfreq2") iminfreq = twst_parami("minfreq") ianalysistime = twst_parami("analysistime") if (ileft == 1) then aL harmon aL, kestfreq, kmaxvar, kgenfreq1, kgenfreq2, 0, iminfreq, ianalysistime endif if (iright == 1) then aR harmon aR, kestfreq, kmaxvar, kgenfreq1, kgenfreq2, 0, iminfreq, ianalysistime endif outs aL, aR endin instr twst_tf_formantharmon $TWST_TRANSFORM aL, aR, ileft, iright twst_getinput kgenfreq1 = twst_param:k("genfreq1") kgenfreq2 = twst_param:k("genfreq2") kgenfreq3 = twst_param:k("genfreq3") kgenfreq4 = twst_param:k("genfreq4") iminfreq = octcps:i(twst_parami("minfreq")) ipolarity = twst_parami("polarity") ipupdate = twst_parami("pupdate") iplow = octcps:i(twst_parami("plowfreq")) iphigh = octcps:i(twst_parami("phighfreq")) ipthresh = dbamp:i(twst_parami("pthresh")) ipfrqs = twst_parami("pfrqs") ipconfirm = twst_parami("pconfirms") if (ileft == 1) then koct, kamp pitch aL, ipupdate, iplow, iphigh, ipthresh, ipfrqs, ipconfirm aL harmon4 aL, koct, kgenfreq1, kgenfreq2, kgenfreq3, kgenfreq4, 0, iminfreq, ipolarity endif if (iright == 1) then koct, kamp pitch aR, ipupdate, iplow, iphigh, ipthresh, ipfrqs, ipconfirm aR harmon4 aR, koct, kgenfreq1, kgenfreq2, kgenfreq3, kgenfreq4, 0, iminfreq, ipolarity endif outs aL, aR endin