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

Stereo wavetable oscillator with multiple voices for unison/detuning effects. More...

#include <gin_wtoscillators.h>

Inheritance diagram for WTVoicedStereoOscillator:

Public Member Functions

 WTVoicedStereoOscillator (int maxVoices=8)
void setWavetable (Wavetable *table)
Public Member Functions inherited from VoicedStereoOscillator< WTOscillator, WTVoicedStereoOscillatorParams >
 VoicedStereoOscillator ()=default
void setSampleRate (double sr)
void noteOn (float phase=-1)
void process (float note, const WTVoicedStereoOscillatorParams &params, juce::AudioSampleBuffer &buffer)
void processAdding (float note, const WTVoicedStereoOscillatorParams &params, juce::AudioSampleBuffer &buffer)

Additional Inherited Members

Protected Attributes inherited from VoicedStereoOscillator< WTOscillator, WTVoicedStereoOscillatorParams >
juce::OwnedArray< WTOscillator > oscillators

Detailed Description

Stereo wavetable oscillator with multiple voices for unison/detuning effects.

WTVoicedStereoOscillator provides a complete wavetable-based virtual analog oscillator with support for multiple voices (unison), stereo spread, detuning, and wavetable-specific features like morphing, formant shifting, and phase distortion.

Key Features:

  • Multiple voices for thick unison sounds
  • Per-voice detuning with spread
  • Stereo panning and spread
  • Wavetable position morphing
  • Formant shifting (pitch-independent)
  • Phase distortion (bend)
  • Wavefolding and asymmetry
  • Band-limited to avoid aliasing

Usage:

WTVoicedStereoOscillator osc(8); // Up to 8 voices
osc.setSampleRate(44100.0);
osc.setWavetable(&myWavetables);
osc.noteOn(); // Initialize all voices
params.voices = 4;
params.detune = 0.1f;
params.spread = 0.5f;
params.position = 0.3f;
params.fold = 0.2f;
osc.process(60.0f, params, audioBuffer); // MIDI note 60 (C4)
WTVoicedStereoOscillator(int maxVoices=8)
Definition gin_wtoscillators.h:483
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 wavetable voiced stereo oscillator.
Definition gin_wtoscillators.h:425
float position
Definition gin_wtoscillators.h:426
float fold
Definition gin_wtoscillators.h:430
See also
WTOscillator, VoicedStereoOscillator, WTVoicedStereoOscillatorParams

Constructor & Destructor Documentation

◆ WTVoicedStereoOscillator()

WTVoicedStereoOscillator::WTVoicedStereoOscillator ( int maxVoices = 8)

Member Function Documentation

◆ setWavetable()

void WTVoicedStereoOscillator::setWavetable ( Wavetable * table)

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