From cee45a00fa93f1b226011b60583f99f828919f08 Mon Sep 17 00:00:00 2001 From: Casper Date: Thu, 12 Jan 2023 11:50:34 +0100 Subject: [PATCH] Update: installation instructions --- README.md | 124 ++++++++++++++++++++--------------------------- requirements.txt | 2 + 2 files changed, 54 insertions(+), 72 deletions(-) create mode 100644 requirements.txt diff --git a/README.md b/README.md index 98bfcc0..f73f380 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,7 @@ # 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 process (multi-) microphone -acoustic data in real time on a PC and output results. - -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 :). +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: - Compile-time determination of the floating-point accuracy (32/64 bit) @@ -33,76 +28,61 @@ in a sister repository (https://code.ascee.nl/ascee/lasp-doc). If you have any question(s), please feel free to contact us: info@ascee.nl. +# Installation -# Building from source +## Dependencies -Two commands that install all requirements (for Ubuntu / Linux Mint) - -- `pip install scipy numpy build scikit-build appdirs` -- `sudo apt install libusb-dev libpulse-dev libboost-dev` - -## Runtime dependencies (Linux) - -- FFTW (For really fast FFT's). If compiled with Ffftpack, this library is not - required. -- libUlDAQ, for the Measurement Computing DT9837A USB DAQ box - - GNU Autotools, for compiling libUlDAQ -- RtAudio, for Audio DAQ backends -- libusb -- BLAS (OpenBLAS, other). - -## Editable install - -In the root directory of the repository, run: - -- `pip3 isntall --user -e .` -- `cmake .` -- `make -j` +- `$ sudo apt install libopenblas-dev python3-pip python3-scipy libusb-dev libpulse-dev cmake-curses-gui python3-h5py` +- `$ pip3 install --user -r requirements.txt` - -## Build dependencies - -Optional dependencies, which can be turned ON/OFF using CMake: - -- Build tools: compiler [http://cmake.org](CMake), the Python packages: - - Scipy - - Numpy - - appdirs - These can all be installed using: - -- The following Python packages need also be available: - - `Scipy` (which includes Numpy). Install with `sudo apt install - python3-scipy`, or `pacman -S scipy`. - - `appdirs`, which can be grabbed from [https://pypi.org](Pypi) - - - -## Compilation of LASP - -### 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 - -If building RtAudio with the ALSA backend: +If building RtAudio with the ALSA backend, you will also require the following packages: - libclalsadrv-dev -- libopenblas-base -- libopenblas-dev -- libusb-1.0-dev +If building RtAudio with the Jack Audio Connection Kit (JACK) backend, you will also require the following packages: + +- libjack-jackd2-dev + +## Download & build + +- `$ git clone --recursive https://code.ascee.nl/ASCEE/lasp.git` +- `$ cd lasp` + +For a release build: + +- `$ cmake .` + +or optionally for a custom build: + +- `$ ccmake .` + +Configure and run: + +- `$ make -j` + +### Build documentation + +`$ sudo apt install doxygen` + +While still in lasp dir: + +`$ doxygen` + +This will build the documentation. It can be read by: + +`$ doc/html/index.html` + +## Install + +For an editable install (while developing): + +- `$ pip3 install --prefix=$HOME/.local -e .` + +To install locally, for a fixed version: + +- `$ pip3 install --prefix=$HOME/.local` + +## Usage + +See examples directories for IPython notebooks. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c46d0e7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +appdirs +dataclasses_json