Skip to main content

Bfxr

Bfxr is the built-in sound effects generator for creating retro-style sound effects. It can generate a variety of sounds such as jumps, explosions, power-ups, and more, exporting them as WAV files compatible with the XGM2 sound driver. It includes three synthesizer engines, 12 waveform types, and preset generators for quickly creating game-ready sounds.

Features

  • Preset generators — One-click generation of common game sounds: pickup, laser, explosion, powerup, hit, jump, and blip.
  • Classic chiptune synth — Bfxr synth engine for retro-style sound generation.
  • 12 waveform types — Square, sawtooth, sine, triangle, white noise, and more exotic options like FM synthesis and voice.
  • 30+ parameters — Fine control over pitch, envelope, vibrato, filters, bit crush, flanging, overtones, and pitch jumps.
  • Randomize and mutate — Generate entirely random sounds or incrementally tweak existing ones. Parameter locks prevent specific values from changing.
  • Real-time preview — Hear changes immediately with a waveform display.
  • Batch export — Export all sounds as a ZIP file of WAV files.
  • File management — Save/load individual sounds (.bfxr) or entire collections (.bcol).

Interface Overview

The interface is divided into three panels per synth tab:

Left Panel

  • Preset generators — Buttons for each sound type (Pickup, Laser, Explosion, etc.) plus Randomize and Mutate.
  • Create New Sound — When enabled, generators create a new file instead of overwriting the current one.
  • Sound management — Apply (commit edits), Revert (discard edits), Duplicate (clone sound).
  • File list — All saved sounds in the current synth tab. Double-click to rename. Modified sounds show an indicator.

Center Panel

  • Waveform selector — Choose from 12 oscillator types.
  • Parameter sliders — All synth parameters with labels, ranges, and lock buttons. Locked parameters are excluded from randomization and mutation.

Right Panel

  • Waveform display — Visual representation of the generated sound.
  • Play on Change — Automatically play the sound when parameters are modified.
  • Play button — Manual playback.
  • Volume slider — Master volume control.
  • Save button — Export current sound as WAV.

Synth Engines

Bfxr (Classic)

The primary synth engine for retro-style sound effects. It supports all 12 waveform types and the full parameter set.

Preset generators:

GeneratorDescription
Pickup/CoinShort upward pitch sweep
Laser/ShootDownward frequency sweep
ExplosionLow-frequency noise burst with flanging
PowerupAscending pitch with optional vibrato
Hit/HurtNoise-based impact with short decay
JumpUpward square/saw burst
Blip/SelectShort bright tone for UI feedback
RandomizeFully random parameters (respects locks)
MutateSmall tweaks to the current sound (respects locks)

Waveform Types

#WaveformDescription
0SquareClassic chiptune sound. Supports pulse width (duty cycle) and duty sweep.
1SawtoothBright and buzzy with rich harmonics.
2SinePure tone with no harmonics.
3White NoiseFull-spectrum noise for explosions and impacts.
4TriangleClear and resonant, between sine and square.
5RaspPeriodic 1-bit noise with a digital buzz.
6TanHyperbolic tangent curve producing distorted, unpredictable sounds.
7WhistleSine with a high harmonic overlay for a breathy quality.
8BreakerQuadratic waveshaper producing smooth, hi-fi tones.
9BitnoiseSN76489-style periodic noise for authentic console sounds.
10FM SynthFM synthesis using AKWF wavetables for dense, complex timbres.
11VoiceSampled vocal-like waveform using AKWF wavetables.

Parameters

Envelope

ParameterRangeDescription
Attack Time0–1Duration of the volume ramp-up
Sustain Time0.01–1Duration at peak volume
Sustain Punch0–1Extra volume boost during the sustain phase
Decay Time0.03–1Duration of the fade-out

Pitch

ParameterRangeDescription
Start Frequency0–1Base pitch of the sound
Frequency Slide-0.5–0.5Pitch slide up or down over time
Frequency Acceleration-1–1Acceleration applied to the pitch slide
Min Frequency0–0.99Floor frequency — sound cuts off below this

Vibrato

ParameterRangeDescription
Vibrato Depth0–1Strength of pitch modulation
Vibrato Speed0–1Speed of pitch oscillation

Pitch Jumps

ParameterRangeDescription
Pitch Jump Amount-1–1First pitch jump magnitude
Pitch Jump Onset0–1When the first jump occurs (fraction of sound duration)
Pitch Jump 2 Amount-1–1Second pitch jump magnitude
Pitch Jump 2 Onset0–1When the second jump occurs
Pitch Jump Repeat0–1How often jumps repeat (0 = single, 1 = rapid)

Square Wave

These parameters only apply when the Square waveform is selected:

ParameterRangeDescription
Square Duty0–0.99Pulse width (0.5 = standard square)
Duty Sweep-1–1Sweep the pulse width over time

Overtones

ParameterRangeDescription
Overtones0–1Number of harmonic layers added to the sound
Overtone Falloff0–1How quickly harmonics decay in amplitude

Repeat

ParameterRangeDescription
Repeat Speed0–1Rate of note retriggering (0 = no repeat)

Flanger

ParameterRangeDescription
Flanger Offset-1–1Phase offset amount
Flanger Sweep-1–1Sweep of the phase offset over time

Filters

ParameterRangeDescription
LP Filter Cutoff0.01–1Low-pass filter cutoff frequency
LP Filter Cutoff Sweep-1–1Sweep the low-pass cutoff over time
LP Filter Resonance0–1Resonance peak at the cutoff frequency
HP Filter Cutoff0–1High-pass filter cutoff frequency
HP Filter Cutoff Sweep-1–1Sweep the high-pass cutoff over time

Bit Crush

ParameterRangeDescription
Bit Crush0–1Sample rate / bit depth reduction
Bit Crush Sweep-1–1Sweep the bit crush effect over time

Dynamics

ParameterRangeDescription
Compression0–1Dynamic range compression for added punch

Randomization and Mutation

Randomize

Generates a fully random sound by resetting all unlocked parameters to random values. The randomization uses weighted distributions (power curves) to produce more musically useful results — for example, attack times are biased toward short values, and filter cutoffs are biased toward extremes.

Mutate

Applies small, incremental tweaks to the current sound. Each unlocked parameter has a 50% chance of being nudged by up to 10% of its range. The waveform type has a 10% chance of shifting to an adjacent type.

Parameter Locks

Click the lock icon next to any parameter to prevent it from being changed by Randomize or Mutate. This lets you explore variations while keeping specific aspects of a sound fixed.

Keyboard Shortcuts

ShortcutAction
Space / EnterPlay current sound
Ctrl+EExport as WAV
Ctrl+CCopy sound parameters to clipboard
Ctrl+VPaste sound parameters from clipboard
LToggle lock on all parameters