Skip to content

blackboxaudio/neuron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

neuron

Test Build neuron: v0.1.0 License

Collection of C++ audio DSP components ⚡

Overview

neuron is an open-source DSP (Digital Signal Processing) library that provides a wide-ranging suite of components for building audio software.

It can be used for a variety of applications, including:

Features

neuron currently lacks wide support for features because it is in early stages, however the following are in its immediate roadmap:

  • Dynamics
    • Compressor
    • Limiter
  • Effects
    • Chorus
    • Delay
    • Echo
    • Flanger
    • Phaser
    • Reverb
    • Saturation
    • Wavefolding
  • Filters
    • LP/HP/BP Filter
    • Ladder Filter
  • Modulators
    • ADSR Envelope Generator
    • AHD Envelope Generator
    • Envelope Follower
    • Low-Frequency Oscillator
  • Synthesis
    • Amplitude Modulation
    • Frequency Modulation
    • Granular
    • Phase Distortion
  • Utilities
    • Clock
    • DC Block
    • Delay Line
    • Sampler
    • Wavetable

Getting Started

Clone this repository:

git clone https://github.com/blackboxaudio/neuron
cd neuron/

Build the library:

make

Using the Library

#include "neuron.h"

// Create a DSP context (sample rate,
// number of channels, buffer size).
static Context context {
    44100,
    1,
    128,
};

// Create an oscillator with an initial
// frequency of 440Hz.
static Oscillator osc(context, 440.0f);

// Write to the buffer with samples
// generated from the oscillator
for(size_t idx = 0; idx < 128; idx++) {
    buffer[idx] = (float)osc.Generate();
}

Enable the NEO_PLUGIN_SUPPORT compile option in CMake to include necessary bits for JUCE integration:

# Set option for neuron to enable plugin support (e.g. std::atomic)
set(NEO_PLUGIN_SUPPORT ON)

...