android - Sound meter to measure Sound Pressure Level -
i using mediarecorder
try create sound meter returns sound pressure level (what believe people mean when refer everyday volume in decibels).
currently, using implementation values in decibels:
return 20.0 * math.log10(math.abs(mmediarecorder.getmaxamplitude()) / 32768)
i'm not sure if correct. sitting in room no noise other fan, returning values anywhere between -30 , -20. if speak near microphone, jumps values near -0.5 or so.
reading many answers on website, seems is difficult , largely unreliable measure spl without calibrated devices. however, don't need highly accurate results, results applicable everyday curiousity , non-extreme situations.
there apps such sensor box android, seem return decent results no calibration needed start. using in same room, returning results between 40-60db, , when speak jumps 80-90db range.
how can duplicate these results? thank you!
your first problem decibels isn't exact measurement- signal noise ratio. need base measurement , need measure ratio of amplitude of signal baseline noise. amplitude alone meaningless.
your second problem- did 32768 from? formula should 20.0 * math.log10(math.abs(signal/baseline))
.
Comments
Post a Comment