ofxPDSP
|
Thread-safe value control with smoothing. More...
Classes | |
class | AAHighShelfEQ |
2x Oversampled High Shelf Equalizer. Multichannel. More... | |
class | AALowShelfEQ |
2x Oversampled Low Shelf Equalizer. Multichannel. More... | |
class | AAPeakEQ |
2x Oversampled Peak Equalizer. Multichannel. More... | |
class | AbsoluteValue |
The output are the absolute values of the input signal values. Make the signal unipolar by mirroring values that are less than zero. More... | |
class | ADSR |
Attack-Decay-Sustain-Release envelope. More... | |
class | AHR |
Attack-Hold-Release envelope. More... | |
class | AllPassDelay |
Digital Delay with an all pass filter in the feedback path, useful for building reverbs. More... | |
class | Amp |
Multiply in("signal") for in("mod"). More... | |
class | APF1 |
1pole AllPass Filter More... | |
class | APF4 |
4pole AllPass Filter More... | |
class | BasiVerb |
Dubby sounding reverb based on Moorer's reverb with added time modulations. More... | |
class | BipolarToUnipolar |
Converts bipolar signals to unipolar. More... | |
class | BiquadAPF2 |
2pole All Pass Filter More... | |
class | BiquadBase |
Base class for biquad filters. More... | |
class | BiquadBPF2 |
2pole Band Pass Filter More... | |
class | BiquadHighShelf |
High shelf EQ filter. More... | |
class | BiquadHPF2 |
2pole High Pass Filter More... | |
class | BiquadLowShelf |
Low shelf EQ filter. More... | |
class | BiquadLPF2 |
2pole Low Pass filter More... | |
class | BiquadNotch2 |
2pole Notch Filter More... | |
class | BiquadPeakEQ |
Peaking EQ filter with variable Q. More... | |
class | Bitcruncher |
Bitcruncher. Makes the output distorted by reducing the bit used for storing the amplitude values. More... | |
class | BitNoise |
Stereo Digital noise generator with lots of control. More... | |
class | BLEPSaw |
Antialiased Saw Oscillator. More... | |
class | BufferShell |
A buffer of memory-aligned floats that resize itself when the units are prepared. More... | |
class | ChannelNode |
A module with no dsp inside, just two public pdsp::PatchNode set as default input and output and not connected between then, useful as send/return for coding multichannel modules. More... | |
class | CheapPulse |
Economic pulse oscillator. More... | |
class | CheapSaw |
Economic saw oscillator. More... | |
class | CheapSine |
Economic sine oscillator. More... | |
class | CheapTri |
Economic triangle oscillator. More... | |
class | Clockable |
Global transport and tempo interface. More... | |
class | ClockedLFO |
LFO clocked to global tempo and synchronized to transport. More... | |
class | ClockedPhasor |
Phazor clocked to tempo values and syncronized to transport. More... | |
class | CombFilter |
A comb filter is a delay tuned to a specific pitch frequency (mix it with the dry signal). Multichannel. More... | |
class | Compressor |
Stereo Feed-forward compressor with peak-based or RMS detection and optional lookahead and stereo linking. More... | |
class | ComputerKeyboard |
class | Controller |
class | DataOsc |
Data table oscillator. More... | |
class | DataOscillator |
DataTable based oscillator. Check out the pdsp::DataTable for more info. More... | |
class | DataTable |
Utility class for creating waveform from realtime data, thread safely. More... | |
class | DBtoLin |
Converts dB values into linear values. More... | |
class | Decimator |
Sample Rate Decimator, reduce the sample rate of the input signal. New sample rate frequency is a real-time modulable input. More... | |
class | Delay |
Digital Delay with a low pass filter in the feedback path. More... | |
class | DimensionChorus |
Chorus loosely based on Roland Dimension C-D models. More... | |
class | DownSampler |
Abstract class to implement downsampling resamplers. More... | |
class | DPWTri |
Antialiased Triangle Oscillator. More... | |
class | Ducker |
Triggered ducking module. Multichannel. More... | |
class | Engine |
class | EnvelopeFollower |
Envelope Follower for dynamic processing and control. More... | |
class | ExternalInput |
Unit to copy values from an external audio input and convert them to a patchable output. More... | |
class | FDLConvolver |
Process the input using FFT convolution with a given impulse response. More... | |
class | FFTWorker |
Class to use an FFT Implementation. More... | |
class | FMOperator |
FM operator based on a wavetable sine. More... | |
class | Formula |
An abstract unit with one input and one output and no other controls, for simple processing. More... | |
class | FreqToMs |
output is frequency converted to milliseconds, useful for tuning delays More... | |
class | Function |
powerful class for sequencing. Function executed a given code with a rate defined by timing variable and by pdsp::Engine sequencer tempo. Into the executed assignable lambda you can send out triggers or value messages to the pdsp::Function outputs More... | |
class | GainComputer |
Calculate gain reduction value. Needs an input converted from linear to dB values. More... | |
class | GrainCloud |
Stereo "cloud" of really short sampled segments. More... | |
class | GrainWindow |
Single trigger envelope with a DSP-window shape, with included amp. More... | |
class | HighCut |
12 dB High Cut (aka Low-Pass filter). Non-resonant. Multichannel. More... | |
class | HighShelfEQ |
High Shelf Equalizer. Multichannel. More... | |
class | IIRDownSampler2x |
Downsample to half the oversampling level. More... | |
class | IIRUpSampler2x |
Upsample to half the oversampling level. More... | |
class | InputNode |
Input of a Unit, process all the connected Outputs and sum them. Has an internal variable state. More... | |
class | IRVerb |
Impulse Response based reverb, with stereo or mono input and stereo output. More... | |
class | LFO |
non-clocked LFO More... | |
class | LFOPhasor |
Simple phazor for LFOs. More... | |
class | LHDelay |
Utility to delay signal for a certain ms, used in lookahead compressors. More... | |
class | LinearCrossfader |
Linearly fades between A/B inputs. More... | |
class | LinToDB |
Converts linear values into dB values. More... | |
class | LowCut |
12 dB Low Cut (aka High-Pass filter). Non-resonant. Multichannel. More... | |
class | LowShelfEQ |
Low Shelf Equalizer. Multichannel. More... | |
class | MaxValue2 |
Output is the max between the values of the two inputs. More... | |
class | MultiLadder4 |
4 pole Multimode Ladder Virtual Analog Filter More... | |
class | OneBarTimeMs |
Constantly outputs a control rate value that rapresent the time in milliseconds for one bar. More... | |
class | OneMinusInput |
output is 1.0f - input More... | |
class | OnePole |
1 pole high/low pass filter More... | |
class | Oscillator |
Abstract class to implement oscillators. More... | |
class | OscillatorVariShape |
Abstract class to implement oscillators with single shape control. More... | |
class | OutputNode |
Output of a Unit, contains a buffer of rendered floats and has a variable state flag. More... | |
class | Panner |
Pans a signal between L/R outputs. More... | |
class | Parameter |
class | ParameterAmp |
class | ParameterGain |
class | Patchable |
Abstract class for implementing Units and Modules. More... | |
class | PatchNode |
A Unit with no dsp inside, it just pass it's input to the output. Patching float to this Unit is thread-safe. More... | |
class | PeakEQ |
Peak Equalizer. Multichannel. More... | |
class | PhaserFilter |
A 4 pole Phaser. Multichannel. More... | |
class | PhasorShifter |
Shift a phazor output, wrapping it around if needed. More... | |
class | PitchToFreq |
Converts pitch values to frequency values. More... | |
class | PMPhasor |
Fully featured phazor with phase modulation and sync inputs. More... | |
class | PositiveValue |
Make the signal unipolar by setting to zero negative values. Only positive values are not altered. More... | |
class | Preparable |
class | Processor |
The bridge between pdsp and the audio callback. More... | |
class | RMSDetector |
An RMS signal detector. More... | |
class | SampleAndHold |
Sample & Hold unit. More... | |
class | SampleBuffer |
Contains the data loaded from an audio file. More... | |
class | SampleBufferPlotter |
utility class to generate a waveform plot More... | |
class | Sampler |
plays SampleBuffer More... | |
class | SamplesDelay |
Utility to delay signal for a certain number of samples. More... | |
class | Saturator1 |
Saturator unit, inverse sigmoid curve. More... | |
class | Saturator2 |
Saturator unit, tanh curve. More... | |
class | Scope |
class | SequencerGateOutput |
Takes messages from a MessageBuffer and convert them in a trigger output. More... | |
class | SequencerProcessor |
Contains all the needed framework for generating and sequencing messages for the DSPs. More... | |
class | SequencerValueOutput |
Takes messages from a MessageBuffer and convert them in an optionally smoothed value output. More... | |
class | SineFB |
Wavetable sine oscillator with self-fm. More... | |
class | SoftClip |
Soft Clipper with settable threshold, useful for limiting signals. More... | |
class | SquarePeakDetector |
Make the signal unipolar by multiplying the values for themselves. More... | |
class | SRDelay |
Send/Return Delay. Digital Delay with patchable feedback path. More... | |
class | SVF2 |
2pole Virtual Analog State Variable Filter More... | |
class | SVFilter |
Multi-mode virtual analog state variable filter. Multichannel. More... | |
class | Switch |
A Unit with no dsp inside, it let you switch between different connected inputs and process and pass to the output only the selected input. More... | |
class | TableOscillator |
pdsp::WaveTable based oscillator More... | |
class | ToGateTrigger |
Generate trigger on/off messages when the input values are greater than a set value. More... | |
class | TriggerControl |
Generate trigger on/off messages when the input values are greater than a set value. More... | |
class | TriggeredGrain |
A stream of really short sampled segments, use many of this to create a "graincloud". More... | |
class | TriggeredRandom |
Random values clocked by an external trigger. More... | |
class | TriggerGeiger |
Generate randomly separated trigger values. More... | |
class | Unit |
Abstract class for implementing Units. More... | |
class | UpSampler |
Abstract class to implement upsampling resamplers. More... | |
class | UsesSlew |
Slewing behavior. More... | |
class | VAFilter |
Multi-mode virtual analog ladder filter. Multichannel. More... | |
class | ValueControl |
class | ValueNode |
An OutputNode that is always set at control rate with a set value. Setting or patching float to this class is thread-safe. More... | |
class | VAOscillator |
Oscillator with antialiased waveforms, sync in/out and fm input. More... | |
class | WaveTable |
Utility class for storing and loading buffers of waveforms. More... | |
class | WaveTableOsc |
Wavetable oscillator. More... | |
class | WhiteNoise |
PseudoRandom Noise Generator (used for white noise, but it can also generate more complex noise timbres, see pdsp::BitNoise) More... | |
class | Wrapper |
class | ZeroDownSampler |
Downsample the signal without filtering, just removing values. More... | |
class | ZeroUpSampler |
Upsample the signal without filtering, just copying values. More... | |
Typedefs | |
typedef AbsoluteValue | FullWavePeakDetector |
typedef AbsoluteValue | AbsoluteSignal |
typedef PositiveValue | HalfWavePeakDetector |
typedef PositiveValue | PositiveSignal |
typedef DPWTri | AATri |
typedef BLEPSaw | AASaw |
typedef Compressor | Compressor1 |
typedef Compressor | Compressor2 |
typedef Delay | DampedDelay |
typedef ClockedPhasor | ClockedPhazor |
typedef LFOPhasor | LFOPhazor |
typedef PhasorShifter | PhazorShifter |
typedef PMPhasor | PMPhazor |
typedef WhiteNoise | PRNoiseGen |
Functions | |
std::vector< sumNodePtr > * | operator+ (float left, OutputNode &right) |
std::vector< sumNodePtr > * | operator+ (float left, Patchable &right) |
std::vector< sumNodePtr > * | operator+ (OutputNode &left, OutputNode &right) |
std::vector< sumNodePtr > * | operator+ (OutputNode &left, Patchable &right) |
std::vector< sumNodePtr > * | operator+ (OutputNode &left, float right) |
std::vector< sumNodePtr > * | operator+ (Patchable &left, OutputNode &right) |
std::vector< sumNodePtr > * | operator+ (Patchable &left, Patchable &right) |
std::vector< sumNodePtr > * | operator+ (Patchable &left, float right) |
std::vector< sumNodePtr > * | operator+ (std::vector< sumNodePtr > *left, OutputNode &right) |
std::vector< sumNodePtr > * | operator+ (std::vector< sumNodePtr > *left, Patchable &right) |
void | operator>> (std::vector< sumNodePtr > *left, InputNode &right) |
Patchable & | operator>> (std::vector< sumNodePtr > *left, Patchable &right) |
void | operator>> (OutputNode &output, InputNode &input) |
Patchable & | operator>> (OutputNode &output, Patchable &input) |
void | operator>> (float value, InputNode &input) |
OutputNode & | operator>> (float lhs, ValueNode &node) |
void | operator>> (Patchable &output, InputNode &input) |
Patchable & | operator>> (Patchable &output, Patchable &input) |
Patchable & | operator>> (float value, Patchable &input) |
void | operator!= (InputNode &input, OutputNode &output) |
void | operator!= (OutputNode &output, InputNode &input) |
void | operator!= (Patchable &input, OutputNode &output) |
void | operator!= (OutputNode &output, Patchable &input) |
void | operator!= (InputNode &input, Patchable &output) |
void | operator!= (Patchable &output, InputNode &input) |
OutputNode & | operator* (OutputNode &output, float multiplier) |
Patchable & | operator* (Patchable &patch, float multiplier) |
void | operator<< (InputNode &input, float value) |
void | operator<< (ValueNode &node, float value) |
void | operator<<= (InputNode &input, float value) |
void | operator<<= (ValueNode &node, float value) |
void | prepareAllToPlay (int expectedBufferSize, double sampleRate) |
prepares all the Preparable to play, it is mandatory to be called at least once with the correct sample rate and buffer size | |
void | releaseAll () |
releases the resources of all the Preparable classes | |
void | setInitOversample (int initOversample) |
changes the default oversample level (default is 1 = no oversampling ) | |
inline_f float | BLEPn (const float *BLEPTable, const float &tableFakeLen, const float &modulo, const float &inc, const float &height, const float &pointsPerSide, const int &pointsPerSide_int, bool interpolate, const float &tableCenter, const float &oneSlashPointPerSide) |
void | BLEPWaveformDSP (int bufferSize, float *outputBuffer, const float *phaseBuffer, float inc, const float *BLEPTable, float pointsPerSide, float tableFakeLen, bool interpolate=false) |
void | BLEPFMWaveformDSP (int bufferSize, float *outputBuffer, const float *phaseBuffer, const float *incBuffer, const float *BLEPTable, float pointsPerSide, float tableFakeLen, bool interpolate=false) |
inline_f bool | checkTrigger (float x) |
inline_f bool | envTrigger (float x) |
inline_f bool | notTrigger (float x) |
inline_f bool | checkSync (float x) |
inline_f void | pdsp_trace () |
inline_f void | wrapChannelIndex (size_t &index, size_t max=2, std::string name="this module") |
inline_f float | PNSequenceNext (uint32_t &PNRegister) |
float | panL (float pan) |
returns a float value you can use to multiply your signal for panning when patching to a left channel More... | |
float | panR (float pan) |
returns a float value you can use to multiply your signal for panning when patching to a right channel More... | |
float | f2p (float freq) |
take a frequency value as input an returns a pitch value. Standard reference tuning is 440hz, you can set it with setReferencyFrequency() (remember to set it before using this function!). More... | |
float | pratio (float pitch, float ratio) |
take a pitch value and a float ratio. The returns a pitch that is the pitch value of the frequency corresponding to the first pitch, multiplied by the ratio. More... | |
int | highestPartial (float pitch) |
take a pitch value as input an returns the highest partial before 20000hz of a waweform with that base pitch. Useful for initializing pdsp::WaveTable, to avoid aliasing use the pitch of the maximum note you want to use with that oscillator. This function is calibrated for 44.1 kHz sapling rate. | |
inline_f float | urand () |
returns a random float value ranging from 0.0f, to the 1.0f. Use this instead of ofRandom() in the code that should run in the audio thread. | |
inline_f float | brand () |
returns a random float value ranging from -1.0f to 1.0f. Use this instead of ofRandom() in the code that should run in the audio thread. | |
inline_f int | dice (int min, int maxExclusive) |
returns a random int value that ranges from min to maxExclusive-1 More... | |
float | spread (int index, int max, float spread, bool fromCenter=false) |
returns a value for panning voices in an uniform distribution into the stereo panorama More... | |
float | p2f (float pitch) |
take a pitch value as input an returns a frequency value. Standard reference tuning is 440hz, you can set it with setReferencyFrequency() (remember to set it before using this function!). More... | |
Thread-safe value control with smoothing.
abstract class to extend for integrate openFrameworks addon into ofxPDSP
utility class manage serial output ports and send bytes from the internal generative music system
Utility class to monitor the signal.
Two pdsp::Amp with the mod controlled in decibel by a pdsp::Parameter converted from, packed together. Multichannel.
A pdsp::Amp with the mod controlled by a pdsp::Parameter, packed together. Multichannel.
Utility class control the audio dsp parameter and bind them to one or more internal ofParameter.
utility class manage OSC output from the sequencer
utility class manage OSC input to the DSP
utility class to parse midi note data from a pdsp::midi::Input and convert it to a bank trigger outputs
utility class manage midi output ports and send midi messages from the internal generative music system
utility class to parse note, pitch bend and channel pressure from a pdsp::midi::Input and convert it to a bank of patchable triggers and values
utility class manage midi input ports and collect midi input messages
utility class to parse control change data from a pdsp::midi::Input and convert it to a bank of patchable modules with optional slewed output. By default outputs are slewed to 50ms.
utility class to manage input/output audio streams, acquire and release resources and process midi input/output. It also has an internal SequencerProcessor for sequencing.
utility class to use your computer keyboard as an 1-octave musical keyboard
pdsp::ValueControl contains a value that you can patch to other pdsp modules, and set with the set() method. The value can optionally be smoothed over time, and the set() and get() methods are thread-safe.
pdsp::Parameter contains some ofParameter and a pdsp::ValueControl, that is read and processed in a thread-safe manner. When one of the ofParameters is changed the pdsp::ValueControl is set. The output of this class can be patched to the audio DSP and can be optionally smoothed out.
This will save you lot of time when making monophonic synths. It has an input and output like a pdsp::Amp, but no in_mod() as the mod is controlled by an internal pdsp::Parameter you can access and set with the other methods.
This will save you lot of time to mix signals. A value lower than -48.0f will set the amp mod to 0.0f, muting the input signal and pausing its DSP processing.
inline_f int pdsp::dice | ( | int | min, |
int | maxExclusive | ||
) |
returns a random int value that ranges from min to maxExclusive-1
[in] | min | number |
[in] | maxExclusive |
float pdsp::f2p | ( | float | freq | ) |
take a frequency value as input an returns a pitch value. Standard reference tuning is 440hz, you can set it with setReferencyFrequency() (remember to set it before using this function!).
[in] | freq | freq value to convert |
float pdsp::p2f | ( | float | pitch | ) |
take a pitch value as input an returns a frequency value. Standard reference tuning is 440hz, you can set it with setReferencyFrequency() (remember to set it before using this function!).
[in] | pitch | pitch value to convert |
float pdsp::panL | ( | float | pan | ) |
returns a float value you can use to multiply your signal for panning when patching to a left channel
[in] | pan | pan value |
float pdsp::panR | ( | float | pan | ) |
returns a float value you can use to multiply your signal for panning when patching to a right channel
[in] | pan | pan value |
float pdsp::pratio | ( | float | pitch, |
float | ratio | ||
) |
take a pitch value and a float ratio. The returns a pitch that is the pitch value of the frequency corresponding to the first pitch, multiplied by the ratio.
[in] | pitch | base pitch value |
[in] | ratio | ratio of the frequency multiplication |
float pdsp::spread | ( | int | index, |
int | max, | ||
float | spread, | ||
bool | fromCenter = false |
||
) |
returns a value for panning voices in an uniform distribution into the stereo panorama
[in] | index | index of the voice to pan |
[in] | max | number of max voices |
[in] | spread | spread of the total panorama, value should range from 0.0f to 1.0f |
[in] | fromCenter | if true the spreading will start from the center and alternate notes at right and left |