A Friendly Warning
Monolith is mostly a project I built for myself for my needs. Installation is a little bit quirky. Some parts (such as the monome hardware integration, literally hard-coded to my details).
I've ensured that Monolith compiles on both Linux and OSX. It's not exactly streamlined, but the process does work pretty consistently. You will have to compile a few small projects of mine from source. Those who do not have the patience for this may want to consider sndkit, which is a one-stop-shop sort of deal.
A C development environment (gcc/clang, Make, etc)
SQLite (libsqlite-dev or equivalent).
The runt-patchwerk audio graph library. Note that this will need ctangle, which is part of cweb. This should be installed on most computers that have TeX installed. If not, a self-contained version can be found on sourcehut. The runt-patchwerk stuff can be found in the 'runt' project.
These are optional dependencies:
JACK, for realtime audio.
libx264, for video encoding.
libmonome, for monome use.
"Simple Mode" Install
Simple mode is a version of monolith that tries to minimize dependencies and is offline rendering only. It does away with libmonome, JACK, and libx264.
You'll still need core libraries and tools made by the author (worgle, soundpipe, runt, patchwerk), and SQLite as well.
To enable simple mode, add
To the end of
Make sure monolith is fully cleaned with
When it is done compiling, make a file in the same directory
test.scm, and put this in it:
(monolith:start-offline) (monolith:load "ugens.scm") (randh 200 500 10) (sine zz 0.3) (wavout zz "test.wav") (out zz) (monolith:compute (* 44100 10))
./monolith -l p/monolith.scm test.scm
With any luck, a file called
test.wav should appear.