1
0
Fork
You've already forked sigil-dsp
0
Digital signal processing library for Sigil — oscillators, filters, effects, envelopes via vendored SoundPipe
  • C 100%
Find a file
2026年07月12日 15:29:50 +03:00
src Add Karplus-Strong plucked-string primitive (make-ks) 2026年04月18日 15:56:44 +03:00
test Add sigil-dsp package with vendored SoundPipe and native bindings 2026年04月02日 13:01:39 +03:00
vendor/soundpipe Add sigil-dsp package with vendored SoundPipe and native bindings 2026年04月02日 13:01:39 +03:00
.gitignore v0.3.0: bump to Sigil 0.17 toolchain 2026年06月25日 13:47:02 +03:00
package.sgl Bump to 0.3.1 2026年07月12日 15:29:50 +03:00
README.md Add sigil-dsp package with vendored SoundPipe and native bindings 2026年04月02日 13:01:39 +03:00
RELEASES.md v0.3.0: bump to Sigil 0.17 toolchain 2026年06月25日 13:47:02 +03:00
sigil.lock v0.3.0: bump to Sigil 0.17 toolchain 2026年06月25日 13:47:02 +03:00

sigil-dsp

DSP primitives for Sigil via vendored SoundPipe.

Modules

  • (sigil dsp core) -- DSP engine lifecycle, function tables
  • (sigil dsp osc) -- Oscillators: sine, saw, square, triangle, FM, phasor
  • (sigil dsp filter) -- Filters: Moog ladder, Butterworth, resonant LP, DC block
  • (sigil dsp env) -- Envelopes: ADSR, triggered, line, exponential, portamento
  • (sigil dsp fx) -- Effects: stereo reverb (revsc, zitarev), delay, variable delay
  • (sigil dsp noise) -- Noise: white, pink, brown
  • (sigil dsp util) -- Panning, dynamics, timing, random modulation, scaling, WAV output

Usage

(import (sigil dsp core)
 (sigil dsp osc)
 (sigil dsp filter))
(dsp-init 44100)
;; Create a 440Hz sine oscillator
(define osc (make-osc 440.0 1.0))
;; Or use the convenience constructor
(define saw (make-oscillator 'saw 220.0 0.8))
;; Create a lowpass filter
(define filt (make-moogladder 1000.0 0.4))
;; Per-sample processing
(let ((sample (osc-compute osc)))
 (filter-compute filt sample))
(dsp-shutdown)

Building

sigil deps install
sigil build

Testing

The test entry point exercises all module categories:

# Add entry: '(sigil dsp test-main) to package.sgl, then:
sigil build --force
sigil run

License

MIT (SoundPipe) / BSD-3-Clause (sigil-dsp bindings)