Analyse a track on Audial and press Get tags: you get its genres, a short written description, and moods and instruments for the whole mix and for its drums, bass, melody and vocals, on the website or as JSON from the API, the Python SDK (audial.tags) and the tag_audio MCP tool.
$10 a month or $100 a year. Unlimited runs, cancel any time. 2 free runs to try it first.
Audial tags a song from its audio. Analyse the track, press Get tags, and tags come back for five parts: the whole mix, and the drums, bass, melody and vocals the analysis prepares in the background. Each part gets its moods and its instruments, the song gets its genres as display names such as UK Garage or Tech House, and a short written description sums up its sound and feel.
Tags come from fixed vocabularies, so the same thing is always spelled the same way and a library can be filtered on it. A bass is tagged sub bass, synth bass, bass guitar, upright bass, 808 bass or reese bass; moods come from one list that runs from aggressive and atmospheric to uplifting and warm. A part that is silent in the track says so instead of collecting tags it does not have, so an instrumental has silent vocals.
When the file's tags, or failing that its name, give a title and artist that a public music database knows, the artist's own tags are added as well. Only the title and artist are looked up there, never the audio. Tags are an add-on on an analysis, so they are included in its run.
What you get
- Genres as display names, ready to show or filter on
- Moods and instruments for the mix and for its drums, bass, melody and vocals
- A short written description of the track's sound and feel
- Fixed vocabularies: the same instrument is always spelled the same way
- Silent parts are marked, so an instrumental gets no vocal tags
- Artist tags when the track is recognised by title and artist; the audio is never sent for that
Hear it
Tags are read from the mix and from each of its parts, which an analysis prepares in the background. These are the demo mix's own parts; melody is everything that is not drums, bass or vocals.
Audial vs doing it by hand
| Task | Audial | By hand |
|---|---|---|
| Genre | Audial: Read from the audio, as display names | By hand: Your call, by ear and by knowing the scene; often better for a niche you know well |
| Moods and instruments per part | Audial: For the mix and for its drums, bass, melody and vocals | By hand: Listen part by part and write them down; few people do it for every track |
| Consistent spelling | Audial: Fixed vocabularies, so tags can be filtered | By hand: Drifts between synth bass, synthbass and bass synth unless you keep a list |
| A whole library | Audial: A script or an assistant can work through a folder | By hand: The same few minutes for every track |
| Your own categories | Audial: Uses its own vocabularies, not your crate's | By hand: Your labels mean exactly what you mean by them |
Use it from code
# 1. Analyse the mix. Keep the exeId from the answer.
curl -X POST "https://api.audialmusic.ai/api/functions/run/segmentation" \
-H "X-API-Key: your_api_key" -H "X-User-ID: your_user_id" \
-F "userId=your_user_id" \
-F "original=@/path/to/track.mp3"
# 2. Tags on that analysis. 409 STEMS_NOT_READY means the parts are still
# being prepared: send the same request again a minute later.
curl -X POST "https://api.audialmusic.ai/api/functions/run/audio-tags" \
-H "X-API-Key: your_api_key" -H "X-User-ID: your_user_id" \
-F "userId=your_user_id" \
-F "analysisExeId=exe_12345abcde"
# 3. When they are done: song_analysis.genre, .description and .song_tags
curl "https://api.audialmusic.ai/api/db/your_user_id/execution/exe_12345abcde/analysis" \
-H "X-API-Key: your_api_key" -H "X-User-ID: your_user_id"import audial # audial-sdk 1.7 or later
audial.config.set_api_key("your_api_key")
audial.config.set_user_id("your_user_id")
analysis = audial.segment("track.mp3")
tags = audial.tags(analysis["analysis_id"]) # waits while the parts are prepared
print(tags["genre"], tags["description"])
for part, t in tags["song_tags"].items(): # full, drums, bass, melody, vocals
print(part, "silent" if t.get("silent") else t["moods"] + t["instruments"])# In Claude, Cursor or any MCP client with audial-mcp 0.6.0 or later installed:
"Tag every track in ~/Music/crate with genre, mood and instruments, and give me a table."Frequently asked questions
Upload it on the Audio Analysis tab and press Get tags. The Genre tile lists its genres, and the tag tiles show moods and instruments for the song and each part. From code, call /functions/run/audio-tags with the analysis's exeId, or audial.tags in Python.
Genres for the song; moods and instruments for the whole mix and for its drums, bass, melody and vocals; a short written description; and artist tags when the track is recognised by its title and artist.
Yes, from code. Each track is one analysis plus its tags: loop over your files with audial.segment and audial.tags in Python, or ask an assistant with the Audial MCP server to work through a folder. An analysis counts as one run, the tags on it are included, and the subscription's runs are unlimited.
Genre is partly opinion, and a track that sits between styles can come back with two or three. Tags come from fixed lists, so you never get an invented label, but check them before you publish them as fact.
The audio is processed on Audial's servers. For artist tags, only the title and artist read from the file's tags or name are looked up in a public music database; the audio is never sent there.
Because that part has nothing in this track: it carries silent: true and no tags. An instrumental has silent vocals, and the website says No vocals in this track.
