vca

vca · utilities

Voltage-controlled amplifier. Multiplies the audio input by base + (cv * cvAmount).

A voltage-controlled amplifier — the elementary 'how loud right now' utility. It multiplies the audio input by a gain of base + cv × cvAmount: patch an envelope or LFO into cv and shape the response with the two knobs. The two KNOBS are smoothed by a one-pole filter (Faust si.smoo) so turning them is click-free, but the cv input itself is left alone and reaches the multiply at full bandwidth — an ADSR's attack is passed intact however short it is, and an audio-rate signal patched into cv ring-modulates rather than being filtered away. The gain total is not clamped: sums above 1 boost past unity, and sums below 0 pass the signal phase-inverted. A sign-flipped copy of the output is always available on the audio_inv port for sidechain tricks, cancellation, or mid/side processing without a separate inverter module — it is a phase variant of the same mono output, not the other half of a stereo pair.

the faceplate

vcaaudioaudiocvcvaudioaudioaudio_invaudioaudiocvgatepitch
2 inputs · 2 outputs · 2 params

inputs

idcablewhat it does
audioaudioThe signal to be amplified or gated — an oscillator voice, sampler, or any audio source. It is multiplied sample-by-sample by the resolved gain (base + cv × cvAmount).
audio signal
cvcvControl voltage for the gain: scaled by cvAmount and added to base. Typical sources are an ADSR for note shaping, an LFO for tremolo, or a sequencer CV lane for per-step level. This input is read at FULL BANDWIDTH — only the two knobs are de-zipped — so a short attack arrives with its shape intact (a 1 ms ADSR attack opens the VCA in 1 ms), and an audio-rate signal patched here ring-modulates the input rather than being filtered away. A hard gate edge is passed as a hard edge, so a square gate straight into cv can click.
control voltage (CV)

outputs

idcablewhat it does
audioaudioThe amplified signal: audio × (base + cv × cvAmount), with the two knob values de-zipped and the cv term passed at full bandwidth. Silent when base is 0 and nothing drives cv; unity passthrough at base 1 with no CV. The gain is unclamped — sums above 1 amplify beyond unity, and sums below 0 emerge phase-inverted.
audio signal
audio_invaudioA sample-accurate phase-inverted (×−1) copy of the audio output, implemented as a parallel inverting gain tap. Always live — patch it for mid/side processing, or cancellation/sidechain tricks, without adding an inverter module. It is a VARIANT of the audio output rather than its stereo partner: both jacks carry the same mono signal, one sign-flipped, so patching the pair into a stereo destination gives a phase-opposed dual-mono image, not a widened one.
audio signal

params

idlabelrangedefaultcurve
baseBase?..?linear
cvAmountCV amt?..?linear

controls

controlwhat it does
BaseThe static gain floor (linear 0 to 1, default 0), added to the scaled CV. At 0 the VCA is fully closed — silent until CV opens it; at 1 it passes unity with no CV. Raise it to leave some dry signal under modulation, or use it alone as a plain volume knob. The knob reads CLOSED at 0 and UNITY at 1, and prints the floor's gain in dB in between (that dB is the gain with NO CV present; once CV arrives the resolved gain is base + cv × amount).
CV amtDepth and sign of the cv input (linear −1 to +1, default +1). At +1 the full CV adds to base; smaller values shallow the modulation. Negative values subtract the CV from base — with base raised, rising CV ducks the output (sidechain-style); and because the gain is unclamped, a sum below 0 passes the signal phase-inverted rather than muting. The knob reads the SENSE of that modulation — OPEN while positive, DUCK while negative, CV OFF at the centre detent where the cv input stops reaching the gain at all — and shows the numeric depth on hover.

source

vca.ts on GitHub.

Generated from packages/web/src/lib/{audio,video}/module-registry.ts · repo