-
-
Notifications
You must be signed in to change notification settings - Fork 34
Installation
The eDSP project is a header-only. Download the project and add the include/directory to your compiler's header search path and you are done, or directly into your project tree itself! The simplest way to get eDSP is to download the latest single header version.
If you want to install the library and make it accessible to all resources in your system, follow those steps:
-
Download the source code
Clone the repository from github or download the latest version from this link.
git clone https://github.com/mohabouje/eDSP.git --recursive cd eDSP
-
Build the library
Before starting, please install the different dependencies. The build system uses CMake. The procedure is standard for CMake builds:
mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make -jN
The user can enable/disable the different packages independently, probably the easy way to do so by using ccmake. More details about easyDSP configuration options are located in the User Documentation.
-
Building the tests
Source code validation is a critical step. To run all the test, use:
make test
-
Building the examples
Several examples demonstrating specific usages can be found in the examples folder of the repository.
To build the examples, use:
make examples
If you want to run an individual example, those are in subdirectories in examples (built products are in your build directory, the source is in examples folder).
-
Building the docs
The docs are available in different formats, for instance: html & latex. To build the docs, use:
make html
Also, the latest development documentation is available online.
-
Installing the library:
sudo make install
Note: If you decide that you want to remove the installed library, simply run
sudo make uninstall
Using compiler optimizations for eDSP is strongly recommended. Using the unoptimized library is order of magnitude slower than the version using -O3
flag on the different test computers.
eDSP allows a flexible configuration of the library via different compilation flags.
Compilation Flag | Default | Description |
---|---|---|
BUILD_TESTS |
ON |
If ON enables the compilation of the different tests. |
BUILD_TOOLS |
ON |
If ON enables the compilation of the different command line tools. |
BUILD_DOCS |
OFF |
If ON generates the Doxygen documentation. |
BUILD_EXAMPLES |
OFF |
If ON compiles the different examples. |
BUILD_BINDINGS |
OFF |
If ON generates the binding for the Python and JavaScript languages. |
ENABLE_OPTIMIZATIONS |
ON |
For performance reasons, if ON enables all the optimizations flags. |
ENABLE_WARNINGS |
ON |
For test reasons, if ON enables all the compiler warnings. |
ENABLE_DEBUG_INFORMATION |
OFF |
For performance reasons, if ON exports the required symbols for using external tools like valgrind or clang . |
Flag | Default | Description |
---|---|---|
USE_SPDLOG |
ON |
If ON uses the library SpdLog as the default logger. |
eDSP integrates different implementation and integration with third--party tools. This is the list of available encoder/decoder implementations.
Flag | Default | Description |
---|---|---|
USE_AUDIOFILE |
ON |
If ON uses the library AudioFormat as the default library to decode/encode audio files. |
USE_SNDFILE |
OFF |
If ON uses the library SndFile as the default library to decode/encode audio files. |
Flag | Default | Description |
---|---|---|
USE_FFTW |
ON |
If ON uses the library FFTW to compute the different transforms. |
USE_KISSFFT |
OFF |
If ON uses the library KISS FFT to compute the different transforms. |
USE_AFFT |
OFF |
If ON uses the library Apple Accelerated FFT to compute the different transforms. |
easy DSP - A cross-platform Digital Signal Processing library written in modern C++.