Skip to content
forked from everdrone/libsnd

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

License

Notifications You must be signed in to change notification settings

tonyton713/libsnd

 
 

Repository files navigation



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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.3%
  • CMake 5.6%
  • Shell 0.1%