小编Luc*_*nza的帖子

如何使用cepstral?

最近我问了这个问题:如何从FFT获得基频?(你实际上不需要阅读它)

我现在怀疑它:如何使用cepstral算法?

我只是不知道如何使用它,因为我所知道的唯一语言是ActionScript 3,因此我几乎没有关于C,Java等中的本机函数的引用,以及我应该如何在AS上实现它们.大多数文章是关于这些语言= /(尽管如此,欢迎使用AS以外的其他语言的答案,请解释脚本如何工作请)

我发现有关cepstral的文章找到FFT结果的基本频率告诉我,我应该这样做:

信号→FT→abs()→square→log→FT→abs()→square→power倒谱

数学上:| F {log(| F {f(t)} |²)} |²

重要信息:

  • 我正在开发一个GUITAR TUNER
  • 这是我第一次处理高级声音
  • 我正在使用FFT从到达用户麦克风的信号中提取频率分档,但是我无法从中获取基频

我不知道:

  • 如何在ARRAY中应用一个正方形(我的意思是,我的FFT给我的数据是一个数组.我应该自己乘以它吗?当我尝试fftResults*fftResults时,ActionScript的调试会抛出错误)
  • 如何申请"日志".即使我有一个号码,我也不知道如何应用它.
  • 复杂cepstral和power cepstral之间有什么区别.另外,我应该使用它们中的哪一个?我正在努力开发吉他调音器.

谢谢!

arrays actionscript fft frequency frequency-analysis

5
推荐指数
2
解决办法
2303
查看次数

如何从FFT获得基频?

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

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

谢谢!

fft microphone frequency frequency-analysis guitar

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