Namespace daisysp¶
FIR Filter implementation, generic and ARM CMSIS DSP based. More...
Classes¶
Type | Name |
---|---|
class | ATone |
class | AdEnv |
class | Adsr |
class | Allpass |
class | AnalogBassDrum 808 bass drum model, revisited. |
class | AnalogSnareDrum 808 snare drum model, revisited. |
class | Autowah |
class | Balance |
class | Biquad |
class | Bitcrush |
class | BlOsc |
class | Chorus Chorus Effect. |
class | ChorusEngine Single Chorus engine. Used inChorus . |
class | ClockedNoise |
class | Comb |
class | Compressor |
class | CrossFade |
class | DcBlock |
class | Decimator |
class | DelayLine <typename T, max_size> |
class | Drip |
class | Dust Dust Module. |
class | FIRFilterImplGeneric <max_size, max_block> |
struct | FIRMemory <max_size, max_block> |
struct | FIRMemory< 0, 0 > <> |
class | Flanger Flanging Audio Effect. |
class | Fm2 |
class | Fold |
class | FormantOscillator Formant Oscillator Module. |
class | FractalRandomGenerator <typename T, order> Fractal Noise, stacks octaves of a noise source. |
class | GrainletOscillator Granular Oscillator Module. |
class | GranularPlayer |
class | HarmonicOscillator <num_harmonics> Harmonic Oscillator Module based on Chebyshev polynomials. |
class | HiHat <typename MetallicNoiseSource, typename VCA, resonance> 808 HH, with a few extra parameters to push things to the CY territory... |
class | Jitter |
class | LadderFilter |
class | Limiter |
class | Line |
class | LinearVCA Linear type VCA. |
class | Looper |
class | Maytrig |
class | Metro |
class | ModalVoice Simple modal synthesis voice with a mallet exciter: click -> LPF -> resonator. |
class | Mode |
class | MoogLadder |
class | NlFilt |
class | OnePole One Pole Lowpass / Highpass Filter. |
class | Oscillator |
class | OscillatorBank Oscillator Bank module. |
class | Overdrive Distortion / Overdrive Module. |
class | Particle Random impulse train processed by a resonant filter. |
class | Phaser Phaser Effect. |
class | PhaserEngine Single Phaser engine. Used inPhaser . |
class | Phasor |
class | PitchShifter |
class | Pluck |
class | PolyPluck <num_voices> |
class | Port |
class | Resonator Resonant Body Simulation. |
class | ResonatorSvf <batch_size> SVF for use in the Resonator Class . |
class | ReverbSc |
struct | ReverbScDl |
class | RingModNoise Ring mod style metallic noise generator. |
class | SampleHold |
class | SampleRateReducer Sample rate reducer. |
class | SmoothRandomGenerator Smooth random generator for internal modulation. . |
class | Soap |
class | SquareNoise 808 style "metallic noise" with 6 square oscillators. |
class | String Comb filter / KS string. |
class | StringVoice Extended Karplus-Strong, with all the niceties from Rings. |
class | Svf |
class | SwingVCA Swing type VCA. |
class | SyntheticBassDrum Naive bass drum model (modulated oscillator with FM + envelope). |
class | SyntheticBassDrumAttackNoise Attack Noise generator for SyntheticBassDrum . |
class | SyntheticBassDrumClick Click noise for SyntheticBassDrum . |
class | SyntheticSnareDrum Naive snare drum model (two modulated oscillators + filtered noise). |
class | Tone |
class | Tremolo Tremolo effect. |
class | VariableSawOscillator Variable Saw Oscillator . |
class | VariableShapeOscillator Variable Waveshape Oscillator . |
class | VosimOscillator Vosim Oscillator Module . |
class | Wavefolder |
class | WhiteNoise |
class | ZOscillator ZOscillator Module . |
Public Types¶
Type | Name |
---|---|
enum | AdEnvSegment |
typedef FIRFilterImplGeneric< max_size, max_block > | FIR |
enum | Mapping |
enum | daisysp |
enum | daisysp |
enum | daisysp |
Public Static Attributes¶
Type | Name |
---|---|
constexpr float | kOneTwelfth = 1.[**f**](classdaisysp_1_1DelayLine.md) / 12.[**f**](classdaisysp_1_1DelayLine.md) |
constexpr float | kRandFrac = 1.[**f**](classdaisysp_1_1DelayLine.md) / ([**float**](classdaisysp_1_1DelayLine.md))[**RAND\_MAX**](classdaisysp_1_1DelayLine.md) |
Public Functions¶
Type | Name |
---|---|
float | NextBlepSample (float t) |
float | NextIntegratedBlepSample (float t) |
float | SoftClip (float x) |
float | SoftLimit (float x) |
void | TestFloat (float & x, float y=0.f) |
float | ThisBlepSample (float t) |
float | ThisIntegratedBlepSample (float t) |
float | fastlog10f (float f) |
float | fastlog2f (float f) |
float | fastmod1f (float x) |
float | fastpower (float f, int n) |
float | fastroot (float f, int n) |
float | fclamp (float in, float min, float max) |
float | fmap (float in, float min, float max, Mapping curve=Mapping::LINEAR) |
float | fmax (float a, float b) |
float | fmin (float a, float b) |
void | fonepole (float & out, float in, float coeff) |
uint32_t | get_next_power2 (uint32_t x) |
constexpr bool | is_power2 (uint32_t x) |
T | median (T a, T b, T c) |
float | mtof (float m) |
uint32_t | myrand () |
float | pow10f (float f) |
float | soft_saturate (float in, float thresh) |
Public Static Functions¶
Type | Name |
---|---|
uint32_t | hash_xs32 (uint32_t x) |
Detailed Description¶
Author:
Alexander Petrov-Savchenko ([email protected])
Date:
February 2021
Public Types Documentation¶
enum AdEnvSegment¶
Distinct stages that the phase of the envelope can be located in.
See also: AdEnv
typedef FIR¶
enum Mapping¶
Curves to use with the fmap function
enum @¶
This enum is anonymous
Distinct stages that the phase of the envelope can be located in. * IDLE = located at phase location 0, and not currently running * ATTACK = First segment of envelope where phase moves from 0 to 1 * DECAY = Second segment of envelope where phase moves from 1 to SUSTAIN value * RELEASE = Fourth segment of envelop where phase moves from SUSTAIN to 0
enum @¶
This enum is anonymous
Curve applied to the CrossFade * LIN = linear * CPOW = constant power * LOG = logarithmic * EXP exponential * LAST = end of enum (used for array indexing)
enum @¶
This enum is anonymous
The method of natural decay that the algorithm will use. * RECURSIVE: 1st order recursive filter, with coefs .5. * WEIGHTED_AVERAGE: weighted averaging.
Public Static Attributes Documentation¶
variable kOneTwelfth¶
variable kRandFrac¶
Public Functions Documentation¶
function NextBlepSample¶
Ported from pichenettes/eurorack/plaits/dsp/oscillator/oscillator.h
function NextIntegratedBlepSample¶
Ported from pichenettes/eurorack/plaits/dsp/oscillator/oscillator.h
function SoftClip¶
Soft Clipping function extracted from pichenettes/stmlib
function SoftLimit¶
Soft Limiting function ported extracted from pichenettes/stmlib
function TestFloat¶
Quick check for Invalid float values (NaN, Inf, out of range)
Parameters:
x
value passed by reference, replaced by y if invalid.y
value to replace x if invalidity is found.
When DEBUG is true in the build, this will halt execution for tracing the reason for the invalidity.
function ThisBlepSample¶
Ported from pichenettes/eurorack/plaits/dsp/oscillator/oscillator.h
function ThisIntegratedBlepSample¶
Ported from pichenettes/eurorack/plaits/dsp/oscillator/oscillator.h
function fastlog10f¶
function fastlog2f¶
function fastmod1f¶
Significantly more efficient than fmodf(x, 1.0f) for calculating the decimal part of a floating point value.
function fastpower¶
From Musicdsp.org "Fast power and root estimates for 32bit floats) Original code by Stefan Stenzel These are approximations
function fastroot¶
function fclamp¶
quick fp clamp
function fmap¶
Maps a float between a specified range, using a specified curve.
Parameters:
in
a value between 0 to 1 that will be mapped to the new range.min
the new minimum valuemax
the new maxmimum valuecurve
a Mapping Value to adjust the response curve of the transformation defaults to Linear.
See also: Mapping When using the log curve min and max, must be greater than zero.
Return value:
returns
the transformed float within the new range.
function fmax¶
efficient floating point min/max ℅ stephen mccaul
function fmin¶
function fonepole¶
one pole lpf out is passed by reference, and must be retained between calls to properly filter the signal coeff can be calculated: coeff = 1.0 / (time * sample_rate) ; where time is in seconds
function get_next_power2¶
Prior to C++14 constexpr functions were required to be a single return statement. So this clause guards against that behavior to allow the library, and this function to continue to work with C++11. The function itself is not currently (12 May 2021) used within the library itself.
function is_power2¶
function median¶
Simple 3-point median filter ℅ stephen mccaul
function mtof¶
Midi to frequency helper
function myrand¶
function pow10f¶
From http://openaudio.blogspot.com/2017/02/faster-log10-and-pow.html No approximation, pow10f(x) gives a 90% speed increase over powf(10.f, x)
function soft_saturate¶
Based on soft saturate from: musicdsp.org Bram de Jong (2002-01-17) This still needs to be tested/fixed. Definitely does some weird stuff described as: x < a: f(x) = x x > a: f(x) = a + (x-a)/(1+((x-a)/(1-a))^2) x > 1: f(x) = (a + 1)/2
Public Static Functions Documentation¶
function hash_xs32¶
The documentation for this class was generated from the following file external-docs/DaisySP/Source/Control/adenv.h