Building software synthesizers can be easy. I invite you to mangle raw sound waves at the lowest possible level and use powerful abstractions to combine your designs as if they were legos. If you enjoy creative hacking too, grab yourself a copy and create your own audio universe!


Lazy signal synthesis based on combinators. SOUNDLAB provides a language embedded in Common Lisp to synthesize and modulate signals from scratch. It resembles a virtual toolkit for designing synthesizer prototypes.

Want to get a quick impression? The example.lisp program sounds like this:

Getting it

Dependencies: ../riff-wave/.


I gave a demo of soundlab at (ELS '13). See You can grab the submitted paper, the slides, my notes and the example application: lazy-signal-combinators.pdf, slides.pdf, demo.pdf, example.lisp.

Also available (thanks to Nick Levine) is an audio recording of the demo:

Demo of SOUNDLAB at (ELS '13).

For more on (ELS 13) see


Max Rottenkolber


commit 4ac0e1802ab97a4fd194aaf99414f037a9258f0a
Author: max <>
Date:   Tue Jun 11 01:10:18 2013 +0200
Added support for importing signals from WAVE files (see WAVE-SIGNALS) and exporting multi channel WAVE files (see EXPORT-WAVE*, STEREO-MIX and STEREO-MIX*. Requires RIFF-WAVE 3deaa1911b34c5e08c77371a224d7eec821f5cf0 or above.
commit c2c4ce8d89c2c08007d4626fc143bde3e631ec75
Author: max <>
Date:   Wed May 29 22:53:54 2013 +0200
Added demo-els13 pdfs.