我正在尋找一種成功的方法來識別自己產生的聲音。音調的產生和檢測
我的想法是在立體花甚至是兩個不同的聲音。兩種音調的頻率不同。我打開麥克風的自制電纜。電纜有兩個開關,可在左側或右側通道之間切換。
我要注意哪些兩個頻率中的麥克風輸入到了,再算上他們。
我試過很多東西,但沒有帶來預期的成功。那麼,我遇到過DTMF,但在Android中的實現是不夠的。
有沒有人有任何想法我可以嘗試下?
我正在尋找一種成功的方法來識別自己產生的聲音。音調的產生和檢測
我的想法是在立體花甚至是兩個不同的聲音。兩種音調的頻率不同。我打開麥克風的自制電纜。電纜有兩個開關,可在左側或右側通道之間切換。
我要注意哪些兩個頻率中的麥克風輸入到了,再算上他們。
我試過很多東西,但沒有帶來預期的成功。那麼,我遇到過DTMF,但在Android中的實現是不夠的。
有沒有人有任何想法我可以嘗試下?
你需要採取快速傅立葉變換(FFT)輸入的音頻。你需要做的是捕獲一個短的音頻窗口,運行FFT,然後分析結果。如果您不熟悉FFT,則FFT會有點複雜,但如果頻率足夠分離,則可以對音調進行計數和測量。
您可以使用FSK調製和解調。您不需要FFT,因爲這可以通過窄帶DSP濾波器(幾個Goertzel濾波器)或正交解調器完成。
我同意。 FFT是信號處理中最重要的算法。如果您的問題是「如何分析信號中的頻率」,則答案可能以「計算FFT」開始。如果您確切知道要查找哪些頻率,可能會進行一些特殊的優化,但FFT是最通用和最強大的工具。 – japreiss
用FFT記錄正確的頻率需要多長時間?開關僅閉合10ms以上。 – MrDyro
窗口大小(例如10ms)將確定音調將不得不在頻率中被檢測到多遠。如果以44.1KHz的採樣率記錄10ms的音頻,則不會有太多數據。確保音頻在頻率最低_500Hz處分開,以確保您有合理的機會在FFT輸出中看到明顯的峯值。 – 10flow