2

我正在尝试开发一个能够识别动物声音片段的应用程序。我正在做的是我正在接受 AMR 记录并从中读取字节数组并通过 FFT 发送这些数据并相应地计算幅度。

AMR 文件采样频率 8 KHz(标准 AMR 为 15 秒)

输入 8192 个值的 FFT 点数 4096

然后我通过幅度=2 * FFT 点值/8192 计算幅度

所以我现在的意图是在与最高振幅相关的频率处获得一个尖峰,问题是最高振幅的尖峰对于同一动物的其他一些声音片段来说是不一致的。对于另一个声音剪辑,与最高振幅变化相关的频率。是否有一个原因?。对此的任何帮助和指导将不胜感激。提前致谢。

4

1 回答 1

1

您的文件的采样频率为 8KHz,但我认为人类的平均听力频率约为 20KHz,所以您确定您尊重采样的奈奎斯特频率(.wav 文件的采样率通常至少为 48KHz )?

奈奎斯特频率规定,如果要对给定信号进行采样,则必须使用至少是给定信号最大频率两倍的采样频率。

此外,同一种动物可以并且会发出不同的声音,因此对于两个不同的样本,您的平均频率将永远不会相同。您是否有考虑不同平均频率的容差阈值?

于 2011-12-26T13:23:22.050 回答