Incudine is useful to design software synthesizers or sound plugins from scratch, exploiting the expressive power of Common Lisp, without the constraint to use pre-built unit generators. It is also a compositional tool that allows to produce high quality sounds controllable at the sample level, defining and redefining the digital signal processors and the musical structures on-the-fly.
Incudine introduces the Virtual UGen (VUG), a new mechanism for defining primitive unit generators by writing concise and reusable code. The definition of a VUG contains lisp code and/or other nested VUGs, and it is re-arranged and compiled efficiently during the creation of a DSP.
Short summary of the current features:
- Realtime synthesis sample by sample (currently without a realtime garbage collector)
- Sample accurate callbacks
- Non-realtime bounce to disk
- The format of the sample is double float
- Optional standalone executable
- Graph of DSPs
- Collection of useful re-definable VUGs
- Collection of GEN routines
- MIDI interface
- Flexible voicer
- Optional interface to use a LADSPA audio plugin in a Virtual UGen
- Optional interface to use a LV2 audio plugin in a Virtual UGen
- Incudine is released under the GNU General Public License (GPL) version 2 or later
Incudine works with SBCL, an implementation of ANSI Common Lisp with a high-performance native compiler.
Common Lisp packages:
The latest source code can be obtained via Git:
git clone git://gitorious.org/incudine/incudine
incudine-devel is a mailing list for technical discussion and bug reports.