Eric

]]>—————————————————-

> many thanks for the reply eric, could you elaborate on that a little I’m having a bit of trouble getting my head around it!

—————————————————-

Sure thing. First let’s suppose all of the sound you’re interested in is between 0Hz to 5000 Hz. Let’s also assume you’re at a sampling rate of 44100 and using an FFT size of 1024. The analysis fundamental frequency is SR/N or in this case roughly 43.066Hz. (You can think of it this way: the analysis fundamental frequency is the reciprocal of the analysis period. The analysis period is simply the number of samples you’re analyzing divided by the sampling rate.) So 43.066Hz is more or less the bandwidth for each bin considered as a filter. Now bring your sampling rate down to 10000 Hz (2 x highest frequency you need to analyze). Your analysis fundamental is now 10000/1024 or about 9.76 Hz. See how that improves your frequency resolution?

Actually though, I was wrong about transposing the spectrum down if you have a limited bandwidth, say are only interested in frequencies from 1000-2000Hz. If you transpose that down to 100-200Hz and divide your sampling rate by 10, you still get the same number of relevant analysis bins, since the resolution of the DFT/FFT is lower in the low range of the spectrum. But the advantage of downsampling listed above is significant. Just run MaxMSP at a lower sampling rate, or inside a downsampled poly~. Disclaimer: I haven’t actually tested this on MaxMSP so do let us all know how it works for you.

Eric

]]>Transform based single sideband modulator) to subtract 1000Hz from

the signal – your range is now 0 – 1000Hz. your analysis fundamental

can now be 2000/1024 = 1.953Hz. Also, interpreting the data is easy

because you just have to add 1000Hz to each to get the real frequencies.

Best

L

On 29 Nov 2006, at 21:26, Eric Lyon wrote:

>

> Actually though, I was wrong about transposing the spectrum down if

> you have a limited bandwidth, say are only interested in

> frequencies from 1000-2000Hz. If you transpose that down to

> 100-200Hz and divide your sampling rate by 10, you still get the

> same number of relevant analysis bins, since the resolution of the

> DFT/FFT is lower in the low range of the spectrum. But the

> advantage of downsampling listed above is significant. Just run

> MaxMSP at a lower sampling rate, or inside a downsampled poly~.

> Disclaimer: I haven’t actually tested this on MaxMSP so do let us

> all know how it works for you.

>

Lawrence Casserley – lawrence@lcasserley.co.uk

Lawrence Electronic Operations – http://www.lcasserley.co.uk

Colourscape Music Festivals – http://www.colourscape.org.uk

—————————————————-

> Alternatively you could use a linear frequency shifter (eg a Hilbert

> Transform based single sideband modulator) to subtract 1000Hz from

> the signal – your range is now 0 – 1000Hz. your analysis fundamental

> can now be 2000/1024 = 1.953Hz. Also, interpreting the data is easy

> because you just have to add 1000Hz to each to get the real frequencies.

>

Nice one, Lawrence. That should about double the available bins for that frequency range.

Eric

]]>Me neither, but I’m not sure this is true:

> moreover the grid is not of a fixed and known shape before the

> analysis

I was fiddling with the CNMAT object earlier this week, and as far as I can tell the nature of the resulting analysis windows is predictable in size and shape (in this case).

Wavelet~ uses the GNU scientific library for the number crunching, and the docs for that explain the output format

http://www.gnu.org/software/gsl//manual/html_node/DWT-in-one-dimension.html

or

So, you’re gurranteed that the analysed data is as long as the input data, that you can determine the number of ‘bins’ in relation to the analysis length, and that the bins will be laid out in a certain way.

What on earth to do with the data still eludes me :)

–

Owen