sound-earlisted
Install: claude install-skill tysitv/claude-sound-ear
# sound-ear
Claude cannot natively hear a `.wav`, but it can read images and structured text. This
skill converts sound into exactly those. CLI: `bin/hear.sh <subcommand> <media> [opts]`.
Output lands in a `<name>.ear/` folder next to the media.
## Device compatibility (IMPORTANT)
Run `bin/hear.sh doctor` first. It detects the machine (OS/arch, RAM, Apple Silicon vs
Intel, CUDA) and reports which subcommands work and which `map` engine is selected. `map`
auto-routes: **vertex** (Gemini on the user's GCP — best) if google-genai + ADC are present,
else **clap** (offline) if torch+transformers are installed, else it tells you to use
`see`/`transcribe`. Force with `--engine vertex|clap`.
## Subcommands
- `see <media>` — WORKING, ffmpeg only. `spectrogram.png` (Read it — SFX are shapes:
broadband smear=whoosh/noise, low bar=boom, diagonal=sweep, horizontal=tone), `waveform.png`,
`report.md` (duration, EBU R128 loudness, silence, scene cuts). The reliable timing source.
- `map <media> [--engine auto|vertex|clap]` — semantic sound map
`[{t0,t1,type,label,description,confidence,flag?}]`. Timing comes from ffmpeg/spectral-flux
onsets (`bin/onsets.py`), NOT the model (audio LLMs can't localize). vertex = project
`momorix`, us-central1, gemini-2.5-flash (env GEMINI_AUDIO_MODEL). clap = zero-shot labels,
fully offline.
- `transcribe <media> [model]` — WORKING, offline speech via faster-whisper (venv-audio,
CPU int8, no torch). model tiny|base|small.
- `cymatics <media> [