Giving coding agents a sense of hearing
earshot gives coding agents ears: a CPU-only CLI + MCP server that describes and critiques audio.
Leonxlnx/earshot
Coding agents can now write the code that renders a product demo, a launch film or a game. They still can't hear what they made. An agent can't tell a cheap key press from a good one, and it won't notice a hit landing 80 ms after the cut. earshot by Leonxlnx gives agents a way to listen. It turns audio into evidence an agent can reason about: a description in words, a score for how well a file fits a text prompt, the best moments inside a long recording, and a second-by-second listening transcript of a whole film. It runs locally on CPU, as a CLI, a Python API and an MCP server.
How it works
Under the hood are two open models, CLAP for text-audio matching and an AudioSet tagger, plus a set of plain measurements like LUFS, true peak, spectrum and tempo. match gives a verdict (strong, plausible, weak, no match) with evidence. sheet renders an annotated PNG with frames, events, spectrogram and sync markers, for agents that read images. critique scores a launch video against a profile of 7 professional films and lists timestamped fixes.
The part I like most is forge. The agent writes a sound as code, using modal resonators, filtered noise and a computed room, with no recorded audio. A critic scores each render, an evolutionary search keeps the best, and the agent reads feedback like "bumpy tail" and rewrites the recipe. fit goes the other way. It turns a recording into a recipe module you can re-render, vary or morph. Version 0.3 ships a bank of 201 sounds as code that render by id with no models and no network.
Try it
git clone https://github.com/Leonxlnx/earshot && cd earshot
python -m venv .venv
.venv/bin/python -m pip install torch --index-url https://download.pytorch.org/whl/cpu
.venv/bin/python -m pip install -e ".[mcp,llm,dev]"
.venv/bin/python -m earshot doctor --load
claude mcp add earshot --scope user -e EARSHOT_THREADS=3 -- /path/to/earshot/.venv/bin/python -m earshot mcp
You need Python 3.10+ and ffmpeg on PATH, and the first model use downloads about 1.1 GB.
My take
The README is unusually honest. It lists what you can trust (loudness, timing, sync, "is this the sound I asked for" on single exposed sounds) and what you can't (taste, emotion, licensing, speech, anything above 14 kHz from the models). It also calls out its own Goodhart problem: forge optimizes against earshot's own models, and its realness check is easy to fool. The author's blind tests had one listener, and the README admits that's small. Every CLI call reloads the models in 20 to 40 seconds, so for real work use the MCP server or the Python API. The forge reference recordings aren't in the repo, so you have to bring your own.
If you have agents producing video, demos or UI sound, this is worth an afternoon. It's the first tool I've seen that closes the loop between generating audio and checking it.