Subject:Re: [AUDITORY] pitchFrom:"Alain de Cheveigne'" <alain.de.cheveigne@xxxxxxxx>Date:Thu, 17 Oct 2013 10:20:37 +0100List-Archive:<http://lists.mcgill.ca/scripts/wa.exe?LIST=AUDITORY>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@xxxxxxxx> 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 ? >=20 > Fred > ------------------- >=20 > Fred Herzfeld, MIT class of 1954 > 78 Glynn Marsh Drive # 59 > Brunswick, Ga. 31525 > USA >=20 > tel: (912) 262-1276 > Web: http://alum.mit.edu/www/herzfeld (not up yet)=20

This message came from the mail archive

/var/www/postings/2013/

maintained by: DAn Ellis <dpwe@ee.columbia.edu>

Electrical Engineering Dept., Columbia University