Generate a game sound effect
generate_soundSynthesize retro/8-bit game sound effects (pickup, shoot, explosion) and export them as WAV files, with optional parameter tuning for pitch, length, and filtering.
Instructions
Synthesize a retro/8-bit game sound effect with the Bfxr engine and save it as a .wav file.
Presets: pickup_coin, laser_shoot, explosion, powerup, hit_hurt, jump, blip_select, random, tone.
Pick the preset closest to what was asked for, then shape it with params:
coin/pickup/collect -> pickup_coin; laser/shoot/zap -> laser_shoot; explosion/boom -> explosion
powerup/level-up -> powerup; damage/hurt/impact -> hit_hurt; jump/hop -> jump; UI click/menu blip -> blip_select
anything else -> start from
tone(a plain sine) orrandomand set params by hand. Useful shaping params: frequency_start (pitch), frequency_slide (up/down glide), sustainTime + decayTime (length), sustainPunch (attack pop), lpFilterCutoff (muffle), bitCrush (lo-fi crunch), vibratoDepth/Speed, overtones (thicker).
Never set play or embed_audio, and never call play_sound — the user always plays sounds in the library UI. Prefer count=3..5, then report file paths. After writing, refresh the library in Cursor at http://localhost:4747. Each sound comes back with a bfxr.net permalink the user can open to tweak it by ear.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Base filename, e.g. 'coin' -> coin.wav. Default: the preset name. | |
| play | No | Do not set this. The user plays sounds in the library UI. | |
| seed | No | Seed the randomization so the same call reproduces the same sound(s). | |
| count | No | How many variations to generate (presets are randomized). Default 1. | |
| params | No | Bfxr parameter overrides, applied on top of the preset. Any of: masterVolume, waveType, attackTime, sustainTime, sustainPunch, decayTime, compressionAmount, frequency_start, frequency_slide, frequency_acceleration, min_frequency_relative_to_starting_frequency, vibratoDepth, vibratoSpeed, pitch_jump_repeat_speed, pitch_jump_amount, pitch_jump_onset_percent, pitch_jump_2_amount, pitch_jump_onset2_percent, overtones, overtoneFalloff, squareDuty, dutySweep, repeatSpeed, flangerOffset, flangerSweep, lpFilterCutoff, lpFilterCutoffSweep, lpFilterResonance, hpFilterCutoff, hpFilterCutoffSweep, bitCrush, bitCrushSweep. Call list_parameters for ranges and meanings. | |
| preset | No | Starting point. One of: pickup_coin, laser_shoot, explosion, powerup, hit_hurt, jump, blip_select, random, tone. Default: tone. | |
| save_bfxr | No | Also write a .bfxr project file next to each .wav. Default false. | |
| wave_type | No | Waveform by name. Overrides the preset's choice. | |
| output_dir | No | Where to write files. Default: $BFXR_OUTPUT_DIR or ~/Downloads/bfxr-sounds. | |
| embed_audio | No | Do not set this. The user plays sounds in the library UI. |