← all demos · chapter 07

Sound blips — synthesized from nothing

No audio files anywhere on this page. Each sound is an oscillator (a tone generator), a pitch decision, and a fade-out envelope — the audio equivalent of procedural art. Press ▶ Load code, then play the three sounds. Note the pitch randomization: press the same button repeatedly and no two plays match.

Buttons wake up after you press ▶ Load code. (Browsers only allow sound after a click — that rule is why every web game has a "click to start" screen.)

Coin = two rising notes. Laser = one steep downward pitch slide. Hit = low + dull + fast. Most retro sound design is combinations of exactly these three moves.

Try tweaking: the coin's second note 1319 → 1760 (happier) · laser slideTo 120 → 30 (heavier weapon) · type values — "square", "sawtooth", "triangle", "sine" are four different instruments for free · widen humanize's range (0.92/0.16 → 0.8/0.4) until it sounds drunk, then pull back.

In Godot: the same trio synthesized with AudioStreamGenerator — download sound_blips.gd from the Godot project. In Unity: implement OnAudioFilterRead and fill the sample array — same sine arithmetic. In Unreal: MetaSounds: oscillator → envelope → output, three nodes. Or skip synthesis and use sfxr.me / ChipTone to generate .wav files free. Chapter 07.