Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Sponsor

Industry's highest performing at the lowest power DSPs now as low as $5.00*
Start development today!
*volume pricing for 10ku

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | Comp.DSP | Pitch detection in voice (singing)

There are 21 messages in this thread.

You are currently looking at messages 0 to 10.


Pitch detection in voice (singing) - smuglr - 2005-05-13 06:39:00

Hi,

I know the general subject of pitch detection has been flogged to death,
but I am looking specifically for pitch detection in a sung melody. It
will be performed in real-time with high signal-to-noise. 

I'm currently using auto-correlation to find an estimate or the
fundamental frequency, and then using phase-unwrapping to get high
resolution. This works well for many instruments, but seems to get
confused by the formants in certain vowel sounds.

Can anyone suggest a method which would suit my needs?

Thanks,
Dougie


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - smuglr - 2005-05-13 06:56:00



>I'm currently using auto-correlation to find an estimate or the
>fundamental frequency, and then using phase-unwrapping to get high
>resolution. 

Meant to say Cepstrum, not auto-correlation - oops!

Dougie


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - 2005-05-13 08:02:00

Hi Dougie,

if you take some tool to visualize an FFT of your vocal audio-input,
you should see clear peaks for fundamental and several harmonics.

So Cepstrum should give better results, even if the fundamental and
a few harmonics are missing.
I remember several different theories and formulas, so you may check
your Cepstrum-routines with some reference-input, though it may be
an issue of samplerate and FFT-size too.

Hope it helps,

Carsten Neubauer
http://www.c14sw.de

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - smuglr - 2005-05-13 09:20:00

Looked at code for first time in a while, realised I am using
autocorrelation - the difference is just using a non-linearity is that
right?  
Eg.
AC = FT ( Powerspectrum )
Cepstrum = FT (  Log(PowerSpectrum) )

And if so, there's no practical difference between the two methods for my
purposes is there?


>if you take some tool to visualize an FFT of your vocal audio-input,
>you should see clear peaks for fundamental and several harmonics.

The code was calculating the correct answer in most cases, but as I
altered the tonal quality of my voice maintaining pitch as best I could,
the estimated frequency would change with certain sounds. 

I have noticed that I temporarily removed the section which windowed
before each each FFT. I'll stick that back in and have a go, but I didn't
think that would make too much difference to pitch estimation. 

Maybe it's my singing voice. The guys in the lab will be pleased to hear
I'm testing the pitchtracker again :).



		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - 2005-05-13 10:38:00

Forget about using FFT, cepstrum, auto/cross-correlation, AMDF/ASDF
etc.

Pitch detection problem is solved:

http://www.soundmathtech.com/p=ADitch

Dmitry Terez

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - Richard Owlett - 2005-05-13 11:02:00

d...@soundmathtech.com wrote:

> Forget about using FFT, cepstrum, auto/cross-correlation, AMDF/ASDF
> etc.
> 
> Pitch detection problem is solved:
> 
> http://www.soundmathtech.com/p­itch
> 

link as given gives 404 error
when clicked it goes to
    http://www.soundmathtech.com/p=ADitch
not
    http://www.soundmathtech.com/pitch
which works



> Dmitry Terez
> 
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - Manuel M - 2005-05-13 11:07:00

smuglr wrote:
> The code was calculating the correct answer in most cases, but as I
> altered the tonal quality of my voice maintaining pitch as best I
could,
> the estimated frequency would change with certain sounds.


Are you searching for the highest peak in the cepstrum? If so, you'll
get the effect you describe whenever there's a strong overtone.

Perhaps a more robust way is to find the lowest-frequency peak -of a
relatively high amplitude-, restricted to being harmonically related
to other (higher-frequency peaks). That way you are more likely to
find the fundamental tone, although coding will be a bit more
troublesome.

Good luck!

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - 2005-05-13 11:44:00

> Looked at code for first time in a while, realised I am using
> autocorrelation - the difference is just using a non-linearity is
that
> right?
> Eg.
> AC = FT ( Powerspectrum )
> Cepstrum = FT (  Log(PowerSpectrum) )
> And if so, there's no practical difference between the two methods
for my
> purposes is there?
Never tried autocorrelation myself.
I use
    Cepstrum = DCT( Log(Abs(FFT(WindowedSignal)))),
which seems a bit unusual, most formulas I've seen go
    Cepstrum = FFT( Log(Abs(FFT(WindowedSignal))))
or
    Cepstrum = IFFT( Log(Abs(FFT(WindowedSignal)))),
I think the log-stage makes a difference, though I can't remember
why.
Does somebody else know?


>>if you take some tool to visualize an FFT of your vocal audio-input,
>>you should see clear peaks for fundamental and several harmonics.
> The code was calculating the correct answer in most cases, but as I
> altered the tonal quality of my voice maintaining pitch as best I
could,
> the estimated frequency would change with certain sounds.

You are sure your buffers are big enough to hold a few periods of low
frequencies, are you?


> I have noticed that I temporarily removed the section which windowed
> before each each FFT. I'll stick that back in and have a go, but I
didn't
> think that would make too much difference to pitch estimation.

Perhaps you better put it back in and analyze overlapping buffers.
Imagine the short audio-buffer you want to analyze.
As FFT is for (endless) repeating Signals, imagine you would play
it repeatedly. Now in most cases you will hear a loud crack, each time
the buffer is played, because the end and the start won't fit
together
properly. Windowing removes the crack before doing FFT, but of course
introduces another error, but with a smaller effect.
Hanning- or cosine-windows work well.


> Maybe it's my singing voice. The guys in the lab will be pleased to
hear
> I'm testing the pitchtracker again :).
Sure, if we could sing that good, we wouldn't be programming stuff
like this...



Carsten Neubauer
http://www.c14sw.de

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch detection in voice (singing) - robert bristow-johnson - 2005-05-13 12:12:00

in article 1...@g43g2000cwa.googlegroups.com,
d...@soundmathtech.com at d...@soundmathtech.com wrote on 05/13/2005 10:38:

> Forget about using FFT, cepstrum, auto/cross-correlation, AMDF/ASDF etc.
> 
> Pitch detection problem is solved:

so you have told us.

> http://www.soundmathtech.com/p­itch

as Richard pointed out the page is at:

  http://www.soundmathtech.com/pitch

hey Dmitry,

i can download and open ordinary .zip files on my Mac, but i cannot open
your multisegmented "download.cgi" file.  i dno't even know what the hell it
is, when what i want is your pdemo.zip file  can you please put just the
MATLAB files of your demo into a plain old zip file and put that up on your
page?  or email it to me?  long ago, i *did* get your paper and i went
through it carefully and told the group that it was a "jazzed up" version of
AMDF that actually lost information due to the Heaviside step function that
you put into it.  that loss of information makes the algorithm vulnerable to
getting fooled.  one can create two different waveforms that will be treated
identically because of the loss of information due to the use of the
Heaviside step function.  that means pitch errors.

i know you're very proud of your algorithm and, given the state of today's
USPTO, i have little doubt that you'll get your patent, but you seriously
need to step back and look at it objectively.

but, now that the semester is over, i am now willing to take on your
challenge.  if you send me a good MATLAB version of this with no .mex files
(something that i can just run on MATLAB v 5.something), i will try to
create some .wav files that give your algorithm trouble.


-- 

r b-j                  r...@audioimagination.com

"Imagination is more important than knowledge."


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Corrupt links (was Re: Pitch detection in voice (singing)) - Jon Harris - 2005-05-13 12:40:00

That's the 3rd or 4th time I've seen this problem with links posted to this
group recently!  (The problem is hidden characters that don't show up in the
text-based URL.)  What is the causing that?  Some strange newsreader software?
Some other character encoding?

-- 
Jon Harris
SPAM blocked e-mail address in use.  Replace the ANIMAL with 7 to reply.

"Richard Owlett" <r...@atlascomm.net> wrote in message
news:1...@corp.supernews.com...
> d...@soundmathtech.com wrote:
>
> > Forget about using FFT, cepstrum, auto/cross-correlation, AMDF/ASDF
> > etc.
> >
> > Pitch detection problem is solved:
> >
> > http://www.soundmathtech.com/p­itch
> >
>
> link as given gives 404 error
> when clicked it goes to
>     http://www.soundmathtech.com/p=ADitch
> not
>     http://www.soundmathtech.com/pitch
> which works


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

| 1 | 2 | 3 | next