This is a development which includes an analog and a digital part.
Basically power is to represent the audio signal separated in frequency, for this we need to sample the signal in compliance with the sampling theorem Nyquist sampling theorem, Shannon . An audio signal "audible" to the human ear is in the range of 20Hz to 20Khz, in our case we will perform a full sampling of the band. For this minimum sampling frequency should be 40KHz.
Using a microcontroller Freescale HCS08GT60 family (8 bits) and ANSI C language, configure the internal ADC converter to take a sample every 25US (40KHz) and so apply a 64-point FFT in real time (thanks to the internal bus microcontroller running at 20MHz), resulting in 32 levels representing frequencies from 20Hz to 20kHz with a range of 312.5Hz each level. As we have a display of 16 x 2 characters, we made an average of the value of contiguous levels in order to obtain results in 16 levels and to represent them as bars (custom characters in character LCD see Tutorial).