Team Ai
Datasetpublic

NaturNestAI/electronic-music-knowledge

Electronic Music Knowledge The largest open electronic music metadata dataset. 18.3M tracks, 1.4M artists, 353K labels, 832 genres with evolution graph. Built for DJ Treta — an autonomous AI DJ — but useful for any music AI research. Dataset Summary Config Rows Description tracks 18,315,675 Electronic music tracks with title, artist, genre/style, label, year, country artists 1,424,582 Artists with primary genres, labels, country, active years, track… See the full description on the dataset page: https://huggingface.co/datasets/NaturNestAI/electronic-music-knowledge.

sourceHugging Facecc0-1.0updated 5mo agoView on Hugging Face
0likes128downloads
Dataset Card

Electronic Music Knowledge

The largest open electronic music metadata dataset. 18.3M tracks, 1.4M artists, 353K labels, 832 genres with evolution graph.

Built for DJ Treta — an autonomous AI DJ — but useful for any music AI research.

Dataset Summary

ConfigRowsDescription
tracks18,315,675Electronic music tracks with title, artist, genre/style, label, year, country
artists1,424,582Artists with primary genres, labels, country, active years, track count
labels352,984Record labels with genres, country, founding year
genres832Electronic genre taxonomy from Ishkur's Guide + Discogs (166 with BPM ranges)
genre_graph352Genre evolution relationships with time ranges

Quick Start

python
from datasets import load_dataset

# Load tracks (default config)
tracks = load_dataset("NaturNestAI/electronic-music-knowledge", "tracks", split="train")

# Load other configs
artists = load_dataset("NaturNestAI/electronic-music-knowledge", "artists", split="train")
genres = load_dataset("NaturNestAI/electronic-music-knowledge", "genres", split="train")
labels = load_dataset("NaturNestAI/electronic-music-knowledge", "labels", split="train")
graph = load_dataset("NaturNestAI/electronic-music-knowledge", "genre_graph", split="train")

Examples

Find melodic techno tracks

python
tracks = load_dataset("NaturNestAI/electronic-music-knowledge", "tracks", split="train")
melodic = tracks.filter(lambda x: x["subgenre"] == "Melodic House & Techno")
print(f"{len(melodic)} melodic techno tracks")

Find artists on a label

python
artists = load_dataset("NaturNestAI/electronic-music-knowledge", "artists", split="train")
drumcode = artists.filter(lambda x: x["labels"] and "Drumcode" in str(x["labels"]))

Genre evolution graph

python
graph = load_dataset("NaturNestAI/electronic-music-knowledge", "genre_graph", split="train")
# What influenced a genre?
influences = graph.filter(lambda x: x["target_genre"] == "melodictechno")

Schema

tracks

ColumnTypeDescription
idstringUnique track identifier
titlestringTrack/release title
artist_namestringArtist name
discogs_artist_idstringDiscogs artist ID
discogs_release_idstringDiscogs release ID
subgenrestringPrimary Discogs style (e.g., "Melodic House & Techno")
styles_jsonstringJSON array of all Discogs styles
labelstringRecord label name
countrystringRelease country
yearintRelease year
search_querystringPre-computed "Artist - Title" for YouTube/music search
sourcestringData source ("discogs" or "ishkur")

artists

ColumnTypeDescription
idstring"discogs:{artist_id}"
namestringArtist name
primary_genresstringPrimary genre/style
labelsstringKnown label
countrystringCountry of origin
active_sinceintYear of earliest release
track_countintNumber of tracks in dataset

genres (Ishkur subset has BPM ranges)

ColumnTypeDescription
idstringGenre slug
namestringGenre name
scenestringIshkur scene grouping (House, Techno, Trance, etc.)
bpm_low / bpm_highintTypical BPM range
energy_typicalintTypical energy level (1-10)
aliasesstringAlternative genre names

labels

ColumnTypeDescription
idstring"discogs:{label_id}"
namestringLabel name
primary_genresstringPrimary genre
countrystringCountry
founded_yearintYear of earliest release

genre_graph

ColumnTypeDescription
source_genrestringGenre that influenced
target_genrestringGenre that was influenced
start_year / end_yearintTime range of influence

Data Sources

SourceLicenseContribution
Discogs Data Dump (April 2026)CC0 1.04.9M electronic releases, 1.4M artists, 353K labels, 666 styles
Ishkur's Guide to Electronic Music v3Open166 genre taxonomy with BPM ranges, 11K tracks, evolution graph

Planned Enrichment (v2)

  • —BPM and musical key from AcousticBrainz (29.5M tracks, CC0)
  • —Artist similarity graph
  • —MusicBrainz cross-reference IDs
  • —DJ set transition data

Pipeline

Built with VeltriaAI/music-intelligence — extensible source adapter architecture. Add new data sources by dropping a Python file.

Citation

bibtex
@dataset{electronic_music_knowledge_2026,
  title={Electronic Music Knowledge},
  author={NaturNest AI},
  year={2026},
  url={https://huggingface.co/datasets/NaturNestAI/electronic-music-knowledge},
  license={CC0-1.0}
}

License

CC0 1.0 Universal — No Rights Reserved.