[Csnd] Tutorial on Vectorial Opcodes
Date | 2011-03-16 07:22 |
From | Jim Aikin |
Subject | [Csnd] Tutorial on Vectorial Opcodes |
Having just stumbled onto the vectorial opcodes, I'm wondering if there's a tutorial anywhere that explains what their musical utility might be. One of the things that isn't clear to me, looking for example at the manual page for vtablek, is how the parameter kndx would be incremented. Let's suppose, for instance, that I have a table of 32 values that stores vectors of 4 values each. If I increment kndx from 0 to 1, will I get outputs of items 1, 2, 3, and 4 in the table, or will I get items 4, 5, 6, and 7? In other words, is the index a counter that takes account of the size of the vector, or is it just a standard index to values in the table? Or does that question even make sense? You can see why I need a tutorial here. I'm also curious about the mention, in the Canonical Manual page on vlinseg, of an opcode called bmscan, since the latter is not to be found anywhere in the manual. What's the story? Thanks for any insights. --Jim Aikin -- View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3765823.html Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-03-16 08:39 |
From | peiman khosravi |
Subject | Re: [Csnd] Tutorial on Vectorial Opcodes |
One application would be to for transforming fsig data stored in a table I guess. P On 16 March 2011 07:22, Jim Aikin |
Date | 2011-03-16 15:52 |
From | Jim Aikin |
Subject | [Csnd] Re: Tutorial on Vectorial Opcodes |
Since I have no idea what fsig data is, that suggestion is not completely enlightening ... sorry. fsig doesn't appear to be an opcode. A quick Google search suggests that it has something to do with the streaming pvoc opcodes, about which I know nothing. There's a tutorial on pvoc in The Csound Book, but in skimming it quickly I didn't spot anything on vectors or on fsig. There is a bit on tableseg and tablexseg, which seem to operate on entire tables rather than on vectors stored within tables. To return to the question, then -- vectors? What is their musical utility? And where might I find tutorial material discussing same? --JA -- View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3785933.html Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-03-16 16:08 |
From | peiman khosravi |
Subject | Re: [Csnd] Re: Tutorial on Vectorial Opcodes |
I can certainly point you to the right place about fsig. http://www.csounds.com/manual/html/SpectralRealTime.html On 16 March 2011 15:52, Jim Aikin |
Date | 2011-03-16 16:34 |
From | Justin Smith |
Subject | Re: [Csnd] Re: Tutorial on Vectorial Opcodes |
Regarding the musical utility of vectors:
|
Date | 2011-03-16 17:19 |
From | Jim Aikin |
Subject | [Csnd] Re: Tutorial on Vectorial Opcodes |
> A table of "presets", where you can look up a complete set of parameters by index, or > interpolate between adjacent parameter sets (ie idx of 2 gets you preset > 2, 3 gets 3, > 2.5 gets a set of parameters halfway between the two). Hmm. You seem to be implying that the index of a vector opcode moves through the table by the size of the vector. That is, if there are 100 data values in a vector, index 0 reads out values 0-99, index 1 reads out values 100-199, and so on. The business of a partial index is ... you seem to be implying that an index of 0.5 would interpolate between values 0 and 100, between values 1 and 101, and so forth. Naively, I would expect an index of 0.5 to output values 50-149. I could test this myself, and I should probably do so, but it would take 15 minutes to set it up. I'm thinking maybe someone else has the answer at their fingertips. --JA -- View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3789458.html Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-03-16 17:42 |
From | Justin Glenn Smith |
Subject | Re: [Csnd] Re: Tutorial on Vectorial Opcodes |
Attachments | vect-interp.csd |
As this csd shows the vectors are layed out in classic C style (last index increments first) Jim Aikin wrote: >> A table of "presets", where you can look up a complete set of parameters by > index, or >> interpolate between adjacent parameter sets (ie idx of 2 gets you preset >> 2, 3 gets 3, >> 2.5 gets a set of parameters halfway between the two). > > Hmm. You seem to be implying that the index of a vector opcode moves through > the table by the size of the vector. That is, if there are 100 data values > in a vector, index 0 reads out values 0-99, index 1 reads out values > 100-199, and so on. I implied nothing of the sort, but yes that is the case. > The business of a partial index is ... you seem to be implying that an index > of 0.5 would interpolate between values 0 and 100, between values 1 and 101, > and so forth. Naively, I would expect an index of 0.5 to output values > 50-149. > > I could test this myself, and I should probably do so, but it would take 15 > minutes to set it up. I'm thinking maybe someone else has the answer at > their fingertips. The test took two minutes to write. > > --JA > > -- > View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3789458.html > Sent from the Csound - General mailing list archive at Nabble.com. > > > Send bugs reports to the Sourceforge bug tracker > https://sourceforge.net/tracker/?group_id=81968&atid=564599 > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-03-16 18:32 |
From | Justin Glenn Smith |
Subject | Re: [Csnd] Re: Tutorial on Vectorial Opcodes |
Attachments | vect-interp.csd |
The table lookup mode somehow made that example less clear (maybe a bug?), with a direct mode as attached the output is more informative (as a moves from 0 to 1 b moves from 0 to 5) Justin Glenn Smith wrote: > As this csd shows the vectors are layed out in classic C style (last index increments first) > > Jim Aikin wrote: >>> A table of "presets", where you can look up a complete set of parameters by >> index, or >>> interpolate between adjacent parameter sets (ie idx of 2 gets you preset >>> 2, 3 gets 3, >>> 2.5 gets a set of parameters halfway between the two). >> Hmm. You seem to be implying that the index of a vector opcode moves through >> the table by the size of the vector. That is, if there are 100 data values >> in a vector, index 0 reads out values 0-99, index 1 reads out values >> 100-199, and so on. > > I implied nothing of the sort, but yes that is the case. > >> The business of a partial index is ... you seem to be implying that an index >> of 0.5 would interpolate between values 0 and 100, between values 1 and 101, >> and so forth. Naively, I would expect an index of 0.5 to output values >> 50-149. >> >> I could test this myself, and I should probably do so, but it would take 15 >> minutes to set it up. I'm thinking maybe someone else has the answer at >> their fingertips. > The test took two minutes to write. > >> --JA >> >> -- >> View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3789458.html >> Sent from the Csound - General mailing list archive at Nabble.com. >> >> >> Send bugs reports to the Sourceforge bug tracker >> https://sourceforge.net/tracker/?group_id=81968&atid=564599 >> Discussions of bugs and features can be posted here >> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" >> >> > Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2011-03-16 20:39 |
From | Jim Aikin |
Subject | [Csnd] Re: Tutorial on Vectorial Opcodes |
>> I could test this myself, and I should probably do so, but it would take 15 >> minutes to set it up. I'm thinking maybe someone else has the answer at >> their fingertips. >The test took two minutes to write. We're all properly impressed by your virtuosity. Perhaps I should have been just a teensy bit more specific. It would have taken ME 15 minutes to set it up. Happy now? --JA -- View this message in context: http://csound.1045644.n5.nabble.com/Tutorial-on-Vectorial-Opcodes-tp3765823p3798672.html Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to the Sourceforge bug tracker https://sourceforge.net/tracker/?group_id=81968&atid=564599 Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |