[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.
Xue
-----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.
Alain
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
-------------------
Fred Herzfeld, MIT class of 1954
78 Glynn Marsh Drive # 59
Brunswick, Ga. 31525
USA
tel: (912) 262-1276
Web: http://alum.mit.edu/www/herzfeld (not up yet)