[英]I want to know how to use a music file chosen by the user, then detect when a certain sound frequency. ANDROID
因此,基本上,我希望此范圍為60-150 Hz,這是一首歌曲中低音的一般區域。 每當它在此范圍內時,我都希望它執行一個功能,而僅在該范圍內,我的問題是,如果有人可以在這里顯示我或某篇好文章,或者沒有運氣,我會嘗試查找所需的功能,但是沒有運氣對此的解釋會很棒! 感謝所有幫助,我將繼續獨自尋找。 如果需要更多說明,我可以提供所需的任何信息!
奧斯丁。
更新:我在這里簡化了算法:
第1步)進行快速傅立葉變換: http : //en.wikipedia.org/wiki/Fast_Fourier_transform
FFT會獲取一段聲音並將其轉換到頻域/時域中,例如,正在播放的頻率以及聲音的強度以及聲音的哪個部分。 這是一種有用的數學運算,它依賴於以下性質:所有聲音(無論多么復雜)都可以從一個或多個不同頻率和振幅的正弦波中基本構造出來。
如果您曾經看過一個頻譜圖,例如在foobar2000中,它是使用FFT實現的:
我建議您不要嘗試自己實現FFT,而是找到經過良好測試和快速測試的庫,例如用C語言編寫的http://en.wikipedia.org/wiki/FFTW
第2步)現在,您已經對用戶正在聽的聲音進行了FFT處理,您只需檢查頻點並做您想做的任何事情! 盡管檢測低音踢不像“此頻率倉是否高值?”那樣簡單。 因為那樣您可能會將貝斯線誤認為是低音踢。 您可能需要做進一步的測試和研究才能使其正常工作。
編輯:Delyan建議http://www.clear.rice.edu/elec301/Projects01/beat_sync/beatalgo.html ,它看起來還不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.