House/Tech/Minimal One-Shot and Loop Classification Dataset
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.
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())- 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
| 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% |
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.
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)
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
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}
}See CITATION.bib for full citation details.
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.
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- Dataset Card: See
DATASET_CARD.mdfor HuggingFace-style dataset card - Dataset Paper: See
docs/dataset_paper_draft.mdfor full paper draft - Dataset Statistics: See
analysis/dataset_statistics.mdfor comprehensive statistics - Baseline Results: See
analysis/baseline_results.mdfor classification results - Usage Examples: See
docs/usage_examples.ipynbfor Jupyter notebook examples
For questions or issues, please contact the dataset maintainer.
Dataset curated from professional electronic music sample packs focusing on house, tech house, and minimal techno genres. Features extracted using librosa audio analysis library.