Skip to content

Routes and Synth Recipes

m4bwav edited this page Nov 7, 2026 · 3 revisions

One listener has compared routes, blind, on 12 sounds. Stable Audio 3 Medium won 10, procedural recipes won laser and fire, and Small SFX won none. That is one person's ear, not a general ranking.

Where a sound can come from

Route Command Needs Licence question
Procedural synth nothing none
ComfyUI gen a reachable server with Stable Audio 3 or Open Stability Community License
Found or recorded library, then register the file and its terms per file
Hosted APIs outside the script a key, payment, and your yes per service

Job by job, the current defaults are in routes.md. It also holds prompt advice and the musicwright line: anything with notes, key or tempo goes to musicwright.

The gen path has not been run against a server for this wiki. Installing a node, engine or large model, and any paid call, needs the user's yes.

Synth recipes

python sfx.py synth list prints this table as JSON. Pass parameters with --param name=value. A value made only of digits, dots and a minus sign becomes a number; anything else stays text.

Recipe Parameters and defaults
shaker seconds 0.6, beans 64, res 3200, pole 0.96, shakes 1, sound_decay 0.95, system_decay 0.999
modal material wood (glass, metal, plastic, stone, wood), hardness 0.6, size 1, seconds
footstep surface gravel (also wood, stone, metal, grass, snow), weight 0.6, state walk (also run, sneak)
click hz 5000, q 12, decay_ms 20
switch kind plastic
beep hz 800, seconds 0.12, second_hz
wind seconds 8, strength 0.5, gentle
fire seconds 6, crackle 9
explosion seconds 3.5, distance 0 (a number)
whoosh seconds 0.8, lo 300, hi 4200, q 1.2
creak seconds 1.2, hz 420
retro kind coin (coin, laser, jump, hit, explode, powerup, blip)

The same seed gives the same file

$ python sfx.py synth modal --seed 7 --out a.wav; python sfx.py synth modal --seed 7 --out b.wav; python sfx.py synth modal --seed 8 --out c.wav; sha256sum a.wav b.wav c.wav
{"ok": true, "files": ["a.wav"]}
{"ok": true, "files": ["b.wav"]}
{"ok": true, "files": ["c.wav"]}
f175e917d824b63aff8d49ee767921f9c4fd9ecb2090618d47e8cbb3b386348f *a.wav
f175e917d824b63aff8d49ee767921f9c4fd9ecb2090618d47e8cbb3b386348f *b.wav
8fda7ad49f6def020c548bd966aa57901216505b29a405b8e666fa740f4ebb62 *c.wav

This was run on one machine and one Python. It is not promised across versions.

Requested length is a maximum

The repository's learnings record a 3 second request to Stable Audio 3 Medium returning 1.6 seconds of sound and silence. Tidy generated takes and judge the sound reading, not the file length. Never ask a model for a walk cycle: make single steps, then sequence.

Clone this wiki locally