问题
How to calculate decibel from maxAmplitude, I wrote an android application to get maxAmplitude at regular interval, I need to show the o/p to the user in decibels.
回答1:
Decibels are a relative unit, they express the power of your signal relative to some reference power.
If you are working with amplitudes, then the formula is:
power_db = 20 * log10(amp / amp_ref);
(See http://en.wikipedia.org/wiki/Decibel#Field_quantities).
Note also that maximum amplitude is not usually a very good indicator of loudness (or even of power). More typically, you should measure the RMS power of your signal, and convert that to dB instead.
回答2:
Regular phone microphones aren't calibrated to measure absolute loudness, so it's not possible without also having a sound meter to initially calibrate the phone. As Oli mentions, you may be able to calculate a relative change in loudness, but I expect you want to replicate a real sound level meter.
来源:https://stackoverflow.com/questions/6571894/calculate-decibel-from-amplitude-android-media-recorder