knowledge-database (beta)

Current group: comp.dsp

logarithmic fft for musical notes?

logarithmic fft for musical notes?  
Barry
 Re: logarithmic fft for musical notes?  
Allan Herriman
 Re: logarithmic fft for musical notes?  
John E. Hadstate
 Re: logarithmic fft for musical notes?  
Fred Marshall
 Re: logarithmic fft for musical notes?  
bg_ie at yahoo.com
 Re: logarithmic fft for musical notes?  
Al Clark
 Re: logarithmic fft for musical notes?  
bg_ie at yahoo.com
 Re: logarithmic fft for musical notes?  
bg_ie at yahoo.com
From:Barry
Subject:logarithmic fft for musical notes?
Date:21 Jan 2005 17:57:52 -0800
Hi,

I was wondering are there FFTs available with bin widths that match
the frequency of a musical note. So, bin 10 say for C, bin 11 for Db,
bin 12 for D etc.

Are there any articles on this?

Perhaps I might be more interested in a psd for of this.

Cheers,

Barry.
From:Allan Herriman
Subject:Re: logarithmic fft for musical notes?
Date:Mon, 24 Jan 2005 16:36:59 +1100
On 21 Jan 2005 17:57:52 -0800, bg_ie@yahoo.com (Barry) wrote:

>Hi,
>
>I was wondering are there FFTs available with bin widths that match
>the frequency of a musical note. So, bin 10 say for C, bin 11 for Db,
>bin 12 for D etc.
>
>Are there any articles on this?
>
>Perhaps I might be more interested in a psd for of this.
>
>Cheers,
>
>Barry.

You could use a modified constant-Q transform for this.

Regards,
Allan
From:John E. Hadstate
Subject:Re: logarithmic fft for musical notes?
Date:Sat, 22 Jan 2005 08:50:38 -0500

"Barry" wrote in message
news:731cea69.0501211757.13a59cae@posting.google.com...
> Hi,
>
> I was wondering are there FFTs available with bin widths
that match
> the frequency of a musical note. So, bin 10 say for C, bin
11 for Db,
> bin 12 for D etc.
>
> Are there any articles on this?
>
> Perhaps I might be more interested in a psd for of this.
>
> Cheers,
>
> Barry.

I don't think you'll find an FFT that does this directly,
but you could certainly construct a DFT that does this using
table-driven frequencies. Note that you are back to an
O(N^2)-type algorithm, but if you have few enough
frequencies, you might get suitable performance.
From:Fred Marshall
Subject:Re: logarithmic fft for musical notes?
Date:Sun, 23 Jan 2005 13:13:04 -0800

"Barry" wrote in message
news:731cea69.0501211757.13a59cae@posting.google.com...
> Hi,
>
> I was wondering are there FFTs available with bin widths that match
> the frequency of a musical note. So, bin 10 say for C, bin 11 for Db,
> bin 12 for D etc.
>
> Are there any articles on this?
>

Look up spectrum analyzers in various threads. That's usually what they do.
There have been many discussions.
One method would combine bins of a higher resolution FFT.
Note there will be a lower frequency limit for the fractional bands.

Fred
From:bg_ie at yahoo.com
Subject:Re: logarithmic fft for musical notes?
Date:22 Jan 2005 12:55:04 -0800
Cheers.

I was thinking that a log psd would probably be the best option. For
example, an A4 note ranges from 428 to 452 Hz, but an A2 only ranges
from 107 to 113Hz. How might I estimate the power between from 107 to
113Hz and from 428 to 452?

I'm looking for an output something like this from my log psd function
-

A0 0.001
A# 0 0.4
B0 0.021
C0 0.101
C#0 0.02
etc.

Any ideas where to start?

Thanks.
From:Al Clark
Subject:Re: logarithmic fft for musical notes?
Date:Sat, 22 Jan 2005 21:09:15 GMT
bg_ie@yahoo.com wrote in news:1106427304.547451.22260
@c13g2000cwb.googlegroups.com:

> Cheers.
>
> I was thinking that a log psd would probably be the best option. For
> example, an A4 note ranges from 428 to 452 Hz, but an A2 only ranges
> from 107 to 113Hz. How might I estimate the power between from 107 to
> 113Hz and from 428 to 452?
>
> I'm looking for an output something like this from my log psd function
> -
>
> A0 0.001
> A# 0 0.4
> B0 0.021
> C0 0.101
> C#0 0.02
> etc.
>
> Any ideas where to start?
>
> Thanks.
>
>

I think what you really want is a filter bank with constant percentage
bandwidth. In your case 1/12th octaves. These can be constructed with 12
IIR filters. If you decimate by 2 and rerun the filters, you get the next
lower octave. You can partion your processing so that the highest octave
takes 1/2 the computation time, the next 1/4, the next 1/8th etc.

This is not particularly efficient as compared to the FFTs. An FFT method
requires large FFTs or multiple FFTs at different sample rates. You add
multiple bins together to synthesize each note bin.



--
Al Clark
Danville Signal Processing, Inc.
--------------------------------------------------------------------
Purveyors of Fine DSP Hardware and other Cool Stuff
Available at http://www.danvillesignal.com
From:bg_ie at yahoo.com
Subject:Re: logarithmic fft for musical notes?
Date:22 Jan 2005 12:56:57 -0800
Woops, tring to get the hang of Google Groups Beta!

Cheers.

I was thinking that a log psd would probably be the best option. For
example, an A4 note ranges from 428 to 452 Hz, but an A2 only ranges
from 107 to 113Hz. How might I estimate the power between from 107 to
113Hz and from 428 to 452?

I'm looking for an output something like this from my log psd function
-

A0 0.001
A# 0 0.4
B0 0.021
C0 0.101
C#0 0.02
etc.

Any ideas where to start?

Thanks.
From:bg_ie at yahoo.com
Subject:Re: logarithmic fft for musical notes?
Date:22 Jan 2005 12:54:46 -0800

John E. Hadstate wrote:
> "Barry" wrote in message
> news:731cea69.0501211757.13a59cae@posting.google.com...
> > Hi,
> >
> > I was wondering are there FFTs available with bin widths
> that match
> > the frequency of a musical note. So, bin 10 say for C, bin
> 11 for Db,
> > bin 12 for D etc.
> >
> > Are there any articles on this?
> >
> > Perhaps I might be more interested in a psd for of this.
> >
> > Cheers,
> >
> > Barry.
>
> I don't think you'll find an FFT that does this directly,
> but you could certainly construct a DFT that does this using
> table-driven frequencies. Note that you are back to an
> O(N^2)-type algorithm, but if you have few enough
> frequencies, you might get suitable performance.
   

Copyright © 2006 knowledge-database   -   All rights reserved