[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [AUDITORY] pitch

Sorry for self-advertisement -

Wen X. and M. Sandler, "Sinusoid modeling in a harmonic context," in Proc.
DAFx, Bordeaux, 2007.

This was designed to handle stiff string inharmonicity (as in the piano) but
it's trivial to downgrade it for perfect harmonics. The idea was that each
harmonic observed with a small or large error provides some more or less
information on the pitch. The more harmonics you have the more precise you
can pin your f0 down. So it's how many harmonics you use that matters, not
how many you miss or ignore.


-----Original Message----- From: Alain de Cheveigne'
Sent: Thursday, October 17, 2013 5:20 PM
To: AUDITORY@xxxxxxxxxxxxxxx
Subject: Re: [AUDITORY] pitch

Here's the recipe:
(1) estimate the period with subsample resolution (e.g. with Praat or YIN),
(2) interpolate the signal over a period interval to an integer number of samples,
(3) apply the Digital Fourier Transform (DFT).

The coefficients of the DFT give the amplitude and phase of each harmonic. These values are exact if the signal is purely periodic.

Optionally, if the signal is noisy, you might want to average the complex DFTs of several periods (or equivalently, average the waveforms of the periods before applying the DFT). Alternatively, you might prefer to average the power spectra of those periods, and take the square root to get the RMS amplitude spectrum (similar to the Welch method). The choice between these two options depends on which aspects of the non-stationary signal you want to average out.

The period interval signal is not windowed before the DFT. If speed were an issue you might interpolate to a power of two and use FFT to calculate the DFT. Various methods are available for interpolation, the best choice depends on your exact needs. For a first approximation, simple linear or quadratic interpolation might suffice.


On 16 Oct 2013, at 15:16, herzfeld <herzfeld@xxxxxxxxxxxx> wrote:

Can anyone point me to a method which takes as input a signal having a number of harmonics and computes each harmonic as frequency, amplitude and pitch even in the absence of some of the partials ?


Fred Herzfeld, MIT class of 1954
78 Glynn Marsh Drive # 59
Brunswick, Ga. 31525

tel: (912) 262-1276
Web: http://alum.mit.edu/www/herzfeld (not up yet)