最近我问了这个问题:如何从 FFT 中获得基频?(您实际上不需要阅读它)
我现在的疑惑吧:倒谱算法怎么用?
我只是不知道如何使用它,因为我知道的唯一语言是 ActionScript 3,因此我很少参考 C、Java 等中的本机函数,以及我应该如何在 AS 上实现它们. 大多数文章都是关于这些语言的=/(尽管欢迎使用除 AS 以外的其他语言的答案,请解释一下脚本的工作原理)
我发现的关于倒谱以查找 FFT 结果的基频的文章告诉我应该这样做:
signal → FT → abs() → square → log → FT → abs() → square → power cepstrum
数学上:|F{log(|F{f(t)}|²)}|²
重要信息:
- 我正在闪存中开发吉他调音器
- 这是我第一次处理高级声音
- 我正在使用 FFT 从到达用户麦克风的信号中提取频率区间,但我无法从中获取基频
我不知道:
- 如何在 ARRAY 中应用正方形(我的意思是,我的 FFT 给我的数据是一个数组。我应该将它自己相乘吗?当我尝试 fftResults * fftResults 时,ActionScript 的调试会引发错误)
- 如何应用“日志”。即使我只有一个号码,我也不知道如何应用它。
- 复倒谱和功率倒谱有什么区别。另外,我应该使用它们中的哪一个?我正在尝试开发吉他调音器。
谢谢!