FFT基音检测使用加速框架的iOS?(FFT Pitch Detection for iOS usi

2019-07-29 04:57发布

我一直在阅读了关于FFT基音检测有一段时间了,但我无法拼凑它一起。

我曾指出,在加快框架大概是去与最好的办法,我已经阅读从苹果的示例代码来看看如何使用它的FFT。 什么是如果我想运行在实时基音检测的FFT输入数据? 难道我只是通过从麦克风的音频流? 我会怎么做呢?

此外,后我得到的FFT输出,我怎么能得到的频率是多少? 我一直在阅读无处不在,并不能找到任何的例子或解释?

谢谢你的帮助。

Answer 1:

频率和音调是不一样的事情 - 频率是一个物理量,沥青是一种心理感知 - 它们是相似的,但也有重要的区别,这可能会或可能不会怎么了你,这取决于你是仪器的类型试图测量间距。

你需要阅读了关于各种音调检测算法一点(和沥青本身的意义),决定你想要什么要使用的算法, 然后才着手实现它。 见这个维基百科页面了很好的概述音高和音调检测(注意,您可以使用FFT自相关和基于频域的方法)。

作为使用FFT来确定频谱峰和其相关的频率,有许多与此相关的SO上已经问题和答案,例如参见: 我如何获得在FFT的每个值的频率?



Answer 2:

我有可用的自相关函数在线为IOS 5.1的示例实现。 看这篇文章的链接,如何找到最近的音符,以及如何实施和功能来创建一个表示间距的字符串(A,A#,B,B#,等...)

虽然FFT在许多应用中非常有用,如果你正在试图做简单的音调检测它可能不是最准确的。 (它可以是准确的,但你必须处理复杂的数字做了很多期计算)



文章来源: FFT Pitch Detection for iOS using Accelerate Framework?