Re: [Cs-dev] audio rate tablew
Date | 2006-03-13 21:20 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] audio rate tablew |
I had put a pitch shifter that used it in the UDO database, but that seems to have disappeared. Anyway, the excerpt below is from tpscaler.csd that is in the examples. Tablew is used to write the input signal in the table for the granulator. instr 1 iomax = 100 /* just to be in the safe side */ kol = int(gk4) /* number of overlapped grains */ kgr = gk3 /* grain size in secs */ kfr = kol/kgr /* freq or density in gr/sec */ kps = 1/kol /* pointer rate scaling */ /* gk1 controls timescale, gk2 controls pitchscale */ ain in awp phasor sr/ftlen(1) awin tablei awp, 2, 1 tablew ain*awin, awp, 1, 1 asig syncgrain gk5, kfr, gk2, kgr, kps*gk1,1, 3, iomax out asig endin > > I still do not exactly know how tablew was intended to be > used in the orchesra. Could the relevant parts be posted ? > Maybe some code changes are still needed. > > On Monday 13 March 2006 21:54, Victor Lazzarini wrote: > > > So that was actually a bug fix. That's OK, I just wanted > > to check. > > > > Victor > > > > > > On Monday 13 March 2006 20:28, Victor Lazzarini wrote: > > > > > > > When running an orchestra prepared for 4.23, I kept > > > > getting these errors with audio rate tablew. It > > > > seems that csound 4 allowed for any rates for the > > > > index to tablew, whereas > > > > csound 5 is only allowing audio rate indexes. I > > > > thought that perhaps they should be compatible so > > > > that older orchestras do not get broken. Worth > > > > checking before the 5.01 release. > > > > > > Do you mean writing an audio signal to a control rate > > > index ? That would not work as there is no code > > > written for that case; it may be that 4.xx still > > > allowed to do so, but then the results could be > > > unpredictable and possibly include memory access > > > errors. It is actually an intentional bug fix that the > > > table opcodes require the signal and the index to > > > agree in rate, to avoid the above mentioned undefined > behavior. > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking > scripting language that extends applications into web and > mobile media. Attend the live webcast and join the prime > developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel? cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2006-03-13 21:43 |
From | Istvan Varga |
Subject | Re: [Cs-dev] audio rate tablew |
Attachments | None |
Date | 2006-03-14 11:11 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] audio rate tablew |
In fact, I was wrong about tablew, it was table that seemed to have changed. The Rasmus Ekman cs 4 help says ar table xndx, ifn [,ixmode][, ixoff][, iwrap] and in Csound 4.23 you can use a k-rate index for reading the table. The same does not seem to apply for Csound 5. The UDO below compiles on 4.23 but not on 5: opcode PitchShifter, a, akkii setksmps 1 asig,kpsc,kfdb,ifn,iwin xin ilen = ftlen(ifn) /* delay length (samples) */ ihl = ilen/2 /* delay half-length */ krp init 0 /* read pointer */ kwp init 0 /* write pointer */ awp = kwp /* a-type copy of kwp */ kbsdiff = abs(krp - kwp) /* absolute difference */ if kbsdiff > ihl then if krp > kwp then kbsdiff = kwp+ilen - krp else kbsdiff = krp+ilen - kwp endif endif kenv table kbsdiff, iwin /* envelope/crossfade */ as1 table krp, ifn, 0, 0, 1 /* 'read-head' 1 */ as2 table krp, ifn, 0, ihl, 1 /* 'read-head' 2 */ amix = as1*kenv + as2*(1-kenv) /* mixed signal */ tablew asig+amix*kfdb, awp, ifn /* delay input */ /* update the pointers, check bounds */ kwp = kwp + 1 krp = krp + kpsc if kwp > ilen then kwp = 0 endif if krp > ilen then krp = 0 endif xout amix endop Victor At 21:43 13/03/2006, you wrote: >On Monday 13 March 2006 22:20, Victor Lazzarini wrote: > > > I had put a pitch shifter that used it in the UDO database, > > but that seems to have disappeared. Anyway, the excerpt below > > is from tpscaler.csd that is in the examples. Tablew is used > > to write the input signal in the table for the granulator. > >tpscaler.csd does work for me without problems using version 5.00 >or the current CVS, although it should anyway as both the signal >and the index are a-rate for tablew. Or did the errors occur in >another orchestra file ? > > >------------------------------------------------------- >This SF.Net email is sponsored by xPML, a groundbreaking scripting language >that extends applications into web and mobile media. Attend the live webcast >and join the prime developer group breaking into this new coding territory! >http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >_______________________________________________ >Csound-devel mailing list >Csound-devel@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/csound-devel Victor Lazzarini Music Technology Laboratory Music Department National University of Ireland, Maynooth ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2006-03-14 14:15 |
From | Istvan Varga |
Subject | Re: [Cs-dev] audio rate tablew |
Attachments | None |
Date | 2006-03-14 14:39 |
From | David Akbari |
Subject | Re: [Cs-dev] audio rate tablew |
On Mar 14, 2006, at 9:15 AM, Istvan Varga wrote: > amix = ks1*kenv + ks2*(1-kenv) /* mixed signal */ Would this be possible in Victor's example if setksmps != 1 ? Other than of course just setting the global orchestra kr = sr ... I find this conversation to be quite interesting. -David ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2006-03-14 14:43 |
From | Istvan Varga |
Subject | Re: [Cs-dev] audio rate tablew |
Attachments | None |
Date | 2006-03-14 14:45 |
From | Istvan Varga |
Subject | Re: [Cs-dev] audio rate tablew |
Attachments | None |