oscgonfer / AudioI2S

Audio Analysis library for I2S mems microphones

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AudioI2S

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.

Features:

FFT Analysis

  1. Signal windowing through configurable window method (Hann, Blackman, Hamming)
  2. FFT analysis with arm's cortex funtion on q31_t data type
  3. Spectrum calculation and configurable weigthing (A, C or Z)
  4. Custom Spectrum Equalisation (With auto generated parameters in a octave script)
  5. RMS calculation
  6. dB scale convertion

FIR Filtering

  1. Signal downscaling
  2. Signal filtering (by chunks) with arm_fir custom filter including equalisation and weighting
  3. RMS calculation

A-C Weighting functions

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:

About

Audio Analysis library for I2S mems microphones


Languages

Language:C 64.0%Language:C++ 33.1%Language:MATLAB 2.9%