Repository navigation
Works With
sfxwright owns sound effects and foley: hits, ambiences, loops, footsteps, variation sets. Neighbouring plugins own the rest of the soundtrack. None of them imports another. They pass files (sounds.json, voices.json, a cue list, an askwright page), so every pairing is optional and either side still works alone.
- The line between them: notes, key or tempo mean musicwright. A single hit or a comic sting with no melody stays in sfxwright. The line was measured on 2026-11-06 and is written into both plugins.
-
What crosses: sfxwright can borrow
mw.py seamto check a loop's seam andmw.py masterto bring a whole bed to a loudness target. - Why both: a game needs both, and they have to sit together. Splitting the work by who owns what keeps a stinger from being made twice, and keeps music out of the effects folder.
- Dialogue and its room tone go to voicewright, or to cinewright inside a film. sfxwright leaves voices alone.
- cinewright's shot list turns into a sound list (
sfx plan), and cinewright readssounds.jsonback at the edit. - Example: cinewright plans a 12-shot scene. sfxwright turns that into a list (door, two footstep runs, a room bed) and makes the takes. You pick them on an askwright page, and cinewright lays them under the cut with each file's licence still attached.
game-juice finds the moments in a game that need feedback and wires it in behind toggles. When both are installed, juice-apply hands sfxwright the hit, pickup and UI events that need a sound or a variation set, then reads sounds.json: takes with picked: true become the clips, and randomize gives the pitch and volume ranges for its named constants. A pickup with no sound becomes six coin variations played with a random pick. Use both when a game is quiet in the places where it should answer the player.
Checks catch clipping, clicks, DC offset and bad seams. They can't tell you whether a creak suits the door on screen. When askwright is installed, candidates go on a blind, level-matched page (sfx review --match), with the picture shown for film. Without it you get a labelled list of files.
grindwright keeps a game or film moving across lanes. Its sound lane opens whenever sfxwright or musicwright is installed, so effects get made in the gaps between art and code work instead of in a rush before launch.
The ai-sfx beat watches new sound models and licence changes. A refresh reads those leads first.
For a single sound, a check on a file you already have, or a licence question, sfxwright alone is enough.
Start
Using it
- Commands
- Sound list format
- Checks and flags
- Routes and synth recipes
- Rights and shipping
- Workflows
- Errors and edge cases
The project
Elsewhere