921b osc
moog921b · sources921B Oscillator (moogafakkin System 55/35 clone — categorized under Ports -> moogafakkin). The slaved VCO driven by a 921A bus: it reads freq_bus (V/oct pitch) + width_bus (pulse width) CONTROL INPUTS from a 921A rather than carrying its own 1V/oct jack, and presents FOUR fixed-level simultaneous waveform outs off one common core — sine, triangle, saw, rectangular — clamped to 0.01 Hz at the bottom and to just under Nyquist at the top (23 520 Hz at a 48 kHz sample rate), not the hardware's nominal 40 kHz. The FREQUENCY pot is a 2-octave fine trim; the RANGE switch sets the octave footage; DC MODULATE is DC-coupled LINEAR FM (non-1V/oct, ±Hz); AC MODULATE is cap-coupled LINEAR FM (a DC-blocking high-pass runs first so a DC offset on the modulator doesn't bend the pitch); the SYNC input + 3-position SYNC switch (off / lo=soft / hi=hard) drive oscillator sync. With nothing patched the bus normals to C4 @ 50% duty so the 921B still sounds standalone, but it is designed to be driven by a 921A driver. DSP forks the shared own-code moogafakkin VCO core (clean-room polyBLEP/polyBLAMP band-limited oscillator + hard/soft sync, the same core the 921 VCO uses) - not a port of any moogafakkin schematic or copyleft source, permissive only. Beige moogafakkin faceplate (the intrinsic always-on look shared by the moogafakkin module family).
the faceplate
inputs
| id | cable | what it does |
|---|---|---|
freq_bus | cv | 1V/oct pitch CV from a 921A driver's freq bus (0 = C4) — this is how the 921B gets its pitch. Patch the driver's FREQ BUS output here; the FREQ + RANGE knobs offset on top of it. control voltage (CV) |
width_bus | cv | Pulse-width CV from a 921A driver's width bus; sets the rectangular output's duty cycle (the sine, triangle and saw taps ignore it). It normals to 0.5 — a 50% square — and the normal is decided by the VALUE on the cable rather than by whether a cable is there: anything at or below 0.02 is treated as 'nothing patched'. So a fully patched driver sitting at its WIDTH minimum gets the same 50% square as no cable at all, and the duty jumps straight from 50% to 2% just above that. See issue #1791. control voltage (CV) |
dc_mod | audio | DC-coupled linear FM input: added to the frequency in Hz and scaled by the FM knob. Because it is DC-coupled, a steady offset here shifts the pitch (good for envelope-to-pitch), and audio here gives linear FM. audio signal |
ac_mod | audio | AC-coupled (cap-coupled) linear FM input: a DC-blocking high-pass runs first, so a DC offset on the modulator does NOT bend the pitch — only its alternating content modulates. Scaled by the FM knob; use it for vibrato/FM that won't drift the tuning. audio signal |
sync | audio | External sync source: each rising edge resets (hard) or nudges (soft) the oscillator's phase per the SYNC switch, locking it to the incoming signal for hard-sync sweeps. audio signal |
outputs
| id | cable | what it does |
|---|---|---|
sine | audio | The pure sine tap (fixed level), the fundamental with no harmonics. It is also the tap the faceplate's live glyph traces — the shell binds to the FIRST audio output a module declares, so the little waveform on the tile is the sine and never the saw, triangle or rect. audio signal |
triangle | audio | The triangle tap (fixed level) — soft and hollow, gentler than the saw. audio signal |
saw | audio | The band-limited sawtooth tap (fixed level) — the brightest, all-harmonics waveform. audio signal |
rect | audio | The rectangular / pulse tap (fixed level); its duty cycle follows the width bus (50% when unpatched). audio signal |
params
| id | label | range | default | curve |
|---|---|---|---|---|
fine | Freq | -12..12st | 0 | linear |
range | Range | -5..5oct | 0 | discrete |
modAmount | FM | -1..1 | 0 | linear |
syncMode | Sync | -1..1 | 0 | discrete |
level | Level | 0..2 | 1 | linear |
controls
| control | what it does |
|---|---|
| Freq | FREQ — a ±12-semitone (2-octave) fine tuning offset applied on top of the bus pitch, for detuning this 921B against others in the bank. ±1200 cents, five times less reach than RANGE. |
| Level | Output gain on every waveform tap, 0 to 2 (1 = unity) — the 921B's built-in VCA. It is a LINEAR multiplier, so its own value reads 1.00 at unity where the faceplate's `out` readout says 0.0 dB, and 2.00 at the top where that is +6.0 dB. |
| FM | FM — linear-FM depth, ±1, shared by both the DC and AC modulate inputs. At the shipped 0 BOTH FM jacks are bit-exactly silent, so patching one changes nothing until this is turned up; the faceplate's `fm` readout prints `off` there and the ±Hz swing a full-scale modulator buys otherwise. |
| Range | RANGE — octave footage, a discrete ±5-octave coarse offset on top of the bus pitch, to stack a 921B an octave (or several) above/below its siblings. ±6000 cents: the largest authority on the module, which is why the faceplate promotes it. RANGE and FREQ land in the SAME exponent as the pitch bus, so the pitch this module sings is 261.626 Hz x 2^(bus volts + range + fine/12) — the faceplate's `pitch` readout is that expression with the bus at rest, and `offset` is the term this module contributes to it. |
| Sync | SYNC switch: LO = soft sync (a gentle phase nudge), OFF = the sync input is ignored, HI = hard sync (a full phase reset on each rising edge of the sync input). It is a three-position switch rather than a dial — the DSP compares against ±0.5, so there is nothing between the detents. |
source
moog921b.ts on GitHub.