Patch language with osc/noise/trig/seq/adsr/filter/delay/poly + voice templates and inline live values. Two runtimes: - code_sinth/ — Python engine (numpy + sounddevice). Hot-reload via mtime watcher. Offline render to WAV. Static-HTTP+WS visualizer (viz/) that injects waveforms next to each `node X = ...` line. - web/ — port of the engine to JS running in AudioWorklet. Single static page with CodeMirror 6 editor (line widgets for live waveforms) and a control surface on the right with knobs/faders/step_seq/piano_roll declared from the patch. State preserved across hot-reload. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 lines
285 B
Diff
9 lines
285 B
Diff
# Primer patch: oscilador saw modulado por una envolvente ADSR.
|
|
# trig dispara una compuerta cada 2s (1s alto, 1s bajo) que retriguerea el ADSR.
|
|
|
|
node g1 = trig(period=2.0, duration=1.0)
|
|
node o1 = osc(saw, freq=220)
|
|
node e1 = adsr(a=0.01, d=0.2, s=0.6, r=0.4, gate=g1)
|
|
|
|
out <- o1 * e1
|