Gin
Loading...
Searching...
No Matches
BLLTVoicedStereoOscillator Class Reference

Band-limited stereo oscillator with multiple voices for unison effects. More...

#include <gin_oscillators.h>

Inheritance diagram for BLLTVoicedStereoOscillator:

Public Member Functions

 BLLTVoicedStereoOscillator (BandLimitedLookupTables &bllt, int maxVoices=8)
Public Member Functions inherited from VoicedStereoOscillator< StereoOscillator, VoicedStereoOscillatorParams >
 VoicedStereoOscillator ()=default
void setSampleRate (double sr)
void noteOn (float phase=-1)
void process (float note, const VoicedStereoOscillatorParams &params, juce::AudioSampleBuffer &buffer)
void processAdding (float note, const VoicedStereoOscillatorParams &params, juce::AudioSampleBuffer &buffer)

Additional Inherited Members

Protected Attributes inherited from VoicedStereoOscillator< StereoOscillator, VoicedStereoOscillatorParams >
juce::OwnedArray< StereoOscillator > oscillators

Detailed Description

Band-limited stereo oscillator with multiple voices for unison effects.

BLLTVoicedStereoOscillator combines the band-limited StereoOscillator with the multi-voice capabilities of VoicedStereoOscillator. It's ideal for creating rich, detuned analog-style sounds without aliasing.

Key Features:

  • Multiple voices (configurable up to maxVoices)
  • Band-limited waveforms (no aliasing)
  • Classic analog waveforms (saw, square, triangle, etc.)
  • Per-voice detuning and stereo spread
  • Pulse width modulation
  • Wavefolding and asymmetry effects
  • Stereo panning

Usage:

BLLTVoicedStereoOscillator osc(bllt, 8); // Up to 8 voices
osc.setSampleRate(44100.0);
osc.noteOn();
params.wave = Wave::sawUp;
params.voices = 5;
params.detune = 0.12f; // Semitones
params.spread = 0.6f; // Stereo spread
params.pw = 0.5f;
params.fold = 0.2f;
osc.process(60.0f, params, audioBuffer);
BLLTVoicedStereoOscillator(BandLimitedLookupTables &bllt, int maxVoices=8)
Definition gin_oscillators.h:322
Generate and hold bandlimited lookup tables for all the common waveforms.
Definition gin_bandlimitedlookuptable.h:292
@ sawUp
Upward sawtooth.
Definition gin_bandlimitedlookuptable.h:280
float spread
Stereo spread amount (0.0 = mono, 1.0 = full stereo).
Definition gin_oscillators.h:135
float detune
Detune amount between voices (in semitones or cents).
Definition gin_oscillators.h:136
int voices
Number of voices (1-N for unison).
Definition gin_oscillators.h:133
Extended parameters for band-limited voiced stereo oscillator.
Definition gin_oscillators.h:267
float pw
Definition gin_oscillators.h:269
float fold
Definition gin_oscillators.h:270
Wave wave
Definition gin_oscillators.h:268
See also
VoicedStereoOscillator, StereoOscillator, VoicedStereoOscillatorParams

Constructor & Destructor Documentation

◆ BLLTVoicedStereoOscillator()

BLLTVoicedStereoOscillator::BLLTVoicedStereoOscillator ( BandLimitedLookupTables & bllt,
int maxVoices = 8 )

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