Layers is a generative music library for common lisp, using Slippery Chicken and CLM for a lot of their utilities and Pure Data as a real time sampler. It’s purpose is not sound design or synthesis but rather that of a complex analysis and sampling system. Layers might be used in real time or to export either audio files or data structures for musical application.
This software is in a weird state, in that it depends immensely on Michael Edwards’ slippery chicken, especially its utilities, but builds its entire separate object infastructure. This would not have been necessary, but it is too late now I think.
CLM and Slippery Chicken must already be installed. You have two main options to then install the package:
Copy the source code into a directory that is read by asdf, then run either
(require :asdf)
(asdf:load-system 'layers)
or
(ql:quickload :layers)
Copy the source code and load “path/to/layers/src/all.lsp”. If you don’t use Quicklisp at all, make sure to also have the cl-pcg library installed.
For an example for real time use, check scores/example.lsp. The paths to the soundfiles in scores/stored-files.lsp must be adjusted.
Layers connects with osc (using the #’start-osc function) to Pure Data, to trigger samples. Ideally, both Lisp and Pure Data should be able to access the samples. It could however also be set up in a way, that only Pure Data needs to access the samples for it to trigger them. Lisp and Pure Data could run on different machines.
For now, several methods for offline usage are available. #’export-with-clm renders a Layers object #’fplay creates score for use in #’with-sound. See the score for los tin the echo as an example.
If anyone ever uses this and there is any questions contact me at [email protected]