
Arcade and early-console audio has a specific grain. This page shows how to describe it to a model.
Every clip shows the exact prompt that produced it. The render script reads its prompts from the same file as this page. Copy one, change a word and generate your own.
retro arcade pause sound, single descending two-tone chirp, pulse wave, dry
retro arcade extra life jingle, rapid ascending square wave run of six notes, bright, dry
arcade cabinet coin insert, mechanical coin drop into metal slot followed by a bright electronic accept chirp
retro arcade high score entry sound, cheerful looping four-note pulse wave motif, bright major key, dry
retro arcade enemy spawn alert, short descending noise sweep with a square wave tail, dry
retro arcade shield deflect, short metallic square wave ping with a fast pitch bend upward, dry
retro arcade warp zone, long rising pitch sweep of stacked pulse waves resolving into a bright sustained tone, dry
retro arcade attract mode background loop, bouncy square wave melody over a simple pulse bass, upbeat major key, 140 BPM, seamless loop
retro arcade continue countdown, single urgent low square wave beep repeated at one second intervals, dry
pinball machine tilt alarm, harsh buzzing electromechanical klaxon, short bursts, dry
These models respond to physical description. Name the material, the action and the space.
8-bit menu navigation blip, single square wave note, 80 ms, mid pitch, completely dry
"Mid pitch" keeps the blip from reading as a coin (high) or an error (low). Cursor sounds sit in the middle of the register.
retro menu confirm chime, two-note square wave rise, low to high fifth, 150 ms, dry
Name the interval as a fifth. A fifth gives the open, resolved quality a confirm sound needs, distinct from the tighter climb of a coin pickup.
chiptune level-start fanfare, four-note ascending square wave arpeggio, bright and punchy, 700 ms
"Punchy" keeps each note's attack sharp so the arpeggio doesn't blur into a pad. The sharp attack is what makes a fanfare sound energetic.
retro error buzz, low pulse wave held flat for 200 ms, slight detune, harsh and dry
"Held flat" matters most. A static pitch reads as a rejection; any pitch movement starts to sound like a musical note.
8-bit boss-appears alert, descending pulse wave siren over 600 ms, wide duty cycle, ominous but dry
"Wide duty cycle" gives the pulse wave a thicker, more aggressive timbre than the thin lead used for lasers. That timbre signals threat.
Most retro-game sounds are functional signals: confirm, deny, advance, warn. Prompt for the function. Say whether the sound should read as a success or a rejection, and let pitch direction carry that meaning (rising for good, static or falling for bad). Keep melodic detail for the few sounds that are musical, like fanfares and jingles.
In a convincing retro game, every sound comes from the same two or three oscillators. Use square wave for melodic UI cues, pulse wave with a stated duty cycle for lasers and alerts, and filtered noise for hits and errors. Keep that palette across every prompt in the set so the game sounds like it has one sound chip.
UI feedback that runs too long feels like it is blocking the player. Menu blips and confirms want 80 to 200 ms. Fanfares and boss alerts can run to 600 to 800 ms because they mark a real event. Put the number in the prompt. The model reads a word like "short" differently depending on the rest of the prompt.
The models run on your machine, which changes the cost, the privacy and what you can automate.
Weights are fetched once. After that, generation, the library and the API all work with the network off. Everything lives in one SQLite file and one folder of WAVs under ~/.soundbox, and nothing is uploaded.
Soundbox runs an MCP server in the same process, with tools for generating and listing sounds. Generated files come back as absolute paths, so an agent can copy them into a project.
Every model's terms are shown before you download it, and non-commercial weights need an explicit confirmation. Soundbox is MIT. The licence of the model that made a sound governs what you may do with it.
claude mcp add --transport http soundbox http://127.0.0.1:17494/mcpcurl -X POST http://127.0.0.1:17494/api/generate \
-H 'Content-Type: application/json' \
-d '{"model":"audiocpp-stable-audio-3-sfx","prompt":"8-bit coin pickup blip","duration_s":1}'