How We Made These Sound Effects

Every sound on this site went through the same pipeline: a written prompt, several takes from Stable Audio 3, nine automatic checks and an automatic choice of the best take.

The numbers at a glance

  • 6,294prompts written
  • 29,364takes generated
  • 4,569kept
  • 229minutes of audio

From prompt to MP3

Each sound starts as a catalog entry: a name, a category, a target length, the shape its loudness should follow, and a prompt. The prompt is one short English description of the sound itself: the space it is heard in, how it starts and ends, and what to leave out. The prompts were drafted in batches from a written style guide, and a standing negative prompt keeps out music, melody, singing and speech.

Stable Audio 3 Small SFX generated four to six takes of every prompt, each with a fixed seed, so any take can be reproduced. Every take is generated four seconds long, because shorter requests made the model clip. Sounds that should be a single event, such as a knock or a ping, are cut down to their first hit afterwards.

Each take then went through nine automatic checks: silence, clipping, DC offset, length (for short, single-event sounds), loudness shape, a tail cut off while still ringing, background noise, energy sitting almost entirely below 60 Hz when a clearer take of the same sound exists, and near-duplicates of another take of the same sound. From the takes that passed, a script (ingest.mjs with the --auto option) kept the one with the highest shapeMatch score, the closest fit between its loudness envelope and the shape we asked for. The choice is made by the script, not by ear.

The kept take was trimmed of silence, given short fades so it doesn't click, set to a peak of −1 dBFS and encoded as a stereo MP3 at 320 kbps. MP3 is the only format we publish, so we keep the bitrate high.

The numbers

6,294 prompts went into the model and 29,364 takes came out, at about one second of generation per take on a MacBook Pro with an M4 chip. 4,569 of those prompts produced at least one take that passed every check, and each of them gave one sound to this site: 4,569 sounds and 229 minutes of audio in all.

Why some sounds are missing

When no take of a prompt passes the checks, that sound is not published. We don't fill the gap with a placeholder, a synthesized stand-in or a file from another library: every play button on this site plays the same file you would download. Prompts that failed are candidates for a rewrite and another round of generation, which is why a few popular sounds, such as drum rolls and explosions, are missing or thin for now.

Who made this

Casper, a front-end engineer and teacher in Taiwan, makes and maintains this library. He ran the generation on his own laptop, runs this site and decides what gets published. He also writes a Chinese-language blog at casper.tw. You can read more about Casper on his about page.

The model and the license

The sounds were generated with Stable Audio 3 Small SFX, a sound effects model from Stability AI, running locally on that laptop. We use it under the Stability AI Community License, which is why every page carries a Powered by Stability AI notice. The license page explains how you can use the sounds.

How the text on these pages is written

The English text on these pages is drafted by AI from the catalog data, such as sound names, tags, lengths and prompts, and Casper reviews every page before it is opened to search engines. The German, Spanish, Japanese, Korean and Traditional Chinese pages are drafted by AI from the English text and the same data, then checked line by line by a second AI. Casper also reviews the Traditional Chinese pages. Counts, lengths and file sizes shown on the pages are calculated from the data rather than typed by hand.