Sonic.Annotator: AI Music Annotation Assistant Built with FastAPI, React and Claude
The problem
Professional music annotators spend hours listening to tracks and typing the same fields into spreadsheets: tempo, key, instruments, mood, vocal style. It is repetitive, slow and inconsistent between people. Sonic.Annotator turns that into an assisted workflow.
What it does
- Upload a song or enter metadata to start an annotation.
- Section-by-section output with BPM, key, instruments, mood, vocals and a confidence value so reviewers know where to look.
- DAW-style editor so annotators can correct and refine the AI draft quickly.
- Export to CSV, Excel, JSON or TXT for delivery or downstream pipelines.
The goal is a copilot, not a replacement: the human stays in control and the AI removes the grunt work.
Architecture
| Layer | Technology | | --- | --- | | Frontend | React 19 | | Backend | FastAPI (Python) | | Database | MongoDB | | Audio analysis | librosa (DSP) | | LLM | Claude Sonnet 4.6 |
librosa extracts objective audio features, and the LLM combines those with track metadata to produce consistent, readable annotations. Confidence scores make it clear which fields deserve a human second look.
Lessons learned
- Pair deterministic analysis with an LLM instead of asking the model to "listen".
- Always expose confidence so reviewers can prioritise.
- A familiar, DAW-like interface cuts the learning curve for domain experts.
Explore the project
Want an AI-powered tool for your own workflow? I build full stack and AI-integrated products as a freelancer. Get in touch.
Frequently Asked Questions
What does Sonic.Annotator do?
You upload a song or enter track metadata and it returns structured section-by-section annotations covering BPM, key, instruments, mood, vocals and a confidence score.
Which formats can I export annotations to?
CSV, Excel, JSON and TXT.
What is the tech stack?
A React 19 frontend, a FastAPI backend, MongoDB for storage, librosa for digital signal processing and Claude Sonnet 4.6 as the language model.
Why combine DSP with an LLM?
Signal processing with librosa gives measurable facts such as tempo and key, while the LLM turns them into descriptive, human-readable annotations like mood and instrumentation.

