# dsp buffers 2

Tom Schouten psycho at zzz.kotnet.org
Thu Mar 1 22:03:50 CET 2001

```karl,

i just implemented a lifted biorthogonal wavelet transform. it does the
calculation in place, but the output needs to be permuted to be readable.
to compute the permutation it is easier to have 2 separate buffers but i
found an algorithm that can do it in place. i first thought this was not
possible to do but it turns out to be not that difficult.

the algo:

START
for k <- 1 step 1 until n do
begin
l <- f(k);
while l < k do l <- f(l);
(S[k],S[l]) <- (S[l],S[k]);
end;
HALT

f(k) is the permutation.

i am working on a dynamical wavetable synthesis method. the wavetable that
is read out is the output of a slowly varying dynamical system. it is
inspired by a recently introduced method called 'scanned synthesis'. if
the system is discreet and linear you can analyse it in a state space
framework. i use the wavelet transform as a special case of this
setup. the wavetable then a dynamicly changing linear combination of
wavelets.

tom

> Tom,
>
> I didn't answer this before because I wasn't certain, but maybe a wrong
> answer from me will prompt someone to correct me :)  As far as I know you
> cannot force separate input and output buffers.  This is not normally a
> problem, though - what are you implementing?
>
> Karl
>
> On Thu, 1 Mar 2001, Tom Schouten wrote:
>
> > hi,
> >
> > to complete my query: is there any way to ensure that the input and output
> > buffers of a dsp routine are different to avoid te use of an extra buffer
> > inside the patch for algos that can't be implemented 'left to right'
> > (i.e a permutation)?
> >
> > tom
> >
> >
>
> _____________________________________________________
> | Karl W. MacMillan                                 |
> | Computer Music Department                         |
> | Peabody Institute of the Johns Hopkins University |
> | karlmac at peabody.jhu.edu                           |
> | www.peabody.jhu.edu/~karlmac                      |
> -----------------------------------------------------
>

```