unevens / audio-dsp

A collection of template classes for audio dsp using SIMD instructions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

adsp is a collection of template classes for audio dsp using SIMD instructions for x86 processors.

Each template class abstracts over the many SIMD instructions sets, and will choose what it's better suited for the architecture it is compiled for, given the number of audio channel you want to process in parallel and the floating point precision that you specify.

adsp depends on avec, a library that wraps Agner Fog's vectorclass, and provides containers and views over aligned memory.

Splines

The file Spline.hpp implements cubic Hermite splines with (optionally) smoothly automatable knots.

State Variable Filters

The file StateVariable.hpp implements linear and non-linear state variable filters, as described in the book The art of VA filter design by Vadim Zavalishin, using the cheap zero-delay method by Teemu Voipio, see https://www.kvraudio.com/forum/viewtopic.php?f=33&t=349859.

GammaEnv

The file GammaEnv.hpp implements gammaenv, an envelope follower by Aleksey Vaneev, with some minor customizations.

OnePole

The file OnePole.hpp implements simple one pole filters, also as described in The art of VA filter design.

SimpleHighPass

The file SimpleHighPass.hpp implements naive one pole high pass filter, suitable for DC removal.

Biquad Filters

The file Biquad.hpp implements simple biquad filters from the RBJ cookbook.

About

A collection of template classes for audio dsp using SIMD instructions.

License:Apache License 2.0


Languages

Language:C++ 100.0%