检测原始音频(PCM)中的特定频率/音调

时间:2016-12-06 06:22:49

标签: java android audio pcm dft

我录制了几秒钟的音频,其中包含两个以相同频率生成的相似音调。它们相距几秒钟。我想要做的是检测第一个音调的结束和第二个音调的开始,就这个音频文件分开的样本数量而言。假设有48KHz音频的16位有符号PCM和一个代表原始音频的字节数组。

我正在努力解决这个问题;

a)运行DFT以检测音调的特定频率的发生

b)由于两个音调最响亮,不知何故,找出峰值以及两个音调开始/结束的位置

c)通过带通滤波器运行音频文件以滤除所有其他频率,我可能最终得到两行,或者数组中的两个非零段

最直接的方法是什么(随意提出其他技巧)?

1 个答案:

答案 0 :(得分:0)

通过Fast Fourier Transform运行样本,与特定容差范围内的预期频率匹配,然后计算不匹配时的样本数量?