Guides
BPM and Key Tags for Rekordbox, Serato and Traktor: What Each App Actually Reads
Which fields hold BPM and key in MP3, FLAC and WAV, what Rekordbox, Serato and Traktor do with them, and how to prepare tracks for harmonic mixing.
Where BPM and key live in a file
Each audio container has its own tag system, and a DJ app only finds a value in the field it expects.
| Format | Tag system | BPM field | Key field |
|---|---|---|---|
| MP3 | ID3v2 | TBPM | TKEY |
| AIFF | ID3v2, in an ID3 chunk | TBPM | TKEY |
| FLAC | Vorbis comments | BPM | INITIALKEY (some tools also write KEY) |
| WAV | RIFF LIST/INFO | none | none |
Four details trip people up:
- TKEY is short by design. The ID3v2.3 spec defines it as the key the track starts in, in at most three characters: a note letter, an optional
bor#, andmfor minor.Am,F#mandEbare valid, andomeans off-key. Writing8AorA minorinto TKEY goes beyond the spec. A DJ app may simply show it as text, but other software may not understand it. - TBPM is officially a whole number. The spec calls it an integer, so a value like
123.5may be rounded or ignored. - FLAC field names are a convention. Vorbis comments are free-form.
BPMandINITIALKEYare the names DJ tools commonly use, and some tools writeKEYas well. - WAV has no standard place for either. RIFF INFO has title, artist, genre, date and comment fields, but nothing for tempo or key. Some tools add an ID3 chunk to WAV files, but that isn't part of the WAV format and apps handle it differently. The rekordbox manual itself warns that a WAV file's tag information "may not be displayed".
What Rekordbox reads
The rekordbox 7 manual lists the tags it can display: ID3 (v1 to v2.4) from MP3 and AIFF, RIFF INFO from WAV and Vorbis comments from FLAC. Key and BPM are handled differently:
- Key comes from the tag. The key tag fills the Key column, and Reload Tag pulls in a key another tool has written. If KEY is ticked under Preferences > Analysis > Track Analysis > Track Analysis Setting, Rekordbox also detects the key itself. Mixed In Key's Rekordbox workflow says to analyse only BPM and Grid, so detection doesn't compete with the key in the tag.
- BPM comes from its own analysis. Rekordbox ties BPM to the beatgrid it builds. Users on Pioneer DJ's community forum report that it doesn't take the BPM from the file's tag. In Rekordbox, treat TBPM as a cross-check, not an input.
- Analysis mode. Normal suits tracks with a fairly constant tempo and takes a BPM Range. Dynamic is for tracks with big tempo changes.
- Display. Preferences > View > Display Type > Key display format switches between Classic (
Am) and Alphanumeric (8A-style). - Write-back. The Key Analysis option "Write the value to the ID3 tag", on the same Track Analysis tab, stores the detected key in the file.
What Serato and Traktor read
Serato DJ Pro
- BPM tags are respected. According to Serato's support pages, auto BPM "will not be applied if the track already contains BPM information". A correct TBPM stays. To fix a wrong one, delete the value, then re-analyse.
- Key comes from the initial key tag. Serato's guide to Mixed In Key says a key in the "initial key" tag shows up in the key column. After editing tags in another app, use Rescan ID3 Tags in the Files panel.
Traktor Pro
- Two key columns. Traktor's own analysis goes in the Key column. A key written by another tool shows in Key Text, according to Mixed In Key's Traktor workflow. Run Check Consistency after changing tags.
- Notation. In the Traktor manual, Preferences > Analyze Options > Musical Key has separate settings for what Traktor displays (Musical, Musical (all sharps) or Open Key) and what it writes to file tags (the same three, or Key Text).
- BPM Range, also in Analyze Options, has an Automatic setting that helps Traktor read drum & bass at around 170 rather than 85.
- Tag writing mode is under File Management. Choose "Do not write any tags to files" to leave your source tags untouched.
Key notation: Am, 8A and 1m
These are three names for one key. Musical notation is what TKEY holds. Camelot numbers the circle of fifths 1 to 12, with A for minor and B for major, and Rekordbox's Alphanumeric display uses the same codes. Open Key, Traktor's option, uses the same circle starting at C major, with m for minor and d for major.
| Minor | Camelot | Open Key | Major | Camelot | Open Key |
|---|---|---|---|---|---|
| Abm / G#m | 1A | 6m | B | 1B | 6d |
| Ebm / D#m | 2A | 7m | F# | 2B | 7d |
| Bbm / A#m | 3A | 8m | Db / C# | 3B | 8d |
| Fm | 4A | 9m | Ab / G# | 4B | 9d |
| Cm | 5A | 10m | Eb / D# | 5B | 10d |
| Gm | 6A | 11m | Bb / A# | 6B | 11d |
| Dm | 7A | 12m | F | 7B | 12d |
| Am | 8A | 1m | C | 8B | 1d |
| Em | 9A | 2m | G | 9B | 2d |
| Bm | 10A | 3m | D | 10B | 3d |
| F#m | 11A | 4m | A | 11B | 4d |
| C#m / Dbm | 12A | 5m | E | 12B | 5d |
Harmonic mixing basics:
- Same code. 8A into 8A is the safest mix.
- One step around the wheel. 8A into 7A or 9A. The keys share six of their seven notes.
- Switch letter, keep the number. 8A into 8B goes from A minor to its relative, C major.
- Watch the pitch fader. Without key lock (Master Tempo in Rekordbox), playing a track about 6% faster raises it a semitone. That moves it seven steps round the wheel, so 8A becomes 3A. With Master Tempo off, Rekordbox's key display follows the pitch.
Detected vs. known
Analysers listen and guess. A key detector measures which pitch classes dominate and picks the scale that fits best. It fails in predictable places:
- Relative major and minor: Am and C share every note.
- Tracks with little harmony, such as drum-led techno.
- Modal passages, key changes and detuned samples.
- For tempo: half or double time (85 vs 170), heavy swing and drifting live drums.
That's why two analysers often disagree about the same file.
A track from Aleatoria's procedural engine works the other way round. The composer fixes tempo and key first and writes every part from that plan, and the tags are copied from the plan, so nothing is guessed. The engine renders in 4/4 at one tempo from start to finish, so once your software finds beat one, the grid holds to the end.
One limit to know about: TKEY can only say major or minor, so a track in a mode needs a choice. D dorian has D as its tonic but uses the notes of C major and A minor, so on the wheel it sits at 8A, not at 7A where Dm is. Aleatoria tags it by its notes: Am, the key of 8A, which is also the code in the file name. Tagging it Dm would send a harmonic mix one step wrong. Lydian and mixolydian tracks land on the major side the same way (F lydian is tagged C). The full mode name stays in the comment.
Which format for your library
- MP3 plays on practically every player, and its ID3 tags are the most widely supported. It is lossy, but at a high bitrate (320 kbps is the usual choice) it's the safe pick for an unknown booth.
- FLAC is lossless and smaller than WAV, and Rekordbox, Serato and Traktor all import it with its tags. The catch is older Pioneer players. On the CDJ line, FLAC support arrived with the CDJ-2000NXS2, and earlier players such as the CDJ-2000NXS won't load it.
- WAV sounds the same as FLAC but carries poor tags. Keep it for your DAW.
Rule of thumb: use FLAC when you know every player supports it, and MP3 when you don't.
How Aleatoria tags procedural tracks
A procedural track comes as a set of files: the mix as WAV, FLAC and MP3 (320), plus per-instrument stems and a MIDI file, which the stems and MIDI guide covers. Tempo and key end up here:
| File | BPM | Key | Also written |
|---|---|---|---|
| MP3 (ID3v2.3) | TBPM | TKEY, Am style | COMM comment, TXXX:AI-GENERATED=true |
| FLAC (Vorbis) | BPM | INITIALKEY and KEY, both Am | COMMENT, AI_GENERATED=true |
| WAV (RIFF INFO) | only in the comment | only in the comment | ICMT comment, INAM title |
- The comment repeats both values. It reads like
BPM=124.0 KEY=A minor, followed by the AI-generated label, so an app that shows the comment shows both values, even for a WAV. - BPM is a whole number when the tempo is whole (
124), and otherwise has one decimal (123.5), because the engine sets tempo in half-BPM steps. For a tag that strictly follows the ID3 spec, enter a whole-number tempo before rendering. - Major and minor keys use sharps. You get
A#m, notBbm— the same key, 3A on the Camelot wheel. A track in a mode (dorian, phrygian, mixolydian …) is tagged with the key of its Camelot code, so the tag matches the file name and can be a flat: F mixolydian has the notes of B♭ major, so it is taggedBb(6B). - Stems carry the same tags, with the stem name added to the title. They come as 24-bit WAV by default, or as FLAC if you switch that on, and only the FLAC version has proper
BPMandINITIALKEYfields. - Every audio file carries a machine-readable AI-generated label. It is how Aleatoria marks its output under Art. 50 of the EU AI Act.
Tracks from the neural engines are different. Songs with vocals and lyrics are made with ACE-Step 1.5, and the model doesn't guarantee the tempo or key you ask for, so we only write what we measured. When our analysis of the finished track is sure of the tempo, the MP3 and FLAC get a beat grid and the measured BPM; when it isn't, they get no BPM tag. They never get a key tag, because we don't measure keys. Let your DJ app analyse the key, and the tempo of a track without a grid. A track that has a grid can be moved onto your target tempo with Exact BPM, up to 4 % away.
To choose the numbers yourself, open the studio. Simple mode shows a Tempo field in BPM. The key field is under More options in Simple mode, and in the Time panel of the Advanced studio. It takes a key such as F#m or C dorian. Leave it empty and the engine picks a key that suits the genre. The same place can re-render a finished track at a new tempo or key with the same seed. That makes a fresh render, not a time-stretch.
Procedural renders cost no credits, within a daily fair-use number. Basic, Studio and Pro all include commercial use, which under the terms covers paid events; tracks made earlier on the old Free plan are non-commercial. Check pricing before you play tracks at paid gigs. For streamed sets, the livestream music guide covers the rights side.
Step by step: check a track in Rekordbox
- Download the MP3 or FLAC of a procedural track.
- Go to Preferences > Analysis > Track Analysis and set Track Analysis Mode to Normal. Make sure the BPM Range covers the track. For example, a 172 BPM drum & bass track may come out at 86 if the range stops below 172.
- Under Track Analysis Setting, keep BPM / Grid ticked. Untick KEY to keep the key from the tag.
- Under Preferences > View > Display Type > Key display format, pick Alphanumeric or Classic.
- Drag the file into Collection and show the Key, BPM and Comments columns. The comment holds the values written into the file, so compare the three.
- Load the track and zoom in on the first downbeat. If the grid is off, fix it once. With a single tempo, a correct first beat means a correct grid to the end.
- If you change tags in another app later, right-click the track and choose Reload Tag.
To refresh tags in Serato, use Rescan ID3 Tags. In Traktor, run Check Consistency and look at Key Text.
Every DJ-facing feature of Aleatoria — tags, Camelot file names, cues and transitions — is summed up on the AI DJ tools page.
FAQ
Why does Rekordbox show a different BPM from the tag?
Rekordbox bases BPM on its own beatgrid analysis, and users report that it doesn't take the value from the tag. A common cause of a mismatch is half or double time, such as 86 instead of 172, when the BPM Range doesn't cover the track. Adjust the range and analyse again.
Should I write the key back to tags?
Only if the new key is better than the one already there. Write-back helps when you move files between apps that don't share a database. For tracks whose key is known from how they were made, switch it off (untick Rekordbox's "Write the value to the ID3 tag", or set Traktor's tag writing mode to "Do not write any tags to files"), so a detector can't overwrite a correct value.
Does converting WAV to FLAC keep the tags?
It keeps only what the WAV had. A converter may carry over the INFO title and comment, but INFO has no BPM or key field, so there is nothing to map to BPM or INITIALKEY. Download the FLAC export instead, or add those fields with a tag editor after converting.
Which key notation should I use?
Whichever you read fastest in a dark booth. The key is the same in every notation. The setting only changes how it is shown, and in Traktor also how it is written to tags. Camelot codes (Alphanumeric in Rekordbox) make compatible keys easy to spot, because they sit next to each other. If you use Traktor's Open Key, remember that its numbers differ from Camelot: 8A is 1m.
Do sung AI tracks get BPM and key tags?
Only partly. The neural engines don't guarantee a tempo or key, so we write only what we measured: when our analysis is sure of the tempo, the MP3 and FLAC get the measured BPM and a beat grid; otherwise the BPM field stays empty. A key tag is never written. Your DJ software's analysis fills in the rest.
Sources (9)
Every statement about another service was checked at its source. Each link shows the date we read it.
- mutagen-specs.readthedocs.io/en/latest/id3/id3v2.3.0.html read 23 September 2026
- cdn.rekordbox.com/files/20240509141437/rekordbox7.0.0_manual_EN.pdf read 23 September 2026
- community.pioneerdj.com/hc/en-us/community/posts/30772137245465-Rekordb… read 23 September 2026
- mixedinkey.com/workflows/use-mixed-in-key-with-rekordbox read 23 September 2026
- support.serato.com/hc/en-us/articles/202538540-Preparing-and-Analyzing-… read 23 September 2026
- the-drop.serato.com/how-to/using-mixed-in-key-with-serato-software read 23 September 2026
- docs.native-instruments.com/ni-tech-manuals/traktor-pro-manual/en/prefe… read 23 September 2026
- mixedinkey.com/workflows/use-mixed-in-key-with-traktor read 23 September 2026
- pioneerdj.com/en/product/dj-players-turntables/cdj-2000nxs2 read 23 September 2026