← Back to work
Tool · 2026

SfxKit

A standalone, engine-agnostic placeholder-SFX generator. Params or a spec file in, deterministic .wav out. No DAW, no samples, no Unity dependency.

The problem it solves

Placeholder sound in a game project is annoying to manage. You either import random downloaded clips that you’ll definitely forget to replace, wire up something to a DAW mid-session, or just work in silence. SfxKit generates consistent, labeled placeholder sounds from a spec. Same input always produces the same output, so nothing breaks when you regenerate.

Approach

Clean-room sfxr-style synthesis: a small set of waveform primitives (square, sawtooth, noise) with envelope, pitch, and filter parameters. Enough to produce recognizable “coin,” “hit,” “jump,” and “explosion” sounds without being a full synth engine.

Engine-agnostic by design: outputs standard .wav files you drop into whatever project needs them.

Hear it

Four sounds generated from a JSON spec. Same input, same output every time.

These were generated with zero human input beyond “I want some sounds to show off on this devlog page.” No tweaking, no auditioning. Spec in, sounds out.

Status

Shipped. The Python synth is ported to a dep-free .NET core. Two layers: Sfxr.Core (netstandard2.1) handles synthesis, Sfxr.Cli (net8.0) is the thin CLI on top. Self-contained single-file publish, so no shared runtime needed. All 11 ClassicRPG placeholder recipes verified, same output on re-render.