如何在Java上检测声音频率

时间:2011-04-16 13:47:23

标签: java audio signal-processing dtmf

我需要阅读音频流并确定生成的超声波 如何从流式音频中找到特定的声音序列?

起初我想到了DTMF的方向,但后来拒绝了它,因为这是人耳听到的。

如果您有任何其他想法,我会很高兴听到它们。

1 个答案:

答案 0 :(得分:3)

直接的方法是使用傅里叶变换将周期性信号转换为漂亮的频率图表。将输入信号切换成短片,应用FFT并查看光谱右侧是否有足够高的电平。这当然只适用于足够长的信号。

但是用库存PC音频输入检测超声可能很棘手;将传入的声音广告44100 Hz进行离散化是标准的,因此您只会有非常扭曲的近距离超声迹象。较新的卡能够具有更高的离散频率,如192 kHz。