synth
A module script.
Interface
What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.
conforms to
zero/source-extract/v2preseed/synth.module — offline additive/FM/noise synthesizer on nx buffers. Renders a note-event list into one interleaved-stereo 48 kHz f32 nx buffer. Everything is vectorized: oscillators are per-partial `applySin` passes over a shared time ramp, envelopes are exp/clamp buffer ops, noise percussion is seeded `fillRandomUniform` shaped in the frequency domain (rfft1d → response curve → irfft1d). Unique voices are cached by (instrument, pitch, duration) and mixed into the master with `addStridedFrom` (equal-power pan plus tempo-synced ping-pong delay taps). Event shape: { t, i = instrument, f = freqHz, d = durSec, a = amp, p = pan, tp = tap-set name, pu = sidechain-pump depth (0..1), pp = pump period sec }. `render(events, totalSec)` returns the master buffer.
ensureRamp( ) → void
timeRamp(n: ?) → void
| arg | type | description |
|---|---|---|
| n | ? |
acquire(n: ?) → void
| arg | type | description |
|---|---|---|
| n | ? |
release(n: ?, b: ?) → void
| arg | type | description |
|---|---|---|
| n | ? | |
| b | ? |
seedFrom(key: ?) → void
| arg | type | description |
|---|---|---|
| key | ? |
envMulExp(w: ?, n: ?, tau: ?, attack: ?) → void
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| tau | ? | |
| attack | ? |
envMulADSR(w: ?, n: ?, dur: ?, a: ?, d: ?, s: ?, r: ?) → void
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| dur | ? | |
| a | ? | |
| d | ? | |
| s | ? | |
| r | ? |
envMulGate(w: ?, n: ?, hold: ?, fall: ?, attack: ?) → void
gate: full level until `hold`, linear fall over `fall` (the 80s gated tail)
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| hold | ? | |
| fall | ? | |
| attack | ? |
sinePartial(w: ?, n: ?, f: ?, amp: ?) → void
w += amp·sin(2π f t)
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| f | ? | |
| amp | ? |
fmPartial(w: ?, n: ?, f: ?, amp: ?, mf: ?, mi: ?, mtau: ?) → void
w += amp·sin(2π f t + I·decay(t)·sin(2π mf t)); mtau <= 0 → no decay
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| f | ? | |
| amp | ? | |
| mf | ? | |
| mi | ? | |
| mtau | ? |
vibPartial(w: ?, n: ?, f: ?, amp: ?, vf: ?, dev: ?, fade: ?) → void
w += vibrato'd partial: deviation `dev`·f Hz at `vf` Hz, fading in over `fade`
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| f | ? | |
| amp | ? | |
| vf | ? | |
| dev | ? | |
| fade | ? |
sawStack(w: ?, n: ?, f: ?, amp: ?, K: ?, roll: ?, detune: ?, formant: ?) → void
w += band-limited saw stack (K partials, 1/k^roll), detune as a ratio
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| f | ? | |
| amp | ? | |
| K | ? | |
| roll | ? | |
| detune | ? | |
| formant | ? |
dropSine(w: ?, n: ?, fs: ?, fe: ?, ptau: ?, amp: ?) → void
phase = 2π(fe·t + (fs−fe)·τ·(1−e^{−t/τ})) — the pitch-drop body
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| fs | ? | |
| fe | ? | |
| ptau | ? | |
| amp | ? |
shapedNoise(w: ?, n: ?, seed: ?, respKey: ?, resp: ?, amp: ?) → void
| arg | type | description |
|---|---|---|
| w | ? | |
| n | ? | |
| seed | ? | |
| respKey | ? | |
| resp | ? | |
| amp | ? |
hp(fc: ?, order: ?) → void
| arg | type | description |
|---|---|---|
| fc | ? | |
| order | ? |
lp(fc: ?, order: ?) → void
| arg | type | description |
|---|---|---|
| fc | ? | |
| order | ? |
bp(flo: ?, fhi: ?) → void
| arg | type | description |
|---|---|---|
| flo | ? | |
| fhi | ? |
gauss(f: ?, c: ?, s: ?) → void
Each builder fills voice buffer `w` (length n) for event `ev`.
| arg | type | description |
|---|---|---|
| f | ? | |
| c | ? | |
| s | ? |
mixAt(master: ?, buf: ?, tSec: ?, gl: ?, gr: ?) → void
| arg | type | description |
|---|---|---|
| master | ? | |
| buf | ? | |
| tSec | ? | |
| gl | ? | |
| gr | ? |
pumpPhase(ev: ?) → void
| arg | type | description |
|---|---|---|
| ev | ? |
voiceKey(ev: ?) → void
| arg | type | description |
|---|---|---|
| ev | ? |
buildVoice(ev: ?) → void
| arg | type | description |
|---|---|---|
| ev | ? |
render(events: ?, totalSec: ?, onProgress: ?) → void
| arg | type | description |
|---|---|---|
| events | ? | |
| totalSec | ? | |
| onProgress | ? |
freeCache( ) → void
Sub-parts
Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.
Problems
Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.
agent_score is exposed.+ quality × 0.35
+ performance × 0.25
± compat factor
Usability ratings
Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".
Scoped to this part · feeds back into the world's score.