如何从Java中的麦克风获取dB(或任何种类的音量)电平?
|
如果我要问的是已经问过的问题,我真的很抱歉,但是我四处张望,什么都没想到。
我正在尝试使用Java声音api快速读取房间中当前的音量。我注意到从我的麦克风混音器获得的控件对此无济于事,从我所见,人们建议从TargetDataLine读取一小段声音,并使用均方根算法检查音量。
实际的问题:)
问题是,每当我在一个样本上运行均方根(我为此使用PCM_SIGNED,44100Hz 16位)时,在没有背景噪音的情况下,我会得到介于20-30之间的值,而在我说话/大喊/谈论。
(我尝试从100-44100的缓冲区大小读取行
使用较小的缓冲区时,均方根值较低-但总体而言-安静度约为10,大声噪声约为30.)
问题是,当我播放刚刚录制的内容时,您可以完美听到所有声音,并且没有背景噪音。
tl; dr
谁能(请)告诉我一种从字节数组读取(PCM SIGNED 44100Hz 16bit)中得知音量的方法?
预先感谢任何回答!
没有找到相关结果
已邀请:
1 个回复
掸牛浓疗