Skip to content

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

License

Notifications You must be signed in to change notification settings

unevens/audio-dsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages