首先,我很抱歉,因为我是一名软件开发人员,而且很长一段时间以来我还没有深入研究纯数学,所以我的问题似乎很愚蠢。我希望不是。
背景是音乐中的音高识别。
如果您记下音符,然后对其进行傅立叶变换,则对于给定的频率,您将获得无限的振幅总和。例如,如果我在任何乐器上演奏基音为的音符,则在进行傅立叶变换后,我将在处产生谐波。每个频率都会有一个给定的幅度,该幅度定义了乐器的音色(钢琴,声音,小号……都遵循此律,但是每个谐波的幅度都不同)F ,2 F ,3 F ,… ,n F
现在我想要做的是从给定的音频信号,找到。只是。这比看起来要复杂得多,因为您将始终有背景噪声等等。此外,不一定是振幅最高的频率!˚F
因此,我找到想法是应用DFT(实际上实际上是FFT以获得速度)并找到频率,以便在FFT输出中最大。F F + 2 F + 3 F + … + n F
您认为这完全有可能吗?您认为在很短的时间内(例如<5毫秒)有可能吗?
可能这可能是答案:edaboard.com/thread197897.html
好吧,是的,但这是另一种方法,不是吗?恕我直言,它更容易但可靠得多,因为它无法区分谐波声音和非谐波声音...
—
Dinaiz 2011年