All books

Sharing your work: from assets/ to the Hub

~1 min read · updated 2026-09-10 · markdown

A .dsp is a text file, which makes it the most shareable artifact in FaustWave.

Publish a saved DSP as a Hub item:

  • hub.publish { file_path, kind: "dsp", slug, title, license, visibility, description?, tags? } — reads the file, validates it, uploads it as v1. file_path takes the patch's ref (asset:assets/<name>.dsp, from project.files) or an absolute OS path for a file outside the project. The Hub bundles the source plus its library dependencies (an item page shows stdfaust.lib and friends), so installs are self-contained.
  • Start visibility: "private" while iterating; flip to "public" later with hub.item.update { item_id, visibility } — no re-upload needed.
  • New iterations: hub.version.upload { item_id, file_path, changelog } posts v2, v3, … with a changelog trail.

Install someone's DSP: hub.install { item_id } on a dsp-kind item opens it straight into a .dsp editor tab, dependencies mounted. From there it's yours to run, tweak — and hub.fork if you want your changes to live as your own item with provenance back to the original.

Metadata that makes an item useful to strangers (and to the assistant):

  • A description that says what it sounds like and which channel/notes it expects ("GM drum map, 36=kick …", "expects [midi:chan 2]").
  • Tags for discovery — instrument family, genre, technique.
  • A license (SPDX id, e.g. CC0-1.0 for "take it, it is yours", CC-BY-4.0 if you want credit) — required at publish time.
Try it yourself — the IDE runs in your browser. Open the IDE → Get the desktop app

Text licensed under CC BY 4.0 — Mani Weber / FaustWave. For language models: llms.txt · llms-full.txt

AUDIO · 48k · 48.0ms FAUST · 3 KB · 1171 docs CPU · 8.4% BPM · 120.0 UTF-8 BETA· v0.90.0