Crate valib

source ·
Expand description

§Introduction

valib is a library focusing on abstracting DSP algorithms to make them reusable and composable. It’s focusing on musical applications such as plugins or embedded digital synths.

It features many useful algorithms amongst which:

  • Oscillators (BLIT, wavetable (with interpolation))
  • Filters (Ladder, SVF, Biquads, all self-resonant with nonlinearities)
    • State-space models that can directly be constructed from their constituent matrix
    • Biquads support saturators
  • Saturators (Clipper/Tanh/Asinh/Diode Clipper with configurable ADAA)
  • Oversampling
  • Integrations
    • nih-plug (includes ability to bind to nih parameters)
    • fundsp (any statically-defined graph)

Re-exports§

  • pub use valib_filters as filters;
  • pub use valib_oscillators as oscillators;
  • pub use valib_oversample as oversample;
  • pub use valib_saturators as saturators;
  • pub use valib_voice as voice;
  • pub use valib_wdf as wdf;

Modules§

  • Module for benchmarking utilies.
  • Module for code that is provided on top of valib, that is, not required os as part of the main library but provided for convenience.
  • Base traits for DSP algorithms.
  • Math
  • Traits implemented by SIMD types and non-SIMD types.
  • Utilities for all of valib.

Traits§

  • Scalar trait. All of valib uses this trait as bound for scalar values.
  • Trait for SIMD values which can be cast.
  • Trait for SIMD values which have a transparent repr with arrays, and as such can be directly transmuted from them.

Functions§

  • Shortcut method for casing a SIMD value into another one.