Greets All
I was looking for a way to shift arrays (permutation) by samples
Example: 0, 22050 1000( (will start from 0 and play 22050 samples for 1000msec) | vline~ | tabread4~
I want to play a series of shifted (permuted) waves loaded from an array one right after each other, but If I do a ramp up from 20025 to 22050 samples and another ramp up from 0 to 20025 samples (this gives me a full shifted loop) but the time won't match up because each sample isn't 22050 samples, I plan on shifting the array like this for about 10000 samples in both forward and backwards directions. Do I need to go back to using phasor~ again. Or is their an easier way to accomplish this.
20025, 22050 1000( (will start from 20025 and play to 22050 samples for 1000msec) | vline~ | tabread4~
Thanks
On 10/10/12 12:51, Rick T wrote:
Greets All
I was looking for a way to shift arrays (permutation) by samples
(permutation generally refers to something more general than shifting or rotating, more like shuffling a deck of cards than cutting it)
Personally I keep all my vline~ in [0..1] and use maths to manipulate.
Especially because (vanilla's, zexy has a better one)b [wrap~] wraps to [0..1], and could be help do what you need:
[0, 1 1000( | [vline~] | [+~ 0.25] <-- this value in [0..1] too, modulatable at signal rate | [wrap~] | [*~ table size here] | [tabread4~ your table hear]
will play the table wrapped around starting with the last 3/4 then first 1/4
To convert between samples and [0..1], elementary arithmetic helps.
Thanks that fixed it
On Wed, Oct 10, 2012 at 2:16 AM, Claude Heiland-Allen claude@mathr.co.ukwrote:
On 10/10/12 12:51, Rick T wrote:
Greets All
I was looking for a way to shift arrays (permutation) by samples
(permutation generally refers to something more general than shifting or rotating, more like shuffling a deck of cards than cutting it)
Personally I keep all my vline~ in [0..1] and use maths to manipulate.
Especially because (vanilla's, zexy has a better one)b [wrap~] wraps to [0..1], and could be help do what you need:
[0, 1 1000( | [vline~] | [+~ 0.25] <-- this value in [0..1] too, modulatable at signal rate | [wrap~] | [*~ table size here] | [tabread4~ your table hear]
will play the table wrapped around starting with the last 3/4 then first 1/4
To convert between samples and [0..1], elementary arithmetic helps.
Claude
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list