Gin
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
WTOscillator Class Reference

Wavetable oscillator with interpolation and shaping options. More...

#include <gin_wtoscillators.h>

Classes

struct  Params
 

Public Member Functions

 WTOscillator ()=default
 
void setSampleRate (double sr)
 
void noteOn (float p=-1)
 
void process (float note, const Params &params, juce::AudioSampleBuffer &buffer)
 
void processAdding (float note, const Params &params, juce::AudioSampleBuffer &buffer)
 
void processAddingSimple (float note, const Params &params, juce::AudioSampleBuffer &buffer)
 
void processAddingComplex (float note, const Params &params, juce::AudioSampleBuffer &buffer)
 
void processAddingCrossfadeComplex (float note, const Params &params, juce::AudioSampleBuffer &buffer)
 
template<typename T >
void postProcess (const Params &params, T &v)
 
void setWavetable (Wavetable *table)
 
void setBlockDC (bool b)
 

Detailed Description

Wavetable oscillator with interpolation and shaping options.

WTOscillator provides high-quality wavetable synthesis with support for table morphing, formant shifting, phase distortion (bend), and post-processing effects like asymmetry and wavefolding. It uses band-limited wavetables to avoid aliasing.

Key Features:

Parameters (via Params struct):

Usage:

osc.setSampleRate(44100.0);
osc.setWaveTable(&myBandLimitedTables);
osc.noteOn(); // Initialize phase
params.position = 0.3f;
params.fold = 0.2f;
osc.process(60.0f, params, audioBuffer); // MIDI note 60 (C4)
Wavetable oscillator with interpolation and shaping options.
Definition gin_wtoscillators.h:131
void process(float note, const Params &params, juce::AudioSampleBuffer &buffer)
Definition gin_wtoscillators.h:157
void noteOn(float p=-1)
void setSampleRate(double sr)
Definition gin_wtoscillators.h:146
Definition gin_wtoscillators.h:136
float position
Definition gin_wtoscillators.h:139
float fold
Definition gin_wtoscillators.h:143
See also
BandLimitedLookupTable, DCBlocker

Constructor & Destructor Documentation

◆ WTOscillator()

WTOscillator::WTOscillator ( )
default

Member Function Documentation

◆ setSampleRate()

void WTOscillator::setSampleRate ( double  sr)

◆ noteOn()

void WTOscillator::noteOn ( float  p = -1)

◆ process()

void WTOscillator::process ( float  note,
const Params params,
juce::AudioSampleBuffer &  buffer 
)

References processAdding().

◆ processAdding()

void WTOscillator::processAdding ( float  note,
const Params params,
juce::AudioSampleBuffer &  buffer 
)

◆ processAddingSimple()

void WTOscillator::processAddingSimple ( float  note,
const Params params,
juce::AudioSampleBuffer &  buffer 
)

◆ processAddingComplex()

void WTOscillator::processAddingComplex ( float  note,
const Params params,
juce::AudioSampleBuffer &  buffer 
)

◆ processAddingCrossfadeComplex()

void WTOscillator::processAddingCrossfadeComplex ( float  note,
const Params params,
juce::AudioSampleBuffer &  buffer 
)

◆ postProcess()

template<typename T >
void WTOscillator::postProcess ( const Params params,
T &  v 
)

◆ setWavetable()

void WTOscillator::setWavetable ( Wavetable table)

◆ setBlockDC()

void WTOscillator::setBlockDC ( bool  b)

The documentation for this class was generated from the following file: