2016-12-06 170 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陣列和它的絕對信號,我將如何根據樣本數推斷頻率信息? –