- Author
- Dominic Szablewski (PhobosLab)
- Published
- 6 January 2025
- Kind
- Personal blog post introducing an open source synth and editor, with code
- Original
- phoboslab.org/log/2025/01/synth
- Subject
- Audio models and analysis
- Themes
- Small means, Art through code
What it is
Dominic Szablewski writes about pl_synth, a synthesizer based on the older Sonant. The post also presents a browser tracker for composing songs. The author built both for use in games.
What it says
- The post says a song is tracks, each with an instrument and 32-row patterns.
- The post says one short loop makes each note from oscillators, noise and filters.
- The post says song generation fell from about 5000 ms to 250 ms.
- The post says lookup tables replaced Math.sin calls, cutting generation to about 1000 ms.
- The post says a 2kb WASM module made generation about twice as fast. Its array clear beat Firefox's fill by 10 times, but not in Chrome.
- The post says undo stores whole-song snapshots and groups edits within 500 ms.
- The post says compressed songs typically fit in 300 to 1200 URL characters.
What evidence it gives
The post shows the full synthesis loop, a C song struct and tracker code. It lists timings at each optimization step, with no test machine or method given. A live demo editor is linked.
Interests and limits
The post is the author's account of an own project, with no outside review. Timings come from the author's setup and are not described in detail. No audio comparison with other synths is made. The AudioWorklet route is left unexplored.
Connections
These links are this wiki's own reading, not claims the sources make.
- Toward a Sparse Interpretable Audio Codec. Szablewski's songs are notes passed to instruments, usually fitting in 1200 URL characters. Vinyard's model tries to recover something similar from recordings: events with attack, resonance and room. One writes the score by hand. The other needs about 80 MB to guess it.