音调检测的FFT [英] FFT for Pitch Detection

查看:137
本文介绍了音调检测的FFT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近使用FFT进行音高检测,我注意到,尽管音符正确(例如C,D#等),但是有许多音符的八度音阶错误(例如E2被归类为E3 ,C3被归类为C4,始终为八度.

Ive been recently using FFT for Pitch Detection and I notice that, although the notes are correct (e.g. C, D#, etc.), there are a lot of notes that are in the wrong octave (e.g. E2 is categorized as E3, C3 is categorized as C4, always an octave up).

为什么会这样?我的算法是在计算FFT箱后,获得强度最大的箱并计算出它的频率.

Why is this the case? My algorithm is after calculating the FFT bins, I get the bin with the greatest intensity and calculate which frequency it is.

对此有任何帮助吗?谢谢!

Any help on this? Thanks!

推荐答案

两个想法:-

  1. 如果您的输入和算法始终与期望值相差1个八度,那您难道就不能像这样校正校准并总是减去一个八度吗?

  1. if your input and your algorithm are always exactly 1 octave apart from what you expect then can't you just accpet that you're calibrated like that and always subtract an octave?

当您拿起吉他弦时,总会得到高出一个八度的谐波(第二谐波),该谐波非常响亮-大约与自然(一阶谐波)一样大.接下来,您会得到1个八度音阶以上的7个半音(三次谐波),但是这个八度音阶确实很明显.

when you take a guitar string you always get a harmonic (the 2nd harmonic) exactly one octave higher that is very loud - about as loud as the natural (the 1st harmonic). next you get 1 octave 7semitones above (3rd harmonic) but the octave harmonic is really noticeable.

这篇关于音调检测的FFT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆