Skip to content
Mirko THULKE edited this page Jul 5, 2025 · 14 revisions

Welcome to the Python_AudioLogger wiki!

About:

Logs USB microphone audio input stream and allows calibration to 94dB. Detects dBA noise peaks. A-Weighting filter used from (https://github.com/endolith/waveform-analysis). Logs noise events in local wave files upon occurrence. Timestpam in filename as well as dbA Peak value.

Devices used to develop this application:

Behringer™ USB Audio Interface

UMC U-Phoria™ UMC204HD, sampling frequency = 48000Hz. Other USB interfaces are on the market with similar specs.

Behringer™ ECM8000 measurement microphone and microphone stand with mechanical decoupling

The microphone has a linear transfer function It is a condenser microphone and needs 48 Phantom power which is provided by the USB audio interface. It is extremely affordable

Microphone calibration device

The calibrator produces 94dB at 1000Hz.

The calibrator produces 94dB at 1000Hz. Using the calibrator, you are able to rely on the dbA values that you measure. You can by a calibrator for a non-professional use case via Chinese online sellers for about 100€. Which is within an acceptable price range for hobby purpose.

Software development process

The python Code is tested by unit, integration and smoke test cases The local python setup (packages, pip version) The testcases can be run with a local Jenkins pipeline script (jenkins.txt), which is provided installed python packages are archieved in the requirement.txt file.


image

image