callsine

callsine · effects · schema v1

Spectral-analysis additive resynthesizer (clean-room port of Warren's Spectrum / CallSine, MIT-licensed). Reads incoming mono audio, runs an FFT-based partial tracker (Hann window → peak detection → McAulay-Quatieri-lite tracking → optional F0 harmonic lock) and rebuilds the sound as an additive bank of up to 64 oscillators. Plaits-style macros: HARMONICS sets the partial count, TIMBRE the smoothing/slew time, MORPH the harmonic-LOCK strength (snaps partials to an F0 grid), LEVEL the output gain. A PITCH (V/oct) input transposes the whole resynth; a GATE input toggles FREEZE, latching the current partials at their current frequencies/amplitudes for sustained pads. Ships 14 voice models (SINES, SAW, SQR, PULSE25, TRI, RAMP, CHEBY3/5, HARDSYNC, FOLD, NOISE, FORMANT, SUBOSC, METAL) that swap the per-partial waveform from pure sinusoids to richer/inharmonic shapes.

A spectral-analysis additive resynthesizer (a port of Warren's Spectrum / CallSine). It listens to whatever audio you feed in, runs a rolling FFT to find the loudest sinusoidal partials, tracks them over time, and rebuilds the sound with a bank of up to 64 oscillators — so it's a resynth, not a synth from scratch. Because the rebuild is a bank of oscillators, you can transpose the whole thing cleanly (Note / pitch CV), thin it out or fill it in (Harmonics), smear it in time (Timbre), snap its partials to a harmonic series for a more tonal result (Morph), and swap the oscillator waveform for one of 14 voice models (sine, saw, square, formant, metal, etc.). A gate toggles FREEZE, latching the current spectrum so you can stutter or drone on a held moment.

the faceplate

callsineaudio_inaudiopitchpitchgategatemodel_cvcvnote_cvcvharm_cvcvtimb_cvcvmorph_cvcvlevel_cvcvoutaudioaudiocvgatepitch
9 inputs · 1 outputs · 6 params

inputs

idcablewhat it does
audio_inaudioThe mono audio to analyse and resynthesize — anything: a synth voice, a drum loop, a vocal. CallSine tracks its strongest partials and rebuilds them with the oscillator bank.
audio signal
pitchpitchA 1V/oct pitch input that transposes the entire resynth output after analysis (it shifts the rebuilt partials, so it pitches the sound without time-stretching it). Adds with the Note knob.
V/oct pitch CV
gategateFREEZE toggle: a rising edge flips the freeze latch on or off, snapshotting the bank's current partials (their frequencies + amplitudes) so the output drones on that spectrum even as the input changes. Tap it to freeze a moment; pulse it to glitch-stutter. It reacts to the edge, not the held level.
gate / trigger
model_cvcvCV that displaces the voice-Model selector (discrete), so a stepped CV can switch oscillator waveforms.
control voltage (CV); modulates model (integer buckets — CV selects a discrete step)
note_cvcvCV that adds to the Note transpose (linear, ±60 st range), for melodic transposition from an LFO or sequencer.
control voltage (CV); modulates note (additive offset — ±1 CV sweeps the full range, centered on the knob)
harm_cvcvCV that adds to the Harmonics macro, opening up or thinning the partial count.
control voltage (CV); modulates harmonics (additive offset — ±1 CV sweeps the full range, centered on the knob)
timb_cvcvCV that adds to the Timbre macro, sweeping the analyzer smear/slew.
control voltage (CV); modulates timbre (additive offset — ±1 CV sweeps the full range, centered on the knob)
morph_cvcvCV that adds to the Morph macro, modulating the harmonic-lock strength.
control voltage (CV); modulates morph (additive offset — ±1 CV sweeps the full range, centered on the knob)
level_cvcvCV that adds to the output Level.
control voltage (CV); modulates level (additive offset — ±1 CV sweeps the full range, centered on the knob)

outputs

idcablewhat it does
outaudioThe mono additive-resynth output: the tracked partials rebuilt with the selected voice model, transposed and leveled. Frozen when FREEZE is engaged.
audio signal

params

idlabelrangedefaultcurve
modelModel0..?0discrete
noteNote-60..60st0linear
harmonicsHarmonics0..10.6linear
timbreTimbre0..10.4linear
morphMorph0..10linear
levelLevel0..10.8linear

controls

controlwhat it does
HarmonicsPartials-count macro (0..1): scales how many of the strongest tracked partials are resynthesized (1 up to all 64) — low for a sparse, hollow reduction, high for a faithful full-spectrum rebuild.
LevelOutput gain (0..1); the Level CV input adds to this.
ModelThe oscillator waveform each partial uses (discrete, 14 models: SINES, SAW, SQR, PULSE25, TRI, RAMP, CHEBY3/5, HARDSYNC, FOLD, NOISE, FORMANT, SUBOSC, METAL) — pick SINES for a clean resynth or a richer model to recolor the spectrum. The current model name is shown under the title.
MorphHarmonic-lock strength (0..1): pulls the tracked partials toward an exact harmonic series of the detected fundamental — 0 leaves them where the analysis found them (inharmonic, faithful), higher values snap them tonal.
NoteSemitone transpose of the whole output (-60 to +60), added to the 1V/oct pitch input — shift the resynth up or down without changing its timing.
TimbreSmoothing/slew macro (0..1, mapping to roughly 5 ms–2 s): low tracks the input crisply, high smears partials over time for a blurred, evolving texture.

source

callsine.ts on GitHub.

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