Skip to content

This project aims to develop audio analyzer for analyzing audio transport path quality using criteria.

License

Notifications You must be signed in to change notification settings

KlemenDEV/AudioPathAnalyzer

Repository files navigation

Audio path analyzer

This project aims to develop audio analyzer for analyzing audio transport path quality using criteria such as:

  • First-order frequency response
  • Harmonic distortion properties (THD)
  • (DC offset)

Measurement results dashboard panel screenshots (from the Android app https://github.com/KlemenDEV/AudioPathAnalyzerApp):

Screenshot 1

Bode diagram display:

Screenshot 1

It is written for Linux ALSA audio subsystem, so ALSA-dev is required for building:

apt install libasound2-dev

Usage

Allowed options:
  -h, --help                     Prints usage
  -f, --calibration arg          File containing calibration data or where to store it in
  -c, --docalibration            Run calibration and store it in -calibration <file>
  -v, --verifycalibration        Only verify if calibration file is valid for the given parameters
  --frequency_low arg (=20)      Sweep start frequency
  --frequency_high arg (=20000)  Sweep end frequency
  -s, --steps arg (=200)         Sweep frequency steps
  -n, --nosmooth                 Disable frequency response smoothing

Concept

Frequency response is determined by:

  1. Sweeping across the range of sound card using logarithmic scale
  2. Sampling recorded input into a buffer
  3. Windowing the samples and removing DC offset
  4. FFT-ing the data
  5. Detecting peaks
  6. Correlating peaks to the harmonics of the measured frequency
  7. Interpolating FFT bins using parabolic interpolation
  8. Obtaining 0-th harmonic frequency and its amplitude
  9. Calculating THD as additional data

Some tests of this concept can be found in the matlab folder.

Cloning

To clone the submodules too, use:

git clone --recursive https://github.com/KlemenDEV/AudioPathAnalyzer.git

About

This project aims to develop audio analyzer for analyzing audio transport path quality using criteria.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published