Current benchmarks can be found here
-
autotools
sudo apt-get install autotools-dev sudo apt-get install autoconf
-
cmake
sudo apt-get install cmake
-
g++
-
HDF5 C API
sudo apt-get install libhdf5-dev
-
Jack Audio Connection Kit
sudo apt-get install libjack-dev
-
BLAS
sudo apt-get install libblas-dev
-
JACK Pipewire Support
sudo apt-get install pipewire-jack
The package can be compiled by running
autoreconf -vif
mkdir build && cd build
../configure
make
In order to compile against Apple's Accelerate framework, the library path needs to be supplied to the configure script, e.g.:
mkdir build && cd build
../configure CPPFLAGS=-I/Library/Developer/CommandLineTools/SDKs/MacOSX14.2.sdk/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Headers
make
We have constructed the following templated base classes to process state space systems:
-
StateSpaceRenderer
: Defines the discrete linear state space equations,$$ x_{t+1}=Ax_t + Bu_t\ y_t=Cx_t+Du_t $$
where
$A\in\mathbb{R}^{n\times n}, B\in\mathbb{R}^{n\times m},C\in\mathbb{R}^{p\times n},D\in\mathbb{R}^{p\times m}$ .Inputs are defined by
$u_t\in\mathbb{R}^m$ and outputs by$y_t\in\mathbb{R}^p$ . -
Solver
: Defines the way the discrete linear state space equations are solved. -
Renderer
: Defines how the solver is mounted to a sound server for implementation.
The flow of the classes is structured in such a way:
graph TD;
`StateSpaceRenderer`-->`Solver`;
`Solver`-->`Renderer`;