【发布时间】:2013-01-24 06:03:31
【问题描述】:
我正在尝试获取以分贝计的录制音频的噪声级别。我正在使用以下代码,但它没有给出正确的输出
byte[] audioData = new byte[bufferSize];
recorder.read(audioData, 0, bufferSize);
ByteBuffer bb = ByteBuffer.wrap(audioData);
int sampleSize = bb.getInt();
现在如果我记录 sampleSize 那么它会给出非常大的值,比如 956318464
谁能告诉我如何在分贝中获得正确的噪音水平。
【问题讨论】:
-
“噪音水平”是什么意思?您是否尝试测量录音中的噪声量(例如信噪比)?您可能可以通过分析某些频带内的能量来实现某种固定噪声的测量,但对于动态噪声,我怀疑在没有参考信号的情况下您能否获得良好的结果。如果您正在尝试计算声压级...嗯,您已经获得了信号的线性幅度(这是您从记录仪读取时得到的),这就是您计算的基础。