Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/everdrone/libsnd
Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.
https://github.com/everdrone/libsnd
audio audio-processing digital-signal-processing dsp lib library music music-library signal-processing toolbox
Last synced: 11 days ago
JSON representation
Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.
- Host: GitHub
- URL: https://github.com/everdrone/libsnd
- Owner: everdrone
- License: lgpl-3.0
- Created: 2018-03-09T09:46:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-19T11:33:40.000Z (about 6 years ago)
- Last Synced: 2024-05-02T19:21:28.400Z (6 months ago)
- Topics: audio, audio-processing, digital-signal-processing, dsp, lib, library, music, music-library, signal-processing, toolbox
- Language: C++
- Homepage:
- Size: 997 KB
- Stars: 82
- Watchers: 16
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeCppGameDev - libsnd
README
> Digital Signal Processing Library and Audio Toolbox for the Modern Synthesist.
## Attention
This library is still under development!
Read the [docs](/docs) and check out the [examples](/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
```bash
git clone https://github.com/everdrone/libsnd.git
cd libsndmkdir build
cd build
cmake ..
make install
```## Usage
```cpp
// main.cc
#include
#include#define SAMPLE_RATE 44100
int main(int argc, char **argv) {
snd::Sine s(SAMPLE_RATE);
s.setFrequency(440);for (int i = 0; i < 512; i++) {
std::cout << s.tick() << std::endl;
}return 0;
}
``````bash
g++ main.cc -o a.out -lsnd
```## Features
* [ ] Oscillators
* [ ] Anti Aliased
* [x] Sine
* [ ] Triangle
* [x] Sawtooth
* [ ] Square
* [ ] Spectral (Sine Bank)
* [ ] Filters
* [ ] Zero Delay Feedback
* [ ] Bilinear
* [ ] Biquad
* [ ] Modular / Multiband
* [ ] Comb
* [ ] Multistage Waveshaper
* [ ] Envelope Generators
* [x] Multistage Envelope Generator
* [ ] Classic Dual Stage (AD) Envelope Generator
* [ ] "Ducking" Curve Generator
* [ ] Envelope Follower
* [x] Interpolation
* [x] Denormal canceling
* [ ] LFOs
* [x] Sine
* [x] Parabolic
* [x] Triangle
* [x] Sawtooth
* [x] 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
* [x] Pitch (MIDI) to Frequency (Hz)
* [x] Frequency (Hz) to Pitch (MIDI)
* [x] Amplitude Factor to dB
* [x] dB to Amplitude Factor
* [ ] Linear to Exponential
* [ ] Linear to Logarithmic