How to Read Your Music Library: BPM, Energy and Genre

Your library already contains everything you need to plan a set. The problem is that the tags describe what someone typed, not what the tracks are. Here is how to read the audio instead.

Spiral DJ wordmark on a dark background above a row of analysis bars.

You own more music than you can hold in your head. Most of it you've played once, and some of it you've never played at all. A small part you know so well that you could describe the arrangement from memory.

That gap isn't a buying problem. It's a reading problem, and it sits in front of every other decision in a set. You can't route a night through a library you can't see.

This is the fourth piece in the Journal. The others cover planning a set, moving between keys and logging the gig. All three assume you already know what is in your own library. This one is about that assumption.

The Takeaway

  • A tag is a claim someone typed once. It is never a measurement.
  • BPM, energy, danceability and genre can all be read from the audio itself, on your own machine.
  • Energy only means something on a single consistent scale. A value copied from another app means nothing in yours.
  • Genre is a spectrum. A low confidence score is not a failure, it is a flag that a track needs your ears.

What a file actually tells you

Four readings do most of the work, and each one answers a different question.

BPM is the tempo of a track, expressed as beats per minute. It sets the speed of the night and the width of the tempo range you can move within (Tempo, Wikipedia, retrieved 2026-09-24).

Energy is the combined weight of tempo, density and intensity, expressed on a consistent scale across your library. It is not the same thing as loudness, and two tracks at the same BPM can sit far apart on it.

Danceability is a reading of how strongly a track invites movement. It is based on rhythm, pulse, and how much of the arrangement is built for the body rather than for listening.

A waveform is the visual shape of the whole track. It is the fastest way to see where a track is thin, where it peaks, and where it will give you room to mix.

A key reading belongs on this list too, and it has its own guide in this Journal. Here we are interested in the other four.

Two sources of truth about one file

Every audio file carries two descriptions of itself, and they disagree more often than most DJs expect.

A comparison of what a file tag claims against what the audio itself measures, covering BPM, energy, genre, sub-genre confidence and waveform.
The tag describes a claim. The audio describes the track.

The tag travels with the file, written by whoever handled it. A shop, a ripper, a batch tool, or you on a Sunday afternoon three years ago. The audio is the track itself, and it does not care what anyone wrote down.

Why tags lie

Metadata fails for boring reasons, and it is worth knowing which ones because they explain the pattern.

  • Batch tools fill gaps badly. A tool told to guess genre will guess, and it will guess the same thing for a whole folder.
  • Energy scales do not transfer. One app's energy value is calibrated to that app's own library. Copying it into a different system gives you a number with no unit behind it.
  • Shop metadata is marketing. The genre on a store listing was chosen to sell the track, not to route a set with it.
  • Nothing is updated. A track you re-edited, re-cut or re-mastered keeps the tag it arrived with.

The practical consequence is simple. For example, a folder of twenty tracks tagged "Organic House" is not twenty tracks of the same genre. It is twenty tracks that one tool could not tell apart.

Energy only means something on a consistent scale

This is the reading DJs misuse most, because energy feels intuitive and is actually comparative.

Energy is relative, not absolute — a value of E6 means nothing on its own. It means something only next to the other tracks you are choosing between, measured the same way.

That's why the number matters less than the scale. For example, two tracks can read identically in BPM and sit at opposite ends of the energy range. Once every track in your library has been read on one scale, sorting and routing become possible, because the differences are finally real. A peak you can plan is a peak you can hit, and a peak you can only feel is a peak you will overshoot.

So what does an energy reading actually change? It turns the question from "does this feel like more?" into "is this two steps up from the last one?"

Genre is a spectrum, not a box

Genre is the least reliable reading in any library — and not because the tools are bad. It is because genre itself is a fuzzy category that listeners negotiate rather than a property a file either has or lacks (Music genre, Wikipedia, retrieved 2026-09-24).

A diagram showing two tracks classified from audio: one with a clear dominant genre and high confidence, and one sitting between two genres at low confidence.
One track has an obvious home. The other sits between two families, and the score says so.

Genre DNA is the classifier in SPIRAL DJ that reads genre and sub-genre from the audio itself and reports a confidence score with each result. The score is not a boast about accuracy. It is a way of telling you which tracks the reading is unsure about.

A track that returns a strong match to one sub-genre is easy to route. A track that returns two similar matches is telling you something useful. It belongs to both families, which makes it either a perfect bridge or a transition that lands nowhere.

Design note: A low confidence score is stored, not hidden. A classifier that only reports its confident answers looks accurate and is useless for routing, because the interesting tracks are the ambiguous ones.

The reading is not the decision

Analysis removes guesswork. It does not pick tracks.

A library read properly gives you three things you didn't have before. A tempo range you can trust. An energy scale that holds across thousands of files. And a flag on the tracks that genuinely sit between genres. What it cannot give you is the intention of the night, because that only exists in your head.

Field note: The most common surprise after a first full read of a library is the number of tracks sitting in the wrong tempo bracket. Half-time and double-time detection is the usual cause, and the tracks affected are almost never the ones you suspected.

The honest way to use a reading is as a constraint. You decide what the night is for, and the readings tell you which tracks are available to build it with.

What to do when the reading and the tag disagree
What you find What it usually means What to do
A track tagged one genre, read as another The tag came from a shop or a batch tool Trust the audio, and stop sorting by tag
Half the library in the same tempo bracket BPM read double or half time Check the outliers by ear, one by one
Everything sitting at the same energy Energy imported from another scale Re-read the library on one scale before planning
A track with two strong genre matches It genuinely sits between two families Keep it for bridges, not for peaks
Confident readings everywhere The library is well organised Start planning from it, not from new purchases

Start with the library you already own

You don't need more music to plan a better set. You need to be able to see the music you have.

SPIRAL DJ reads BPM, key, energy, danceability and waveform from your own files, on your machine, and classifies genre from the audio with Genre DNA. The free plan covers up to 500 tracks and includes the Set Plan, Set Canvas and Set Architect, Auto Flow, Routes, Set Check and a JSON backup. Professional exports, the printable booth sheet, Gig Log, Forgotten Gems and an unlimited library sit in Pro.

No card is required, and your music never leaves your machine. Nothing is uploaded, and the analysis runs offline. The privacy page explains how local reading works, and the terms cover everything else.

Start free with SPIRAL DJ — 500 tracks, no card, everything local.

Frequently asked questions

Do I need to re-tag my whole library?

No. Re-tagging is usually a waste of an evening. Read the audio once, and keep the tags as they are. You will stop trusting them soon enough on your own.

Is BPM detection always right?

No. The common error is half-time or double-time: a track at a slow tempo gets read as twice as fast, or the reverse. The affected tracks tend to cluster, so a quick scan of the fastest and slowest entries in your library finds most of them.

What is a low confidence score telling me?

That the track sits between two genre families, or that its arrangement does not settle into one. Those tracks are worth your attention, because they're usually either the best bridges you own or the ones that never quite fit.

Does the analysis upload my files?

No. Reading happens on your machine, in your browser, and the system works offline. The browser asks for folder permission because it needs local access to read the audio, and that permission is what keeps everything on your device.

What to do next

Read the library before you plan the next set. Fix nothing, re-tag nothing, and simply look at what the readings say about the music you already own.

Then take the reading into the brief, because a night is easier to build when you know which tracks are available and how far apart they really are. That is where the planning method picks up.


Editorial note: This guide is written and maintained by the SPIRAL DJ team, the same people who build the app. For corrections or questions, contact info@spiraldj.com. More about us, and everything else in the Journal, is at the Spiral Journal.

Test setup: this workflow mirrors how the app behaves. The free plan covers up to 500 tracks and every stage through Set Check. The professional exports, the printable booth sheet, Gig Log and Forgotten Gems sit in Pro.