In-house Python Library for Acoustic Signal Processing (LASP): fractional octave filter banks, Fourier analysis, code for doing acoustic measurements and beamforming tools. http://code.ascee.nl/ASCEE/lasp
Go to file
Anne de Jong 514ed1aa32
Building, testing and releasing LASP if it has a tag / Build-Test-Ubuntu (push) Successful in 2m49s Details
Building, testing and releasing LASP if it has a tag / Release-Ubuntu (push) Has been skipped Details
Added physicalOutputQty for daq devices, added possibility to inspect from Python whether device has monitor. Added unit for equation in Qtys. Version bump 1.3.0
2024-01-10 12:26:38 +01:00
.gitea/workflows Apparently path may not be absolute. What a inflexible release system! 2023-10-16 15:54:08 +02:00
cmake Finally: some align_val_t that did not work on Windows! 2023-06-17 07:03:14 -07:00
cpp_src Added physicalOutputQty for daq devices, added possibility to inspect from Python whether device has monitor. Added unit for equation in Qtys. Version bump 1.3.0 2024-01-10 12:26:38 +01:00
examples Renamed test_input.py to example_input.py 2023-10-24 19:47:35 +02:00
img Removed old testing code. Improved Doxyfile, added logo to Doxygen. Added pytest testing config. 2022-09-03 16:07:44 +02:00
python_src/lasp Added physicalOutputQty for daq devices, added possibility to inspect from Python whether device has monitor. Added unit for equation in Qtys. Version bump 1.3.0 2024-01-10 12:26:38 +01:00
scripts Action roll... 2023-10-05 21:39:41 +02:00
test Updated libs. Some comments and tests on cmake with msys2. 2023-05-25 11:41:16 -07:00
third_party New armadillo version, some updates in pyproject and README 2023-10-24 15:13:06 +02:00
.gitattributes Split up GUI in different Widgets, added revtime, added figure list possibilities, added Qt Resources, added About panel, added lots of comments, export and import of measurements 2018-05-02 16:29:53 +02:00
.gitignore Renamed test_input.py to example_input.py 2023-10-24 19:47:35 +02:00
.gitmodules Merge branch 'develop' into windows_ready 2023-06-15 10:00:40 +02:00
.pre-commit-config.yaml build(Pre-commit-drone-file-cannot-be-checked): Removed check-yaml hook, updated drone config 2023-07-24 18:11:45 +02:00
CHANGELOG.md bump: version 1.0.0 → 1.0.1 2023-07-19 17:00:27 +02:00
CMakeLists.txt Implemented reference measurements, and renaming as method in Measurement object. 2023-12-18 12:37:46 +01:00
Dockerfile Some improvements before stepping over to pyproject.toml 2023-07-14 13:40:43 +02:00
Doxyfile Documentation updates. 2023-01-20 14:22:48 +01:00
LICENSE Initial commit 2018-03-05 20:58:03 +01:00
README.md Updated readme 2023-10-24 19:49:56 +02:00
pyproject.toml Added physicalOutputQty for daq devices, added possibility to inspect from Python whether device has monitor. Added unit for equation in Qtys. Version bump 1.3.0 2024-01-10 12:26:38 +01:00
pytest.ini Test virtualenvs and build envs 2023-07-14 10:12:42 +02:00

README.md

Library for Acoustic Signal Processing

Welcome to LASP: Library for Acoustic Signal Processing. LASP is a C++ library with a Python interface which is supposed to acquire and process (multi) sensor data in real time on a PC and output results.

Current features that are implemented:

  • Communication with data acquisition (DAQ) devices, of which:
  • Configuration of DAQ devices: AC coupling, IEPE, sensitivity physical quantities.
  • Recording of signals from these DAQ devices, and storing in a HDF5 file.
  • Filter designers to create A/C sound pressure weighting
  • Biquad filter designers for low pass, high pass, peaking and notch filters
  • A Peak Programme Meter (PPM) to monitor signal levels from DAQ and to watch for signal clipping.
  • A signal generator to create sine waves, sweeps and noise (white / pink).
  • Equalizers to equalize the output prior to sending.
  • Averaged power spectra and power spectral density determination using Welch' method. Taper functions of Hann, Hamming, Bartlett and Blackman are provided.
  • (One third) octave filter bank filters designed to comply with IEC 61260 (1995).
  • Slow and fast time updates of (A/C/Z) weighted sound pressure levels
  • Full Sound Level Meter implementation
  • Real time Sound Level meter, Power / Transfer function estimator
  • Spectra data smoothing algorithms
  • Sensor calibration for microphones

Future features (wish-list)

  • Conventional and delay-and-sum beam-forming algorithms
  • Impedance tube measurement processing

For now, the source code is well-documented on lasp.ascee.nl but it requires some additional documentation (the math behind it). This is maintained in a sister repository lasp-doc.

If you have any question(s), please feel free to contact us: email.

Installation - Linux (Ubuntu-based)

Prerequisites

Run the following on the command line to install all prerequisites on Debian-based Linux:

  • sudo apt install python3-pip libfftw3-3 libopenblas-base libusb-1.0-0 libpulse0

Download and install LASP

Go to: LASP releases and download the latest .whl. Then run:

  • pip install lasp-*-linux_x86_64.whl

From source (Ubuntu-based)

Prerequisites

Run the following one-liner:

  • sudo apt install -y git python3 python3-virtualenv python3-venv libopenblas-dev python3-pip libfftw3-dev libusb-1.0-0-dev libpulse-dev python3-build

If building RtAudio with the ALSA backend, you will also require the following packages:

  • sudo apt install libclalsadrv-dev

If building RtAudio with the Jack Audio Connection Kit (JACK) backend, you will also require the following packages:

  • sudo apt install libjack-jackd2-dev

Download & build

  • $ git clone --recursive https://code.ascee.nl/ASCEE/lasp.git
  • $ cd lasp
  • pip install -e .

Installation - (x86_64) Windows (with WinPython), build with MSYS2 (NOT YET UPDATED!!)

Prerequisites

  • Download and install WinPython

  • Download and install MSYS2. Make sure to install the x86_64 version.

  • Download and install Git for Windows

  • When unzipping WinPython, make sure to choose a proper and simple path, i.e. C:\winpython

  • Append C:\winpython\ to the PATH environment variable.

  • Run Python and install Pybind11

    • python -m pip install pybind11
  • Open a msys2 MINGW64 terminal. And run:

    • pacman -S git
  • Then clone the LASP repo:

    • git clone https://code.ascee.nl/ascee/lasp
    • cd lasp
  • Configure MSYS2 further, and run cmake:

    • scripts/install_msys2_buiddeps.sh
    • scripts/configur_cmake_msys2.sh

Documentation

Online

Online LASP documentation.

In directory

$ sudo apt install doxygen graphviz $ pip install doxypypy

While still in lasp dir:

$ doxygen

This will build the documentation. It can be read by:

$ <YOUR-BROWSER> doc/html/index.html

Usage

  • See examples directories for IPython notebooks.
  • Please refer to the documentation for features.