This is the base library for the Smart Citizen Kit V2.0 for performing audio analysis.
It's intented to perform audio analysis on a SAMD21 processor of a MEMS I2S microphone output, with the idea of easily expanding it's functionality towards different inputs.
Additionally, the analysis can be performed through a configurable AudioAnalyser, containing a FFT analyser or a FIR (Finite Impulse Response) Filter.
- Signal windowing through configurable window method (Hann, Blackman, Hamming)
- FFT analysis with arm's cortex funtion on q31_t data type
- Spectrum calculation and configurable weigthing (A, C or Z)
- Custom Spectrum Equalisation (With auto generated parameters in a octave script)
- RMS calculation
- dB scale convertion
- Signal downscaling
- Signal filtering (by chunks) with arm_fir custom filter including equalisation and weighting
- RMS calculation
There is an octave script in /OCTAVE/WEIGHTING that generates a custom weighting table as specifies in the actual legislation. It outputs a vector containing the corresponding factors to apply in the spectrum, according to the specifies sampling frequency / fft bins.
With kind references to: