CoolFace
Datasetpublic

neerajaabhyankar/hindustani-raag-small

hindustani-raag-small 50 raags of Hindustani classical music, chunked from YouTube recordings, each chunk carrying the hand-annotated tonic (Sa) of the recording it came from. raags 50 train clips 1810 test clips 150 clip length 20-60 s source videos 412 Columns audio — an mp3 chunk, 20-60 s, cut from a full recording. label — ClassLabel over the 50 raag names. tonic_hz — the recording's Sa in Hz, annotated by ear and snapped to a peak… See the full description on the dataset page: https://huggingface.co/datasets/neerajaabhyankar/hindustani-raag-small.

sourceHugging Faceotherupdated 17d agoView on Hugging Face
3likes421downloads
Dataset Card

hindustani-raag-small

50 raags of Hindustani classical music, chunked from YouTube recordings, each chunk carrying the hand-annotated tonic (Sa) of the recording it came from.

raags50
train clips1810
test clips150
clip length20-60 s
source videos412

Columns

  • —audio — an mp3 chunk, 20-60 s, cut from a full recording.
  • —label — ClassLabel over the 50 raag names.
  • —tonic_hz — the recording's Sa in Hz, annotated by ear and snapped to a peak of the recording's own pitch histogram. This is an input feature, not a label: it describes the performance's tuning, and a model may legitimately use it at inference time. Chunks from one recording share a tonic.

The repo also keeps the raw layout at the root — <Raag>/{train,test}_[<video-id>]_chunk<n>.mp3 plus metadata.csv — for anyone who would rather stream the files than the parquet.

v1 — what changed, and what breaks

Unchanged: the 50 raag names and their label integer encoding; the <Raag>/ folder layout of the raw files; the {split}_[{video}]_chunk{n}.mp3 naming; which videos are train and which are test.

Breaking, for code that loads the dataset unpinned:

  1. 1.Splits. v0 was one flat train split with test clips distinguished only by the test_ filename prefix. v1 has real train and test splits, so ds["train"] is now train-only and every row index has moved. Anything that cached per-row artifacts keyed by index (embeddings named train_<i>.npz, for instance) will silently mis-pair them with labels. Recompute, do not reuse.
  2. 2.The audio itself is different. Chunks are 20-60 s taken at new offsets, where v0's were 0.01 x duration (~6 s for a 10-minute recording), and there are 5 train / 3 test chunks per video where v0 had 3 / 2. All cached features are invalid regardless of indexing.
  3. 3.20 videos were dropped — flagged during tonic annotation as speech, the wrong raag, or otherwise unusable — and 6 were added, to give six raags a test recording they lacked.
  4. 4.`tonic_hz` is new. Purely additive.

Nothing pinned breaks. v0 remains at its own revision; load_dataset(..., revision=...) against the old sha keeps returning v0 exactly.

License notice

This repository contains third-party sound recordings that are not licensed by the dataset curator. The CC BY-NC-SA 4.0 license applies only to the curator-created annotations, splits, organization, and documentation. See LICENSE for full terms.