[PD] Per sampleblock manipulation question

Mathieu Bouchard matju at artengine.ca
Sun Nov 5 05:02:27 CET 2006


On Sat, 4 Nov 2006, thewade wrote:

> For example, if I have a 64 sample block and all the samples in that 
> block are zeros except for sample 30 which is a one, and I wanted to 
> shift all samples up 30 bins (with wrapping) so that now all samples in 
> this block are zeros except bin 60 which is a one, how would I do that 
> (without writing my own external)?

use both [lrshift~ 30] and [lrshift~ -34]. You need two because it's 
zero-padding instead of wrapping.

the helpfile for [lrshift~] is not available through usual means because 
someone made a typo in the filename five years ago or something.

> If I understand the basic objects correctly, a simple [+~ 30] would turn 
> the sample block above from all zeros except bin 30 which is a one into 
> a sample block of all 30's except bin 30 which would now be a 31, right?

yes.

> Essential, my question is are there bitwise operators such as [>>] and 
> [<<] exept working on samples instead of bits. Interestingly, 
> convolution is basically an audio rate 'and' [&&~], right?

no, convolution is a bunch of sample-wise shifts and [*~] and [+~] 
together (as many as there are values in the convolution kernel).

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada


More information about the Pd-list mailing list