Game guide · source of truth
Ledger

SFX-CARAPACE-20261004-01

Generate carapace material SFX locally from owner prompt

← Ledger

donestatus · audio-generation
9✓ 1✗tests passed / failed
0tokens · 5 min
2evidence files · 1.4 MB

Evidence

From logs/evidence/SFX-CARAPACE-20261004-01/. Click a thumbnail for the full image.

Images (2)

audio-desktop.png
audio-desktop.png · 473 kB
audio-mobile.png
audio-mobile.png · 891 kB

Tests

pass rebuild canonical carapace prompt from requested wording · 0.6 s · raw log$ pnpm data:build
fail generate four carapace takes with local Stable Audio · 0.2 s · raw log$ ./tools/sfxgen --prompt Single isolated weapon contact against a hard insect carapace: sharp dry chitin crack followed immediately by a hollow shell knock. Brittle, rigid, insect-shell texture with a short natural decay. Material contact only — no weapon swing, no whoosh, no large impact boom, no sub-bass, no music, no voices, no ambience. One impact only near the beginning, followed by silence. Clean immediate attack, dry close sound, reverb tail under 0.3 seconds. --seconds 0.3 --takes 4 --out audio/source/combat-core/sfx-material-carapace.mp3
pass generate four carapace takes with local Stable Audio · 6.8 s · raw log$ ./tools/sfxgen --prompt 'Single isolated weapon contact against a hard insect carapace: sharp dry chitin crack followed immediately by a hollow shell knock. Brittle, rigid, insect-shell texture with a short natural decay. Material contact only — no weapon swing, no whoosh, no large impact boom, no sub-bass, no music, no voices, no ambience. One impact only near the beginning, followed by silence. Clean immediate attack, dry close sound, reverb tail under 0.3 seconds.' --seconds 0.3 --takes 4 --out audio/source/combat-core/sfx-material-carapace.mp3
pass mark delivered carapace takes complete in generated catalog · 0.6 s · raw log$ pnpm data:build
pass full FFmpeg decode of all four carapace MP3s · 0.1 s · raw log$ node -e 'const fs=require("node:fs"),cp=require("node:child_process"),path=require("node:path"); const files=fs.readdirSync("audio/source/combat-core").filter(n=>/^sfx-material-carapace(_[2-4])?\.mp3$/.test(n)).sort(); if(files.length!==4) throw Error(); for(const f of files){const p=path.join("audio/source/combat-core",f);const r=cp.spawnSync("/Users/king/.local/bin/ffmpeg",["-v","error","-i",p,"-f","null","-"]);if(r.status!==0) throw Error();console.log()}'
pass full FFmpeg decode of all four carapace MP3s · 0.1 s · raw log$ node -e 'const fs=require("node:fs"),cp=require("node:child_process"),path=require("node:path"); const dir="audio/source/combat-core"; const files=fs.readdirSync(dir).filter(n=>n.startsWith("sfx-material-carapace")&&n.endsWith(".mp3")).sort(); if(files.length!==4) throw Error("expected 4 files, got "+files.length); for(const file of files){const target=path.join(dir,file);const result=cp.spawnSync("/Users/king/.local/bin/ffmpeg",["-v","error","-i",target,"-f","null","-"]);if(result.status!==0) throw Error("decode failed: "+target+" "+result.stderr);console.log("PASS "+target)}'
pass full data suite with the verbatim carapace prompt · 6.2 s · raw log$ pnpm data:test
pass build static wiki with carapace preview files · 9.0 s · raw log$ pnpm --filter @zoen/wiki build
pass Audio Requests serves and plays all 24 takes on desktop/mobile · 4.3 s · raw log$ pnpm --filter @zoen/wiki exec playwright test tests/art.spec.ts --grep audio generation
pass documentation lint and license record · 0.2 s · raw log$ pnpm docs:lint

Notes

2026-10-04 10:23 UTC · Generated four local Stable Audio 3 Small SFX takes from the owner prompt at 0.3 s; all outputs passed wrapper validation and full FFmpeg decode. Catalog marks sfx-material-carapace done, wiki contains 24 playable previews, and licenses/continuation notes are updated.