How leonxlnx/earshot works
Earshot gives coding agents audio analysis, sound search, film-level listening and critique, plus code-based sound generation and fit-to-recipe workflows. The main path is an agent request through a CLI, Python API or MCP surface, into the relevant analysis or synthesis capability and back as a readable report or media artifact. The graph preserves the README’s major product branches; unsampled modules are represented by their exact paths, but their internal calls are omitted unless documented or visible in the index.
Main entry points: cli.py CLI · timeline.py Listening timeline · clap.py CLAP model · search.py Rank and find
Components 31
Agent interfaces
- CLI
earshot/cli.py - Python API
earshot/api.py - MCP server
earshot/mcp_server.py
Audio understanding
- Describe audio
earshot/describe.py - Match description
earshot/match.py - Rank and find
earshot/search.py - Compare sounds
earshot/compare.py - Assess realness
earshot/realness.py - Measure audio
earshot/features.py
Film listening
- Listening timeline
earshot/timeline.py - Video inspection
earshot/video.py - Annotated sheet
earshot/sheet.py - Film scorecard
earshot/critique.py - Reference profile
earshot/profile.py
Sound creation
- Forge workflow
earshot/forge/__init__.py - Synthesis recipes
earshot/forge/recipes - Synthesis DSP
earshot/forge/dsp.py - Candidate search
earshot/forge/search.py - Sound critic
earshot/forge/critic.py - Artifact polish
earshot/forge/polish.py - Reference tone checks
earshot/forge/tone.py - Fit recording to code
earshot/forge/fit - Bank SFX and kits
earshot/forge/bank.py
Shared runtime
- Audio decoding
earshot/audio.py - Sound vocabulary
earshot/vocab.py - CLAP model
earshot/models/clap.py - AudioSet model
earshot/models/ast.py - Model cache and loading
earshot/models/hub.py - Runtime configuration
earshot/config.py - Result formatting
earshot/report.py
Other components
- Coding agent
Connections 41
- Coding agent → CLI: invokes
- Coding agent → Python API: uses
- Coding agent → MCP server: uses
- CLI → Describe audio: routes command
- CLI → Match description: routes command
earshot/match.py - CLI → Rank and find: routes commands
earshot/search.py - CLI → Compare sounds: routes commands
- CLI → Assess realness: routes command
- CLI → Measure audio: routes measure
earshot/features.py - CLI → Listening timeline: routes command
earshot/timeline.py - CLI → Annotated sheet: routes command
- CLI → Film scorecard: routes command
- CLI → Reference profile: routes command
- CLI → Forge workflow: routes command
earshot/forge/__init__.py - CLI → Fit recording to code: routes command
- CLI → Bank SFX and kits: routes commands
- CLI → Result formatting: formats errors
earshot/cli.py - Rank and find → Sound vocabulary: embeds and scores
earshot/search.py - Rank and find → Audio decoding: loads segments
earshot/search.py - Match description → Sound vocabulary: scores descriptions
earshot/match.py - Measure audio → Audio decoding: loads audio
earshot/features.py - Sound vocabulary → CLAP model: embeds audio and text
earshot/vocab.py - CLAP model → Model cache and loading: ensures model
earshot/models/clap.py - CLAP model → Runtime configuration: reads settings
earshot/models/clap.py - Model cache and loading → Runtime configuration: reads cache settings
earshot/models/hub.py - Listening timeline → Audio decoding: loads soundtrack
earshot/timeline.py - Listening timeline → Video inspection: inspects picture
earshot/timeline.py - Listening timeline → Measure audio: measures events
earshot/timeline.py - Listening timeline → CLAP model: labels spans
earshot/timeline.py - Listening timeline → AudioSet model: tags audio
earshot/timeline.py - Film scorecard → Reference profile: scores against profile
- Forge workflow → Synthesis recipes: renders recipes
earshot/forge/__init__.py - Forge workflow → Candidate search: optimizes candidates
earshot/forge/__init__.py - Candidate search → Sound critic: scores candidates
earshot/forge/search.py - Candidate search → Synthesis DSP: pre-screens renders
earshot/forge/search.py - Sound critic → Artifact polish: checks artifacts
earshot/forge/critic.py - Sound critic → Reference tone checks: checks tonal balance
earshot/forge/critic.py - Fit recording to code → Synthesis DSP: generates recipe code
- Bank SFX and kits → Video inspection: aims sounds at picture
- Describe audio → Result formatting: returns summary
- Listening timeline → Result formatting: formats results
earshot/timeline.py