wavelet~ signal processing examples

flo's icon

Hi!
I'm looking for signal processing examples for the wavelet~ object from CNMAT.

I've played around with wavelet~ and would like to use it to implement a "constant Q filter" - similar to FFT-based filtering, but with a logarithmic frequency resolution.

I have a basic understanding of wavelets, but I couldn't figure out how to modify the data created by wavelet~. Any modifications between wavelet transformation and inverse transformation resulted in noise and distortion.

That's why I'm happy about any example or tutorial that shows how to modify signals in wavelet domain in MAX/MSP.

Thanks for any hint or suggestion, Flo

Tim Lloyd's icon

I've had the same experiences with wavelet~. I'll be watching this thread :)

flo's icon

Hi Tim,
I guess it's just us here... :-/

I think I'll write my own external to handle this (or maybe cheat with a filter bank and several different ffts).

Cheers, Flo

mudang's icon

I only have a very basic understanding of the wavelet transform, but i'm also interested (that already makes us three :)

I had a look at wavelet~'s source and it's using the algorithm from the GNU scientific library.
http://www.gnu.org/software/gsl/manual/html_node/DWT-in-one-dimension.html

The external outputs the straight data of the inverse transform.
So I'm guessing, that some kind of overlap-add is needed !?
To me the artefacts sound similar to those of a FFT without windowing

Nicholas Solem's icon

Any updates from those on this thread?

I don't understand the wavelet transform nearly as much as FFT, but it seems to me that a lot of applications would be afforded by having a bin # output on wavelet~, as there is on fftin~.

One simple cool thing I found was adding a delay~ in between the wavelet and inverse wavelet transform, and sliding the delay time between 0 and (window size) samples.