It is a nice model of Sound Level Meter. My observation is: In the code, A-weighting is performed in frequency domain (i.e. multiplication in frequency domain). I feel like, if the A-weighting is in time domain (filtering, of input signal which is sampled at variable sampling frequency), the computation of fft can be saved.