2011-04-27 48 views
2

如果我問了一些已經問過的問題,我真的很抱歉,但我到處尋找並沒有出現。如何從java中的麥克風獲取dB(或任何類型的音量)級別?

我試圖做一個在飛行中讀取當前音量在房間裏使用java聲音API。我注意到我從麥克風調音臺得到的控件對此沒有幫助,從我看到的情況來看,人們建議從TargetDataLine中讀取一小部分聲音,並使用均方根算法檢查音量。

實際問題 :) 問題是,每當我對樣本(我使用PCM_SIGNED爲此,44100Hz 16位),我得到的數值範圍運行RMS 20-30之間時,有沒有背景噪音及以上到60時,我說/叫/談。 (我試圖從緩衝區大小100-44100 緩衝區大小讀取線路有效值較低 - 但全部安靜約10,並在30左右的巨大噪音。)

事情是,當我彈奏我剛剛錄製的內容時,您可以完美地聽到一切,並且沒有背景噪音。

tl; dr 任何人(請)告訴我一種方法來告訴我一個字節數組讀取(PCM SIGNED 44100Hz 16位)的音量?

非常感謝您的回答!

回答

相關問題