2018-03-06 20:15:21 +00:00
|
|
|
# Library for Acoustic Signal Processing
|
|
|
|
|
2018-12-29 12:57:32 +00:00
|
|
|
Welcome to LASP: Library for Acoustic Signal Processing. LASP is a C library
|
|
|
|
with a Python interface which is supposed to process (multi-) microphone
|
|
|
|
acoustic data in real time on a PC and output results.
|
2018-03-06 20:15:21 +00:00
|
|
|
|
|
|
|
The main goal of this library will be the processing of data from an
|
|
|
|
array of microphones real time, on a Raspberry PI. At the point in
|
|
|
|
time of this writing, we are yet unsure whether the Raspberry PI will
|
|
|
|
have enough computational power to this end, but may be by the time it
|
|
|
|
is finished, we have a new faster generation :).
|
|
|
|
|
|
|
|
Current features that are implemented:
|
|
|
|
- Compile-time determination of the floating-point accuracy (32/64 bit)
|
|
|
|
- Fast convolution FIR filter implementation
|
2018-12-29 12:57:32 +00:00
|
|
|
- Sample rate decimation by an integer factor of 4.
|
2018-03-06 20:26:08 +00:00
|
|
|
- Octave filterbank FIR filters designed to comply with IEC 61260
|
2018-03-06 20:15:21 +00:00
|
|
|
(1995).
|
2018-03-06 20:26:08 +00:00
|
|
|
- Averaged power spectra and power spectral density determination
|
|
|
|
using Welch' method. Taper functions of Hann, Hamming, Bartlett and
|
|
|
|
Blackman are provided.
|
|
|
|
- A thread-safe job queue including routines to create worker threads.
|
|
|
|
- Several linear algebra routines (wrappers around BLAS and LAPACK).
|
|
|
|
- A nice debug tracer implementation
|
2018-12-29 12:57:32 +00:00
|
|
|
- Third octave filter bank FIR filters designed to comply with IEC 61260
|
|
|
|
(1995).
|
2018-03-06 20:15:21 +00:00
|
|
|
- Slow and fast time updates of (A/C/Z) weighted sound pressure levels
|
2018-12-29 12:57:32 +00:00
|
|
|
|
|
|
|
Future features (wish-list)
|
|
|
|
- Conventional and delay-and-sum beam-forming algorithms
|
2018-03-06 20:15:21 +00:00
|
|
|
|
|
|
|
For now, the source code is well-documented but it requires some
|
|
|
|
additional documentation (the math behind it). This will be published
|
|
|
|
in a sister repository in a later stage.
|
|
|
|
|
2018-12-29 12:57:32 +00:00
|
|
|
If you have any question(s), please feel free to contact us: info@ascee.nl.
|
2019-03-28 20:26:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
### Compilation
|
|
|
|
|
|
|
|
#### Archlinux
|
|
|
|
|
|
|
|
Compiling the code on Archlinux requires the following packages to be available:
|
|
|
|
|
|
|
|
- openblas-lapack (AUR)
|
|
|
|
- Python 3.7
|
|
|
|
- Numpy (Python-numpy)
|
|
|
|
- Cython
|
|
|
|
|
|
|
|
#### Ubuntu / Linux Mint
|
|
|
|
|
|
|
|
*Only tested with Linux Mint 18.04*, we require the following packages for
|
|
|
|
compilation:
|
|
|
|
|
|
|
|
- build-essential
|
|
|
|
- cython
|
|
|
|
- python3-numpy
|
|
|
|
- libopenblas
|
|
|
|
- libclalsadrv-dev
|
|
|
|
- libopenblas-base
|
|
|
|
- libopenblas-dev
|
|
|
|
|
2021-05-23 20:53:48 +00:00
|
|
|
#### Windows specific
|
|
|
|
|
|
|
|
Tested using a Anacond / Miniconda Python environment. Please first run the following command:
|
|
|
|
|
|
|
|
`conda install fftw`
|
|
|
|
|
|
|
|
in case you want the *FFTW* fft backend.
|
|
|
|
|
2019-03-28 20:26:11 +00:00
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
#### Ubuntu / Linux Mint
|
|
|
|
|
|
|
|
*Only tested with Linux Mint 18.04*. The following Dependencies are required
|
|
|
|
for Ubuntu:
|