我想開發一個android應用程序來測量聲壓級,但我不知道如何實現時間加權。 對於我的算法工作的時刻如下: 音頻記錄爲20ms(160個樣本@ 8000Hz的) 計算RMS 計算SPL 更新顯示的值,然後重新啓動 在這裏你可以看到算法的主要部分: // The Google ASR input requirements state that audio input sensitivity
//
使用 WaveFileReader wfr = new WaveFileReader(file);
float[] d = wfr.ReadNextSampleFrame();
我得到一個float數組d。當通過d使用foreach (float s in d)進行迭代時,我得到的浮點數在-1.0和+1.0之間。我如何將它們轉換成聲壓dB(A)? 編輯:我解決它使用double db = 2
我想從android上的麥克風計算響度水平。 我用AudioRecord從麥克風獲取原始數據,並做了一些歸一化處理,然後計算分貝。但結果是不正確的。我得到的分貝值不穩定,無法反映聲音。例如,即使當我拍手時,分貝值也不反映聲音。我應該如何更改代碼?如果我想實時計算麥克風的響度,我應該怎麼做?非常感謝。 recorder = new AudioRecord(AudioSource.MIC, iS