← All news·2026-08-09·3 min read

jsfx: a free browser based sound fx generator

jsfx creates retro game sound effects such as Coin, Laser, Explosion, Powerup and Jump. Play around in the web tool, adjust sliders, copy&paste the config to have your agent plug it into games!

soundvibegamegithubassets

While playing around with a tiny browser game, built with my agent, with enemies roaming around, the score increasing, collisions being detected, something felt off. It was just too silent. Sounds are expected by your brain. When you pick up a coin, you expect a ping. An explosion should come with a bang.

jsfx is a sound effect generator implemented in JavaScript. It is completely client side, you don’t need to download anything, create an account or install anything. jsfx comes with presets for classic 8-bit sounds: Coin, Laser, Explosion, Powerup, Hit, Jump, Select, Lucky. To use the web tool, simply go to loov.github.io/jsfx, select a preset, change some sliders, copy&paste the config and your agent will do the rest. The config is a small JSON describing your sound.

Source

loov/jsfx

★ 584JavaScript

Open on GitHub →

This is a very vibes way to create sounds, since you directly define them via sliders (no programming required) and then have your agent plug them in. It takes only ~10ms to generate one second of audio, so you can play it back right away. It works in all current browsers using the Web Audio API.

How to use jsfx in a browser game

  1. 1Open the live interface at loov.github.io/jsfx
  2. 2Click a preset (Coin, Laser, Explosion, etc.) to hear it
  3. 3Tweak the frequency, volume and other sliders until it sounds right
  4. 4Click the Add button in the top-right corner and name your sound
  5. 5At the bottom of the page, find the JSON config in the input box and copy it
  6. 6Give that JSON to your agent along with the code below
Load jsfx and play sounds from config
<script src="https://raw.githubusercontent.com/loov/jsfx/master/jsfx.js"></script>
<script>
var library = {
  "coin":  {"Volume":{"Sustain":0.1,"Decay":0.4,"Punch":0.5}},
  "laser": {"Frequency":{"Start":880},"Volume":{"Sustain":0.05,"Decay":0.2}}
};
var sfx = jsfx.Sounds(library);
</script>

<!-- Play a sound anywhere in your code: -->
<script>
sfx.coin();  // play coin sound
sfx.laser(); // play laser sound
</script>
Use built-in presets directly (no web interface needed)
<script src="https://raw.githubusercontent.com/loov/jsfx/master/jsfx.js"></script>
<script>
var sfx = jsfx.Live({
  "coin":      jsfx.Preset.Coin,
  "explosion": jsfx.Preset.Explosion,
  "jump":      jsfx.Preset.Jump,
  "powerup":   jsfx.Preset.Powerup,
  "laser":     jsfx.Preset.Laser
});
</script>

What to tell your agent

Agent prompt: add retro sounds to a browser game
Add retro sound effects to my game using jsfx. Load the library from https://raw.githubusercontent.com/loov/jsfx/master/jsfx.js via a script tag. Use jsfx.Live() with these presets:
- jsfx.Preset.Coin — play when the player collects points
- jsfx.Preset.Explosion — play when an enemy is destroyed
- jsfx.Preset.Jump — play when the player jumps
- jsfx.Preset.Powerup — play when a power-up is collected
Call sfx.coin(), sfx.explosion() etc. in the appropriate event handlers.
✓What you get

Classic 8-bit game sounds — coin, laser, explosion, jump, powerup — that play instantly in the browser. Design them visually in the web interface, give the config to your agent, and your game stops feeling like a silent prototype. Free, no login, no download.

Source: github.com

Free course

Stop reading about AI — start building with it

The free Claude Code course: your first site, tool or game — no coding. No upsells, no cross-sells — nothing to buy here.

Start free →
EAEvgenii Arsentev

Author

Evgenii Arsentev

PhD · Founder & CEO, Dad4Kids