1
$\begingroup$

The timbre of an harmonic sound (e.g. the steady part of a violin note) is defined by the amplitude of each harmonic (including the fundamental). In order to compare the timbre of two instruments (e.g. two violins playing the G string), I could compare those amplitudes. If the instrument are similar, I suppose that there will be a little difference in the harmonic distribution. Now, is the FFT a reliable tool for this kind of analysis? Should I take into account the noise that it introduces, or is it negligible?

$\endgroup$

2 Answers 2

2
$\begingroup$

An FFT is a finite length transform. Therefore one does need to take into account any artifacts introduced by the window (implied rectangular, or optional Von Hann, et.al.).

There is some controversy, but you might consider sampling using a greater ADC bit depth than 16 bits at a rate higher than 44.1 ksps to feed you FFTs, and use one of the typical double precision FFT libraries to reduce any numerical noise. (...and how you mic the violin may make a far greater difference than any of the above.)

$\endgroup$
1
$\begingroup$

The windowing artifacts mentioned by hotpaw2 could be considered part of a larger issue: The relationship between harmonics and peaks in the spectrum is not entirely straightforward. Since peaks are always spread out to some extent ("spectral leakage"), estimating the amplitude of a harmonic is not trivial.

However, if by "noise" you mean numerical errors, I'd say there is no need to worry. People do FFT and inverse FFT transforms all the time without causing any significant audible artifacts. In this sense, there is also no real loss of information due to windowing; the FFT just doesn't give you exactly what you want, at least not without any significant post-processing.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.