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

Virtual analog stereo oscillator with band-limited waveforms. More...

#include <gin_oscillators.h>

Classes

struct  Params
 

Public Member Functions

 StereoOscillator (BandLimitedLookupTables &bllt_)
 
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)
 

Detailed Description

Virtual analog stereo oscillator with band-limited waveforms.

StereoOscillator generates classic analog waveforms (saw, square, triangle, etc.) using band-limited lookup tables to avoid aliasing. It includes post-processing effects like wavefolding and asymmetry for additional timbral variation.

Key Features:

Parameters (via Params struct):

Usage:

osc.setSampleRate(44100.0);
osc.noteOn(); // Initialize phase
params.wave = Wave::sawUp;
params.pw = 0.5f;
params.fold = 0.3f;
osc.process(60.0f, params, audioBuffer); // MIDI note 60 (C4)
Generate and hold bandlimited lookup tables for all the common waveforms.
Definition gin_bandlimitedlookuptable.h:292
A lightweight 2D point class for projects that don't use juce_graphics.
Definition gin_point.h:25
Virtual analog stereo oscillator with band-limited waveforms.
Definition gin_oscillators.h:57
@ sawUp
Upward sawtooth.
Definition gin_oscillators.h:62
float fold
Definition gin_oscillators.h:67
Wave wave
Definition gin_oscillators.h:63
float pw
Definition gin_oscillators.h:66
See also
BandLimitedLookupTables, VoicedStereoOscillator, Wave

Constructor & Destructor Documentation

◆ StereoOscillator()

StereoOscillator::StereoOscillator ( BandLimitedLookupTables bllt_)

Member Function Documentation

◆ setSampleRate()

void StereoOscillator::setSampleRate ( double  sr)

◆ noteOn()

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

◆ process()

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

References processAdding().

◆ processAdding()

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

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