Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java上检测声音频率_Java_Audio_Signal Processing_Dtmf - Fatal编程技术网

如何在Java上检测声音频率

如何在Java上检测声音频率,java,audio,signal-processing,dtmf,Java,Audio,Signal Processing,Dtmf,我需要读取音频流并确定生成的超声波 如何从流式音频中找到特定的声音序列 起初我认为是DTMF的方向,但后来拒绝了,因为它是人耳听到的 如果你还有其他想法,我很乐意听听。最简单的方法是使用傅里叶变换,将周期信号转换成一张漂亮的频率图。把你的输入信号分成几个短的部分,然后应用,看看你在频谱的正确部分是否有足够高的电平。当然,这只适用于足够长的信号 但是用普通PC音频输入检测超声波可能很棘手;这是标准的离散化传入的声音广告44100赫兹,所以你只会有非常扭曲的迹象,近超声波。较新的卡具有更高的离散化频

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

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


如果你还有其他想法,我很乐意听听。

最简单的方法是使用傅里叶变换,将周期信号转换成一张漂亮的频率图。把你的输入信号分成几个短的部分,然后应用,看看你在频谱的正确部分是否有足够高的电平。当然,这只适用于足够长的信号


但是用普通PC音频输入检测超声波可能很棘手;这是标准的离散化传入的声音广告44100赫兹,所以你只会有非常扭曲的迹象,近超声波。较新的卡具有更高的离散化频率,如192 kHz。

另一种方法是什么?我需要在音频中输入任何东西,然后检测它并做些什么。