gpt4 book ai didi

java - AMR 文件的 FFT 计算问题

转载 作者:行者123 更新时间:2023-11-30 11:48:48 27 4
gpt4 key购买 nike

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

AMR file sample frequency 8 KHz (Standard AMR of 15 seconds)

Number of FFT points 4096 for input of 8192 values

Then I calculate amplitude by amplitude=2 * FFT point value/8192

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

最佳答案

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

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

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

关于java - AMR 文件的 FFT 计算问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com