# [music-dsp] Wavelet algorithm for Time-Frequency Analysis

robert bristow-johnson rbj at audioimagination.com
Tue Dec 28 17:47:11 EST 2010

```On Dec 28, 2010, at 5:43 AM, Stefan Westerfeld wrote:

> On Mon, Dec 27, 2010 at 02:53:30PM -0500, Bogac Topaktas wrote:
>>>> I'd like to compute the continuous wavelet transform (CWT) of my
>>>> input
>>>> signal (audio file) with the morlet wavelet, to get a time
>>>> frequency plane
>>>> which corresponds to the time frequency content of the audio
>>>> signal.
>>
>> BTW, why did you choose wavelet transform?
>
> Well, I am currently trying to analyze single notes of instruments
> (like a
> piano C4), and the algorithm I use right now (google: SpectMorph) is
> based on
> short time fourier transform. Now I remember the lecture (on finite
> element
> modelling of instruments) of one of my university professors, who
> always used
> to say: "when you use fourier transform, you get bad time resolution
> for the
> high frequency components of your signal, but nowerdays we have the
> wavelet
> transform, which provides much better time resolution for high
> frequency
> components".
>
> So thats why I am currently trying to evaluate if the wavelet
> transform would
> in fact have advantages over STFT in my scenario. However, I am a bit
> sceptical, because the partials of my input signal are equally
> spaced linear
> frequencies (440, 880, 1320, ...), and I suppose that while the
> wavelet
> transform will in fact give me better time resolution, it will not
> be able to
> seperate the high partials from each other, because they are too
> close.

dunno if you want to think of it this way, you could use a sorta STFT
where you have different N-point DFTs operating on the complementary
filter banks, and in the higher octaves you sample the filter output
proportionately faster.  you need to define a way to combine the
frequency-corresponding bins from the most-current DFTs of the
filterbanks.  i *think* this has something to do with the wavelets
(and filterbanks) approach to looking at things.

doesn't this have something to do with how visual images are
disassembled and coded using some kinda two-parameter wavelet
function?  but instead of one parameter per octave (sampled at a
higher rate), it could be N/2 parameter values per octave.  and each
octave filter bank would be sampled at an Fs that is twice that of the
octave below.

i don't know exactly how, but i think a filterbank description like
that above can be equivalently described in wavelet language.

--

r b-j                  rbj at audioimagination.com

"Imagination is more important than knowledge."

```