Pitch detection with computeSpectrum() return FFT values

前端 未结 4 499
借酒劲吻你
借酒劲吻你 2020-12-30 15:19
  • I\'m developing using Actionscript 3.0 for Flash Player 10.3
  • I\'m using computeSpectrum() on a loaded .mp3
  • Running *Event.ENTER_FRAM
4条回答
  •  借酒劲吻你
    2020-12-30 16:06

    You can use the Harmonic Product Spectrum method to estimate the distance (frequency difference) between overtone peaks in a frequency spectrum (FFT results), even if some peaks are missing, as long as there are not too many spurious frequency peaks (noise).

    To do a Harmonic Product Spectrum, print the FFT out on semi-transparent paper and roll it up into a cylinder (or do the equivalent in software). Wrap the cylinder tighter and tighter until the greatest amount of peaks overlap. The circumference will be a good estimate of the pitch. This works for any musical sounds that have lots of harmonics, even if a fundamental pitch frequency peak is missing or weak.

提交回复
热议问题