AtlatestRepositorysigil-dsp
1
# sigil-dsp3
DSP primitives for Sigil via vendored [SoundPipe](https://github.com/PaulBatchelor/Soundpipe).5
## Modules7
- `(sigil dsp core)` -- DSP engine lifecycle, function tables8
- `(sigil dsp osc)` -- Oscillators: sine, saw, square, triangle, FM, phasor9
- `(sigil dsp filter)` -- Filters: Moog ladder, Butterworth, resonant LP, DC block10
- `(sigil dsp env)` -- Envelopes: ADSR, triggered, line, exponential, portamento11
- `(sigil dsp fx)` -- Effects: stereo reverb (revsc, zitarev), delay, variable delay12
- `(sigil dsp noise)` -- Noise: white, pink, brown13
- `(sigil dsp util)` -- Panning, dynamics, timing, random modulation, scaling, WAV output15
## Usage17
```scheme18
(import (sigil dsp core)19
(sigil dsp osc)20
(sigil dsp filter))22
(dsp-init 44100)24
;; Create a 440Hz sine oscillator25
(define osc (make-osc 440.0 1.0))27
;; Or use the convenience constructor28
(define saw (make-oscillator 'saw 220.0 0.8))30
;; Create a lowpass filter31
(define filt (make-moogladder 1000.0 0.4))33
;; Per-sample processing34
(let ((sample (osc-compute osc)))35
(filter-compute filt sample))37
(dsp-shutdown)38
```40
## Building42
```bash43
sigil deps install44
sigil build45
```47
## Testing49
The test entry point exercises all module categories:51
```bash52
# Add entry: '(sigil dsp test-main) to package.sgl, then:53
sigil build --force54
sigil run55
```57
## License59
MIT (SoundPipe) / BSD-3-Clause (sigil-dsp bindings)