I wrote a blog post a while ago about how to use FFT to find the pitch of
an instrument. As I mention in the post, this is hardly the best way, but I
think it's suitable for many applications. For example, you could write a
perfectly serviceable guitar tuner with this.

The post links to code and includes some discussion of specific issues of
time/frequency resolution and so on.

I've been wanting to write about other methods, but... maybe when I retire
:)

http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html

On Thu, Jan 26, 2017 at 12:36 PM, Evan Balster <e...@imitone.com> wrote:

> Philosophy rant:  Frequency is a model.  You can use tools that build on
> that model to describe your signal in terms of frequency, but none of them
> are going to be perfect.  A pure 10hz tone is a mathematical abstraction
> which you'll not find in any digital signal or measurable phenomenon.  But, 
> *ooh
> boy!* is that abstraction useful for modeling real things.
>
> If you have an extremely clean signal and you want an extremely accurate
> measurement, my recommendation is to forgo fourier transforms (which
> introduce noise and resolution limits) and use optimization or measurement
> techniques in the time domain.  In your example, *zero crossings are the
> easiest and best solution* as Steffan suggests.
>
> Another interesting approach, which I mention for scholarly purposes,
> would be to design a digital filter with a sloping magnitude response (even
> the simplest one-pole lowpass could do) and apply it across the signal.
> You can measure the change in the signal's power (toward the end, because
> the sudden beginning of a sine wave produces noise) and find the frequency
> for which the filter's transfer function produces that attenuation.  This
> filter-based technique (and related ones) can generalize to other problems
> where zero-crossings are less useful.
>
> – Evan Balster
> creator of imitone <http://imitone.com>
>
> On Thu, Jan 26, 2017 at 9:20 AM, STEFFAN DIEDRICHSEN <sdiedrich...@me.com>
> wrote:
>
>> At that length, you can count zero-crossings. But that’s not a valid
>> answer, I’d assume.
>> But I found a nice paper on determining frequencies with FFTs using a
>> gaussian window.  Pretty accurate results.
>>
>> Best,
>>
>> Steffan
>>
>>
>> On 26.01.2017|KW4, at 15:24, Theo Verelst <theo...@theover.org> wrote:
>>
>> Say the sample length is long enough for any purpose, like 10 seconds.
>>
>>
>>
>> _______________________________________________
>> dupswapdrop: music-dsp mailing list
>> music-dsp@music.columbia.edu
>> https://lists.columbia.edu/mailman/listinfo/music-dsp
>>
>
>
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>



-- 
Bjorn Roche
@shimmeoapp
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to