LSP DSP Library

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
User avatar
Established Member
Posts: 753
Joined: Mon Sep 28, 2015 9:03 pm

LSP DSP Library

Post by sadko4u »

LSP Project continues to perform it's internal source code decomposition.

Now let me introduce a DSP library which is currently a main part of LSP Project.

This library provides set of functions that perform SIMD-optimized computing on several hardware architectures.

Currently supported set of SIMD extensions:
  • i586 architecture (32-bit): SSE, SSE2, SSE3, AVX, AVX2 and FMA3;
  • x86_64 architecture (64-bit): SSE, SSE2, SSE3, AVX, AVX2 and FMA3;
  • armv7 architecture (32-bit): NEON;
  • AArch64 architecture (64-bit): ASIMD.
All functions currently operate on IEEE-754 single-precision floating-point numbers.

Current set of functions provided:
  • Functions that gather system information and optimize CPU for better computing;
  • Cooley-Tukey 1-dimensional FFT algorithms with unpacked complex numbers;
  • Cooley-Tukey 1-dimensional FFT algorithms with packed complex numbers;
  • Direct convolution algorithm;
  • Fast convolution functions that enhance performance of FFT-based convolution algorithms;
  • Biquad static filter transform and processing algorithms;
  • Biquad dynamic filter transform and processing algorithms;
  • Floating-point operations: copying, moving, protection from NaNs and denormals;
  • Parallel arithmetics functions on long vectors including fused multiply operations;
  • Basic unpacked complex number arithmetics;
  • Basic packed complex number arithmetics;
  • Some functions that operate on RGB and HSL colors and their conversions;
  • Mid/Side matrix functions for converting Stereo channel to Mid/Side and back;
  • Functions for searching minimums and maximums;
  • Resampling functions based on Lanczos filter;
  • Some set of function to work with 3D mathematics.
Link to the repository:
LSP (Linux Studio Plugins) Developer and Maintainer.

Established Member
Posts: 62
Joined: Mon Mar 13, 2017 6:07 am

Re: LSP DSP Library

Post by tseaver »

Bravo! As a lifelong "splitter" in the various academic "splitter vs. chunker" debates, and a professional software developer, I'm always pleased to see software devolve into functionally-coherent sub-libraries: this looks perfect (at least for a first pass. :)

Ubuntu, Mixbus32C; acoustic blues / country / jazz

Post Reply