an experimental live-codable modular synthesizer.
- main site at kabel.salat.dev
- docs at kabel.salat.dev/learn
You need nodejs v22 and pnpm. Then run pnpm i to install dependencies.
pnpm buildto build the sitepnpm previewto serve the build
pnpm devrun the dev serverpnpm testrun tests
npm login
# this will increment all the versions in package.json files of non private packages to selected versions
npx lerna version --no-private
# publish all packages inside /packages using pnpm! don't use lerna to publish!!
pnpm --filter "./packages/**" publish --dry-run
# the last command was only a dry-run. if everything looks ok, run this:
pnpm --filter "./packages/**" publish --access publicThere is an experimental "Desktop" version, which serves the built site as a binary (<10MB). It's without UI, so you still have to open it in your browser, but it's self-contained, so it works offline and all code is baked into the binary.
pnpm build # build site to website/dist
# make sure you have go installed
pnpm build-bin # builds all binaries
./bin/kabelsalat-darwin-arm64 # run site
# go to http://localhost:8080Currently it builds Linux and MacOS binaries, but adding others should be trivial.
This project is a monorepo with the following packages:
- core core graph language + compiler
- lib the standard library
- transpiler optional transpiler
- web web related functionality
- cli experimental node version
- codemirror codemirror integration
- graphviz graphviz integration
Most audio nodes and the compilation strategy is based on noisecraft. Also, the following projects have been an inspiration in one way or another: