Skip to content

A curated dataset of 5,561 electronic music samples (one-shots and loops) from house, tech house, and minimal techno genres, labeled for classification into 8 stem categories.

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.txt
Notifications You must be signed in to change notification settings

itsuzef/HTMOneShotLoopClassification

Repository files navigation

HTMOneShotLoopClassification

House/Tech/Minimal One-Shot and Loop Classification Dataset

DOI

A curated dataset of 5,561 electronic music samples (one-shots and loops) from house, tech house, and minimal techno genres, labeled for classification into 8 stem categories.

Quick Start

import pandas as pd

# Load the dataset
df = pd.read_csv('data/HTMOneShotLoopClassification_sample.csv')

# View basic statistics
print(df['stem'].value_counts())
print(df.describe())

Dataset Overview

  • Total Samples: 5,561
  • Categories: 8 stem types (kick, snare, hihat, bass, synth, vocal, percussion, fx)
  • Sample Types: One-shots (2,763) and loops (2,798)
  • Features: 55 audio features per sample
  • Genre Focus: House, Tech House, Minimal Techno
  • Sample Rate: 44,100 Hz
  • Format: WAV files with extracted features in CSV

Dataset Statistics

Category Total Loops One-shots Key Coverage
Hihat 907 211 696 0.1%

Note: Hihat is the most represented category (907 samples) because it includes multiple cymbal types: closed hihats, open hihats, ride cymbals, and crash cymbals. | Snare | 763 | 174 | 589 | 0% | | Bass | 653 | 534 | 119 | 100% | | Synth | 652 | 379 | 273 | 100% |

Key Coverage: Bass and synth samples have 100% key coverage because they contain harmonic/melodic content. Key information enables harmonic mixing and prevents dissonance when layering samples. | Kick | 675 | 261 | 414 | 6% | | Percussion | 711 | 210 | 501 | 0.1% | | Vocal | 639 | 583 | 56 | 45.1% |

Vocal Key Coverage: 45.1% of vocal samples have key information. Samples without keys are primarily spoken word, vocal chops, and non-melodic elements. Melodic vocals (hooks, sung phrases) have key information. | FX | 561 | 546 | 15 | 0% |

Features

The dataset includes 55 extracted audio features per sample:

  • Temporal Features: RMS, zero crossing rate, duration
  • Spectral Features: Spectral centroid, rolloff, bandwidth, contrast (7 bands)
  • Harmonic Features: Pitch mean, harmonic ratio, percussive ratio
  • Frequency Bands: Sub-bass, bass, low-mid, high-mid, high (normalized energy)
  • MFCC Features: 13 mean and 13 standard deviation coefficients
  • Rhythm Features: Tempo, onset count

See data/metadata_schema.json for complete feature descriptions.

Baseline Performance

Using Support Vector Machine (SVM) with RBF kernel:

  • Test Accuracy: 85.41%
  • Test F1-Score: 85.08%
  • Cross-Validation Score: 83.17% ± 1.19%

Per-class F1-scores:

  • Hihat: 96.09%
  • Snare: 89.74%
  • Kick: 89.21%
  • Bass: 90.37%
  • Synth: 80.99%
  • Percussion: 68.97%
  • FX: 47.06% (improved balance - 561 samples total)
  • Vocal: (see full results)

Dataset Structure

HTMOneShotLoopClassification/
├── data/
│   ├── HTMOneShotLoopClassification_sample.csv  # Sample dataset (100 rows)
│   ├── metadata_schema.json                     # Feature descriptions
│   └── class_distribution.json                  # Category statistics
├── scripts/
│   ├── load_dataset.py                          # Example loading script
│   └── feature_extraction_info.md               # Feature extraction details
├── analysis/
│   ├── baseline_results.md                      # Classification results
│   └── dataset_statistics.md                    # Detailed statistics
└── docs/
    ├── dataset_paper_draft.md                   # Full dataset paper
    └── usage_examples.ipynb                     # Jupyter notebook

Citation

If you use this dataset, please cite:

@dataset{hemimy2025htmoneshotloop,
  title={HTMOneShotLoopClassification: A Dataset of House, Tech House, and Minimal Techno Samples for Stem Category Classification},
  author={Hemimy, Youssef},
  year={2025},
  publisher={Zenodo},
  doi={10.5281/zenodo.17872191}
}

DOI: 10.5281/zenodo.17872191

See CITATION.bib for full citation details.

License

This dataset is released under CC-BY-4.0 (Creative Commons Attribution 4.0 International).

Important Licensing Notice: The CC-BY-4.0 license applies to the CSV dataset (extracted features and metadata), documentation, and scripts. The original audio files are NOT included and are NOT covered by this license. See LICENSING.md for detailed licensing information.

Visualizations

Publication-ready distribution visualizations (300 DPI) are available in analysis/figures/:

  • Sample type pie chart (loops vs one-shots)
  • Category distribution charts (horizontal and vertical)
  • Sample type breakdown by category (stacked bars)
  • Class balance analysis (two-panel figure)
  • Key coverage statistics by category

All figures are standalone and suitable for inclusion in academic papers.

To regenerate visualizations:

python3 scripts/visualize_distribution.py

Documentation

  • Dataset Card: See DATASET_CARD.md for HuggingFace-style dataset card
  • Dataset Paper: See docs/dataset_paper_draft.md for full paper draft
  • Dataset Statistics: See analysis/dataset_statistics.md for comprehensive statistics
  • Baseline Results: See analysis/baseline_results.md for classification results
  • Usage Examples: See docs/usage_examples.ipynb for Jupyter notebook examples

Contact

For questions or issues, please contact the dataset maintainer.

Acknowledgments

Dataset curated from professional electronic music sample packs focusing on house, tech house, and minimal techno genres. Features extracted using librosa audio analysis library.

About

A curated dataset of 5,561 electronic music samples (one-shots and loops) from house, tech house, and minimal techno genres, labeled for classification into 8 stem categories.

Resources

License

Unknown, Unknown licenses found

Licenses found

Unknown
LICENSE
Unknown
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published

Languages