Hi Rory, I'm not sure if this is exactly what you're after, but I had done this UDO: opcode yi_add_table,a,ikko itable, kenv, kpch, i_index xin itablesize = ftlen(itable) ifreq tablei i_index, itable iamp tablei i_index + 1, itable kfreq = kpch * ifreq if (iamp > 0) then asig oscil3 iamp, kfreq, gi_sine else asig = 0 endif kcount = 0 kenv_local = kenv loopStart: kenv_local = kenv_local * kenv loop_lt kcount, 2, i_index + 2, loopStart asig = asig * kenv_local aout = asig if (i_index < itablesize - 2) then anextsig yi_add_table itable, kenv, kpch, i_index + 2 aout = aout + anextsig endif if (i_index == 0) then aout balance aout, asig endif xout aout endop in this Csound Journal article: http://www.csounds.com/journal/2006summer/controlFlow_part2.html Maybe that helps? steven On Mon, Nov 24, 2008 at 11:58 AM, Rory Walsh wrote: > Thanks Steven, changing khrm to an i-rate variable works as one would > expect. But using a kgoto doesn't work either. I'm assuming that > something like this can be done? > > Rory. > > > 2008/11/24 Steven Yi : >> Hi Rory, >> >> I think there must be an issue when you change your comparison against >> the 10 (constant) to the khrm (k-rate) that the type of goto must be >> changing. Could you do a test making khrm as ihrm to see if that >> works? >> >> steven >> >> On Mon, Nov 24, 2008 at 8:30 AM, Rory Walsh wrote: >>> One of my students was asking if there is a version of the the buzz >>> opcode that has a fade-in for each harmonic so that pops do not occur >>> in the output. I didn't know if there was and couldn't find on in the >>> manual so I set about doing a simple UDO for him. Here's what I have, >>> the problem is explained below: >>> >>> opcode testBuzz, a, kikip >>> kamp, ifreq, khrm, ifn, icnt xin ; read input parameters >>> if (icnt >= 10) goto skip >>> kenv linseg 0, 0.1, 1, 1, 1 >>> a1 testBuzz kamp*kenv, ifreq, khrm, ifn, icnt+1 >>> skip: >>> aout oscil kamp/khrm, ifreq*icnt, ifn >>> xout (aout+a1) ; write output >>> endop >>> >>> The problem is that if I use khrm instead of 10 in my test against >>> icnt, csound will baulks out at init-time. Any suggestions as how can >>> I do this? I'm trying to use that hkrm value toset the number of >>> harmonics. >>> >>> Rory. >>> >>> >>> Send bugs reports to this list. >>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" >>> >> >> >> Send bugs reports to this list. >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" >> > > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" >