Audial tool

Automatic music tagging: genre, mood and instruments

Genres, moods and instruments for the whole song and each of its parts, plus a short written description.

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

Full mix
Drums
Bass
Melody
Vocals

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

GenreAudial: Read from the audio, as display namesBy hand: Your call, by ear and by knowing the scene; often better for a niche you know well
Moods and instruments per partAudial: For the mix and for its drums, bass, melody and vocalsBy hand: Listen part by part and write them down; few people do it for every track
Consistent spellingAudial: Fixed vocabularies, so tags can be filteredBy hand: Drifts between synth bass, synthbass and bass synth unless you keep a list
A whole libraryAudial: A script or an assistant can work through a folderBy hand: The same few minutes for every track
Your own categoriesAudial: Uses its own vocabularies, not your crate'sBy 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"

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.

Related