Blog

Automatic genre, mood and instrument tags for every part of a song

Audial now tags a song's mix and its drums, bass, melody and vocals separately, from fixed vocabularies, with a short written description. What you get, how to use it, and where it falls short.

November 7, 2026 5 min readAudial

Most auto-tagging gives you a genre and three moods for the whole song. That is useful for a playlist and not much else. A producer digging through a crate wants to know different things: does this track have a reese bass, is the vocal male or female, is the melody piano or synth stabs, is there a part I could sample?

Audial's tags were rebuilt in November 2026 to answer those questions. This post covers what comes back, how to use it, and its limits.

Five parts, not one

When you press Get tags on an analysis, Audial tags five parts of the track separately:

  • the full mix, which also gets the song's genres;
  • drums, bass, melody and vocals, the parts the analysis prepares in the background, melody being everything that is not drums, bass or vocals.

Each part gets its own moods and instruments. On top of that come the genres, as display names such as "UK Garage" or "Tech House", and a written description: a sentence or two on the track's sound and feel, leaving out tempo, key and length, which the analysis already measures.

A part that is silent in the track says so instead of being given tags it does not have. An instrumental has silent vocals, and the website says "No vocals in this track." rather than guessing.

Fixed vocabularies

Every mood and instrument comes from a fixed list. That sounds like a restriction, and it is the useful kind: the same thing is always spelled the same way, so a library can be filtered on it. You will never have to search for "synth bass", "synthbass" and "bass synth" separately.

The instrument lists are short enough to print:

Part Instruments it can be tagged with
Drums kick, snare, clap, hi-hats, cymbals, toms, rimshot, shaker, tambourine, congas, bongos, percussion, drum machine, acoustic drums, breakbeat
Bass sub bass, synth bass, bass guitar, upright bass, 808 bass, reese bass
Melody synth lead, synth pads, synth stabs, synth arpeggio, synth plucks, synthesizer, piano, electric piano, organ, acoustic guitar, electric guitar, strings, brass, woodwinds, bells, mallets, choir pads, sound effects
Vocals female vocals, male vocals, backing vocals, vocal chops, choir, rap vocals, spoken word

Moods come from one list for every part, running from aggressive, atmospheric, bright and calm through groovy, hypnotic and melancholic to soulful, tense, uplifting and warm. The mix can carry any instrument from the four lists.

Artist tags

If the file's own tags (or, failing those, its file name) give a title and artist that a public music database knows, the artist's tags from that database are added to the mix as artist tags. Only the title and artist are looked up. The audio never leaves Audial for this.

That is the one place where tags come from outside the audio, and they are kept apart from the rest for that reason.

What to do with them

  • Dig a crate. Tag a folder and filter it: every track with vocal chops, every track whose bass is a reese, every track tagged "hypnotic" in the drums.
  • Find samples before you listen. A track whose melody part is "electric piano, strings" is worth opening for chops; one whose melody is "sound effects" probably is not.
  • Name stems and packs. Per-part instruments make a sensible file name for a stem or a sample.
  • Write a brief. The description is a reasonable first line for a sync pitch or a release note. Edit it; you know the track.
  • Check your own mix. If you meant the bass to read as a sub and it comes back as "synth bass, bass guitar", that is worth hearing again.

How to get them

On the website, analyse a track on the Audio Analysis tab, then press Get tags. The tags need the prepared parts, so until they are ready the button is greyed out under "Preparing the track…", which usually takes under a minute. The results appear as a Genre tile, Song, Drum, Bass, Melody and Vocal tag tiles, Artist Tags when there are some, and a Description.

From code, it is one more call on the analysis: POST /api/functions/run/audio-tags with { userId, analysisExeId }. Tags land in the merged view as song_analysis.genre, song_analysis.song_tags and song_analysis.description. In Python:

import csv
from pathlib import Path

import audial  # audial-sdk 1.7 or later

audial.config.set_api_key("your_api_key")
audial.config.set_user_id("your_user_id")

AUDIO = {".mp3", ".wav", ".flac", ".aiff", ".m4a"}
PARTS = ["full", "drums", "bass", "melody", "vocals"]

with open("crate_tags.csv", "w", newline="") as f:
    out = csv.writer(f)
    out.writerow(["file", "genre", "moods", *[f"{p} instruments" for p in PARTS], "description"])
    for path in sorted(Path("crate").iterdir()):
        if path.suffix.lower() not in AUDIO:
            continue
        analysis = audial.segment(str(path))
        tags = audial.tags(analysis["analysis_id"])  # waits while the parts are prepared
        parts = tags["song_tags"]
        out.writerow([
            path.name,
            ", ".join(tags["genre"]),
            ", ".join(parts["full"]["moods"]),
            *["(silent)" if parts.get(p, {}).get("silent") else ", ".join(parts.get(p, {}).get("instruments", [])) for p in PARTS],
            tags["description"],
        ])

With the Audial MCP server installed, the same job is a sentence: "tag every track in ~/Music/crate and give me a table of genre, bass and vocals".

Tags are an add-on on the analysis. An analysis counts as one run. Everything you add to it (features, tags, lyrics, a sample pack) is included.

Where it falls short

  • Genre is partly opinion. A track that sits between styles can come back with two or three genres, and the boundaries between electronic subgenres are argued about by people too. Tags come from fixed lists, so you never get an invented label, but check them before you publish them as fact.
  • Tags describe what is audible. "Female vocals" tells you what the vocal sounds like, not who is singing.
  • It does not know your categories. If your crate has its own labels ("warm-up", "peak time", "for the Sunday set"), keep them. No vocabulary will mean exactly what you mean by them.
  • Older analyses. Tracks tagged before the update have tags for the mix, bass and melody only, and no description. Over the API, "rerun": true tags them again with the current tagger, as long as the analysis kept its prepared parts.

Try it

Start from genre, mood and instrument tags, or the full song segmentation page for everything an analysis can add. For the timing side of the same analysis, see song sections that follow the real tempo and song lyrics with word timestamps.

analysistaggingworkflow