2016-12-06 173 views
0

我录制的音频跨越了几秒钟,并且包含以相同频率生成的两个相似音调。他们相隔几秒钟。我想要做的就是检测第一个音的结束和第二个音的开始,根据这个音频文件分开多少个样本。假设在48KHz音频下有16位带符号PCM和一个字节数组来表示原始音频。检测原始音频(PCM)中的特定频率/音调

我在努力解决这个问题;

a)运行一个DFT来检测音调

b)自两个音调是最响亮的,不知何故的特定频率的发生,计算出的峰和在那里开始为两个音调/结束

c)中运行通过的带通滤波器的音频文件,以过滤掉所有其它频率,我会潜在地结束了两行,或在阵列

什么是最简单的方法在两个非零段(随意提出其他技术)?

回答

0

运行样品通过Fast Fourier Transform,匹配您的预期频率在一定的容差范围内,然后计算不匹配之间的样本数量?

+0

这是本质上使用的答案/资源从http://stackoverflow.com/questions/17429407/get-frequency-wav-audio-using-fft-and-complex-class?谢谢 –

+0

不太确定。我只是希望我能在一个可能的方向上推动你。 –

+0

我设法让上面提供的链接信号上运行FFT。这是一个实数/虚数的数组。我能够找到每个频率的幅度。鉴于FFT阵列和它的绝对信号,我将如何根据样本数推断频率信息? –