Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.
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.
git clone https://github.com/everdrone/libsnd.git
cd libsnd
mkdir build
cd build
cmake ..
make install
// 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
- Oscillators
- Anti Aliased
- Sine
- Triangle
- Sawtooth
- Square
- Spectral (Sine Bank)
- Anti Aliased
- 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
- Delay
- 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