FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 07-02-2005, 11:47 AM
Erik
Guest
 
Posts: n/a
Default Pitch detection algorithm

Hello!

I'm trying to develop an application whose primary purpose is to detect
which tone the user is singing (real time) using frequency analysis, and I
wonder which algorithm to use. I analyze samples of approx 1/10 sec. I first
tried using fourier transform, but since the frequencies are spread out
evenly up to the Nyquist frequency, the resolution is way too bad (approx 3
Hz). I need at least .1Hz, preferrably .01 Hz or better (.03 Hz is one cent
in the vicinity of low A, 55Hz). I then tried the Chirp-Z transform in a
2-pass process where the first pass finds the approximate peak and the
second pass zooms in around that peak to find a more exact value, but it's
considerably more expensive and references to it on the web are very rare,
leading me to believe that its not commonly used. Also, the peak is quite
wide, even for my tuning fork. I do apply a Hanning window before the
analysis.

Can anyone point me in the right direction?


Reply With Quote
  #2 (permalink)  
Old 07-02-2005, 03:47 PM
Jerry Avins
Guest
 
Posts: n/a
Default Re: Pitch detection algorithm

Erik wrote:
> Hello!
>
> I'm trying to develop an application whose primary purpose is to detect
> which tone the user is singing (real time) using frequency analysis, and I
> wonder which algorithm to use. I analyze samples of approx 1/10 sec. I first
> tried using fourier transform, but since the frequencies are spread out
> evenly up to the Nyquist frequency, the resolution is way too bad (approx 3
> Hz). I need at least .1Hz, preferrably .01 Hz or better (.03 Hz is one cent
> in the vicinity of low A, 55Hz). I then tried the Chirp-Z transform in a
> 2-pass process where the first pass finds the approximate peak and the
> second pass zooms in around that peak to find a more exact value, but it's
> considerably more expensive and references to it on the web are very rare,
> leading me to believe that its not commonly used. Also, the peak is quite
> wide, even for my tuning fork. I do apply a Hanning window before the
> analysis.
>
> Can anyone point me in the right direction?


It is a humorous truism among voice instructors that "vibrato should not
exceed the minor third". Is there a singer anywhere who can hold a tone
to within a third of a cent long enough for the actual frequency to be
measured? Even a flautist? I suggest that you think about what you want
to do as well as how to do it.

See if http://www.numerix-dsp.com/zoomfft.html helps. The longer a
signal is sampled, the finer the frequency resolution you get. the
frequency resolution is approximately the reciprocal of the measurement
interval. The signal's appearing to be substantially broader than that
indicates that it has sidebands from amplitude or frequency variations.

Jerry
--
Engineering is the art of making what you want from things you can get.
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
Reply With Quote
  #3 (permalink)  
Old 07-02-2005, 07:03 PM
Matt Timmermans
Guest
 
Posts: n/a
Default Re: Pitch detection algorithm

Hi Erik,

"Erik" <[email protected]> wrote in message
news:Ootxe.28389$[email protected]..
> I'm trying to develop an application whose primary purpose is to detect
> which tone the user is singing (real time) using frequency analysis, and I
> wonder which algorithm to use. [...]


Get "A high resolution fundamental frequency determination based on phase
changes in the Fourier transform", which
describes what I believe is the standard way to accomplish this.

You can get it from Judith Brown's home page here: (there's also a link to
the djvu plugin which you will have to install to see it).

http://www.wellesley.edu/Physics/brown/jbrown.html

--
Matt


Reply With Quote
  #4 (permalink)  
Old 07-03-2005, 10:09 PM
Erik
Guest
 
Posts: n/a
Default Re: Pitch detection algorithm

Thanx!

If the algorithm is as good as it appears to be in that paper, it's just
what I was looking for.

> Hi Erik,
>
> "Erik" <[email protected]> wrote in message
> news:Ootxe.28389$[email protected]..
>> I'm trying to develop an application whose primary purpose is to detect
>> which tone the user is singing (real time) using frequency analysis, and
>> I wonder which algorithm to use. [...]

>
> Get "A high resolution fundamental frequency determination based on phase
> changes in the Fourier transform", which
> describes what I believe is the standard way to accomplish this.
>
> You can get it from Judith Brown's home page here: (there's also a link
> to
> the djvu plugin which you will have to install to see it).
>
> http://www.wellesley.edu/Physics/brown/jbrown.html
>
> --
> Matt
>
>



Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pitch detection altmeyermartin DSP 37 07-24-2005 09:41 AM
Realtime pitch detection - How does the different algorithms compare PaulWiik DSP 17 05-27-2005 04:34 AM
Pitch detection in voice (singing) smuglr DSP 20 05-15-2005 08:25 PM
pitch detection Giovanna DSP 1 09-04-2004 04:30 PM
Reference implementation of pitch detection Elizabeth DSP 19 08-27-2003 01:51 PM


All times are GMT +1. The time now is 01:44 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved