everdrone / libsnd

Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.

Attention

This library is still under development!
Read the docs and check out the examples.

Currently looking for contributors / enthusiasts, if you have an idea, found a bug or have an amazing new feature you want to add, feel free to clone, edit and open a Pull Request.

Building

git clone https://github.com/everdrone/libsnd.git
cd libsnd

mkdir build
cd build
cmake ..
make install

Usage

// main.cc
#include <iostream>
#include <snd.h>

#define SAMPLE_RATE 44100

int main(int argc, char **argv) {
  snd::Sine<float> s(SAMPLE_RATE);
  s.setFrequency(440);

  for (int i = 0; i < 512; i++) {
    std::cout << s.tick() << std::endl;
  }

  return 0;
}
g++ main.cc -o a.out -lsnd

Features

  • Oscillators
    • Anti Aliased
      • Sine
      • Triangle
      • Sawtooth
      • Square
      • Spectral (Sine Bank)
  • Filters
    • Zero Delay Feedback
    • Bilinear
    • Biquad
    • Modular / Multiband
    • Comb
  • Multistage Waveshaper
  • Envelope Generators
    • Multistage Envelope Generator
    • Classic Dual Stage (AD) Envelope Generator
    • "Ducking" Curve Generator
  • Envelope Follower
  • Interpolation
  • Denormal canceling
  • LFOs
    • Sine
    • Parabolic
    • Triangle
    • Sawtooth
    • Square
    • Random
    • Perlin
  • Effects
    • Delay
      • Interpolated
      • Non-Interpolated
    • Reverb
      • Spring
      • Convolution
    • Flanger
    • Phaser
    • Chorus
    • Stereo Panner
    • Ring Modulator
    • Bit Crusher
    • Compressor
    • Driver / Saturator
  • Utilities
    • LR to MS
    • MS to LR
    • Pitch (MIDI) to Frequency (Hz)
    • Frequency (Hz) to Pitch (MIDI)
    • Amplitude Factor to dB
    • dB to Amplitude Factor
    • Linear to Exponential
    • Linear to Logarithmic

About

Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 94.3%Language:CMake 5.6%Language:Shell 0.1%