Repository navigation
Releases
earshot 0.4.1: community fixes
Thanks to @SmitMachhi, @yinbowen-dc, @kyexyz and @lunar-me.
- One command to install, one to update (#11, closes #5):
uv tool install "earshot[mcp] @ git+https://github.com/Leonxlnx/earshot", thenuv tool upgrade earshot. Under uv, torch comes from the CPU-only index. - A NaN or Inf sample is one clear error (#13, closes #12). Before, most commands crashed, and
match,rankandrealnessgave wrong answers with exit 0. - Media globs match files only (#17, closes #16).
video.cuts:cache=Falsereally rescans (#14), and a failed scene scan is an error instead of "no cuts", now cached only when the scan ran (#15).- BLAS threads follow
EARSHOT_THREADSin the CLI and MCP server (#8). An idle MCP server on 12 logical CPUs drops from 411 MB reserved and 21 threads to 154 MB and 13 threads. - Interface tests: no more random failures from the mocked Gemini clock (#19, closes #18).
- Docs: the README opens with the 0.4 launch film and links the earshot site (#10); two comma splices fixed (#6, #7).
- Measured: earshot hears real sound effects as what they are (168 of 195 pass by their own titles); job words like "something appearing" are not heard, so describe the sound two or three ways and keep the best.
On valid input, every command gives the same results as 0.4.0.
Full changelog: CHANGELOG.md
earshot 0.4.0: the sound of a launch film
earshot gives coding agents ears: it turns a sound file into evidence an agent can reason about, locally on CPU, as a
CLI, a Python API and an MCP server, and it lets an agent make its sound effects in code and check them by listening.
0.4 is about the sound of a music-led launch film: soft, short, mid-register effects mixed against the music instead
of over it. No new dependencies. The calm, crisp and minimal kits sound exactly as in 0.3.0 (all 191 of their takes
are byte-identical).
New
51 new sounds (the bank now holds 252)
Seven new families, all made from recipes in code: cut_hit (sub, kick, punch, rumble, air), reverse_swell,
ui_pop, knock, mallet (glockenspiel, celesta, marimba, chime runs), drip and shutter, plus new whooshes,
risers, swishes, glitches and mid dings. Every member is audited take by take (50 of 51 clean on 6 of 6 seeds, the
last on 5 of 6) and carries a measured originality: its largest CLAP cosine to any reference clip is 0.53-0.84,
under a bar of 0.96.
The launch kit preset
earshot kit init --preset launch places every effect against the music bed instead of at a fixed level. New kit
keys: bed_db, offset_ms (taps and knocks lead the cut, whoosh and swell peaks land after it), min_gap_ms,
width, and a mix block for the stop-down (the music steps down before a hit and comes back on it; no ducking).
Helpers for a mixer: kit.bed_level, kit.gain_db, kit.place, kit.space_run, kit.stereo_width,
kit.loud_lufs.
earshot fit, re-made against professional sound effects
A gesture model (tones plus air, with motion knobs), stereo and space kept per octave band, music beds stripped
before fitting, a time-shape gate and tonal knobs. Measured with a new replication benchmark on a private set of
licensed reference clips (no audio, no clip names and no per-clip models ship):
| clips | 0.3 | 0.4.0 |
|---|---|---|
| dev (78), median CLAP | 0.884 | 0.921 |
| held-out (38), median CLAP | 0.878 | 0.903 |
| held-out (38), high-grade fits | 7 | 14 |
| fresh held-out (28), median CLAP | 0.853 | 0.851 |
On the harder fresh set 0.4.0 is level on the median and ahead on the mean, the spectrogram gap and the grades; the
onset error and the number of passing takes got worse there. The known gaps are listed in CHANGELOG.md.
Full details: CHANGELOG.md,
docs/FIT.md.
Attached
- earshot-0.4.mp4: the 0.4 launch film (35 s, 1080p60). Its sound effects come from the earshot bank via the
launch kit; the one real recording in it is a CC0 clip shown next to its earshot re-make, and the music is a licensed
track.
earshot 0.2.0: audio to code + forge v2
earshot fit: turn a sound into code
earshot fit sound.wav -o recipe.py listens to a recording and writes a readable Python recipe that re-plays it from numbers only (resonances for clicks / keys / impacts, a moving noise shape for whooshes, pitch tracks for dings), with knobs and morphs for new variations. On 12 real recordings the code renders reach a median 0.945 CLAP similarity; in our blind test the listener could not tell recording from code. See docs/FIT.md.
forge v2
The AI-made sound effects grew from 5 types / 15 sounds to 34 types / 183 sounds for motion design (whooshes, risers, impacts, sub drops, logo stings, UI clicks, taps, toggles, pops, dings, shimmers, typing, glitches), with a held-out benchmark, a sharper critic, a faster search and earshot gallery. Details: CHANGELOG.md, docs/FORGE_V2.md.
Attached
- earshot_v02.mp4: the v0.2 update film (17 s). All sounds are forge v2 code sounds except the REAL/CODE A/B pair.
- real_vs_code.mp4: four real recordings next to their code rebuilds (22 s).
- gallery_embedded.html: every forge v2 sound, playable in the browser (made sounds only).
Real recordings in the A/B demos: kalimba note by iainmccurdy (freesound.org, CC BY 4.0); key press by Sadiquecat, click by qubodup, mouth pop by CapsLok (freesound.org, CC0).
earshot 0.1.0
Ears for coding agents. First public release.
- describe / match / rank / find / compare / ab / realness / timeline / sheet / critique / measure on CPU
- earshot forge: the AI makes its own sounds in code and improves them by listening (blind test: 8 of 15, a coin flip)
- MCP server for Claude Code, the earshot and real-sound skills, held-out evaluations and honest limits
The attached 22 s launch film: every sound in it was made in code by earshot forge (no recordings, no music track).