Band-Limited Osc
SourcesbloscLight CPU
Alias-free triangle / saw / square oscillator.
What it does
Alias-free triangle / saw / square.
Wraps daisysp::BlOsc (soundpipe-derived). Waveform is selected at init via SetWaveform; SetFreq / SetPw / SetAmp update per sample. Unlike the variable oscillators it has a native SetAmp, so the Amp port drives the level directly (no extra VCA multiply).
Parameters
-
Waveform
waveformWhich of the three classic shapes the oscillator produces. Triangle is nearly a sine with a little edge, saw is the bright buzzing one that suits filters, and square is hollow and reedy — and the only one Pulse Width does anything to. All three are band-limited, which is the point of this tile: they stay clean in the top octaves where the plain Oscillator starts to alias. ⚠ Baked at build time, so a patch cannot switch shape while it runs — use separate tiles and a Crossfade for that.
-
Pulse Width
pwWidth of the high part of the square, from 0 to 1, where 0.5 is a symmetrical square. Moving away from the middle thins the tone into something more nasal and reedy, and the extremes approach silence as the pulse vanishes. ⚠ This does nothing unless Waveform is Square. Slowly modulating it is the classic PWM sound, and the port is per-sample so that works.
Band-limited (anti-aliased) classic waveforms — stays clean where the basic Oscillator aliases up top. Waveform is baked at build time; Pulse Width only affects Square. Freq / Width / Amp are per-sample (modulatable); wire an envelope into Amp to play it.
Ports
In
-
Freq
frequency -
Width
pw -
Amp
amplitude
Out
-
Audio Out
output
Audio Control
Inputs
- Freq
- Pitch in Hz.
- Width
- Pulse width (Square only), 0 → 1.
- Amp
- Output level (0 → 1). Defaults to 1.0.
Outputs
- Audio Out
- Band-limited waveform.
Rules and gotchas
- Waveform is baked at build time.