Oversimple is a C++17 library for audio oversampling, which tries to offer a simple api.
Oversimple wraps two of the best resampling libraries available:
-
HIIR, by Laurent De Soras for minimum phase antialiasing. HIIR only implements power of two resampling.
-
and r8brain-free-src by Aleksey Vaneev, for linear phase antialiasing.
Both libraries use SIMD instructions for both single and double precision floating point numbers on all platforms where they are supported (including double precision on ARM AArch64).
Aligned memory and interleaved buffers needed by the simd code in HIIR are managed using avec.
Add everything to your project except for the content of the test
folders and the .cpp files in avec/vectorclass
.
Add to your include paths the directory in which you put this repository and its subdirectories r8brain
, avec
, and avec/vectorclass
.
To use PFFFT with double precision, define R8B_PFFFT_DOUBLE=1
in r8brain/r8bconf.h
or as a preprocessor definition. See r8brain/README.md
for more details.
pthread
on *nix (only r8brain).
The documentation, available at https://unevens.github.io/oversimple/, can be generated with Doxygen running
$ doxygen doxyfile.txt