相关疑难解决方法(0)

俯仰检测的倒谱分析

我正在寻找从声音信号中提取音高.

IRC上的某个人刚刚向我解释了如何采用双FFT实现这一目标.特别:

  1. 采取FFT
  2. 取绝对值平方的对数(可以用查找表完成)
  3. 采取另一个FFT
  4. 取绝对值

我正在尝试使用vDSP

我无法理解我之前没有遇到过这种技术.我做了很多狩猎和提问; 几周值得.更重要的是,我无法理解为什么我没有想到它.

我试图用vDSP库实现这一目标.它看起来好像有处理所有这些任务的功能.

但是,我想知道最终结果的准确性.

我之前使用的技术是将单个FFT的频率区域扫描为局部最大值.当它遇到一个时,它使用一种狡猾的技术(自上次FFT以来的相位变化)来更准确地将实际峰值放置在箱内.

我担心这种精确度会因为我在这里介绍的技术而丢失.

我想这种技术可以在第二次FFT之后使用,以准确地得到基波.但有点看起来信息在第2步中丢失了.

由于这是一个潜在的棘手过程,有经验的人可以只看一下我正在做的事情并检查它的理智吗?

此外,我听说有一种替代技术涉及在相邻的箱子上安装二次方.这是否具有可比性?如果是这样,我会赞成它,因为它不涉及记住bin阶段.

所以,问题:

  • 这种方法有意义吗?可以改进吗?
  • 我有点担心"log square"组件; 似乎有一个vDSP函数可以做到这一点:vDSP_vdbcon.但是,没有迹象表明它会预先计算日志表 - 我认为它不会,因为FFT函数需要调用显式预计算函数并将其传递给它.而这个功能没有.
  • 是否存在拾取谐波的危险?
  • 是否有任何狡猾的方式使vDSP拉出最大值,最大的第一?
  • 有人能指出我对这种技术的一些研究或文献吗?

  • 主要问题:它足够准确吗?可以提高准确度吗?一位专家刚刚告诉我,准确性是不充分的.这是行的结束吗?

PS当我想创建标签时,我很生气,但不能.:| 我已向维护人员建议SO跟踪尝试的标签,但我确信我被忽略了.我们需要vDSP标签,加速框架,倒谱分析

signal-processing fft detection pitch vdsp

30
推荐指数
3
解决办法
2万
查看次数

如何从FFT获得基频?

我正在开发一把闪光吉他,发现麦克风数据频率的唯一明显方法似乎是使用 FFT。然而,经过大约 30 个小时的研究后,我无法找到最好的方法。我应该使用谐波积谱 (HPS)、倒谱还是最大似然?调谐器必须显示 25 到 3000Hz 的频率。

另外,如果有人知道一些准备找到基本频率的开源代码,请告诉我。我可以将它翻译成 ActionScript。

谢谢!

fft microphone frequency frequency-analysis guitar

2
推荐指数
1
解决办法
2万
查看次数