2011-04-22 82 views
0

我通過AudioRecord接口使用麥克風輸入(3.5mm)作爲一種模數轉換器。我需要大約每1(最差情況)至3(最好)毫秒採樣,並測量音量(相對電壓)。只要我能看到峯值,絕對電壓並不重要。如何從麥克風輸入獲取音量

問題是我對音頻知之甚少。有人可以推薦我如何設置我的AudioRecord和緩衝區,如什麼大小等?

是否可以在不使用FFT算法的情況下觀察振幅?

感謝

回答

0

這是應用程序的實時或你要的波形記錄,保存它,然後看它?對於這個答案,我假定處理將在離線狀態下完成。

您需要每1-3毫秒採樣一次(最差到最好的情況)。如果我的計算沒有錯,那就意味着採樣率分別爲1000 - 333 Hz。 android內的採樣率受到編碼器(輸出格式)的最低採樣率要求的限制。查看supported audio/video formats,似乎大多數格式都不支持您選擇的採樣率。因此,您可以嘗試使用wav格式進行編碼(可能需要採樣率),或者以任何格式記錄波形,下采樣到您想要的頻率範圍,然後進行分析。

此外,你可以看看這個應用程序 - Audalyzer查看波形。

是的,你可以在沒有得到FFT的情況下查看振幅,事實上,不對信號進行FFT和觀察(就時間域而言),也許是最好的方法。

HTH,
斯利拉姆

+0

我相信這將是實時的。我正在製作一個速度計,它與霍爾效應傳感器一起檢測車輪上的磁鐵。每次輪子旋轉時,它都會通過「麥克風」傳感器發送電壓脈衝。我不需要保留任何音頻數據,我只需要準確地檢測脈衝,這樣我就可以得到一個相對時間來相互比較並獲得輪子PRM。 – Matt 2011-04-25 00:39:46