Published May 6, 2025
| Version v2
Dataset
Restricted
RPMC_L2
Authors/Creators
Description
Dataset Overview
This is the Rock, Punk, Metal, and Core - Livehouse Lighting (RPMC-L2) Dataset.
- Purpose: Dataset for studying the relationship between music and lighting in live music performances
- Music Genres: Rock, Punk, Metal, and Core
- Total Files: 699 files of synchronized music and lighting data
- Collection Method: Collected from professional live performance venues
- Data Format: HDF5 file format (.h5)
- Total Size: ~40 GB
Dataset Data Structure
1. music (dict)
- Contains audio-related features, stored as
np.ndarrayarrays. Each feature has a shape(X, L), whereLis the sequence length.
| Feature | Shape | Description |
|---|---|---|
openl3 |
(512, L) |
OpenL3 deep audio embedding. |
mel_spectrogram |
(128, L) |
Mel spectrogram. |
mel_spectrogram_db |
(128, L) |
Mel spectrogram in decibels. |
cqt |
(84, L) |
Constant-Q transform (CQT). |
stft |
(1025, L) |
Short-time Fourier transform (STFT). |
mfcc |
(128, L) |
Mel-frequency cepstral coefficients. |
chroma_stft |
(12, L) |
Chroma features from STFT. |
chroma_cqt |
(12, L) |
Chroma features from CQT. |
chroma_cens |
(12, L) |
Chroma Energy Normalized Statistics. |
spectral_centroids |
(1, L) |
Spectral centroid. |
spectral_bandwidth |
(1, L) |
Spectral bandwidth. |
spectral_contrast |
(7, L) |
Spectral contrast. |
spectral_rolloff |
(1, L) |
Spectral rolloff frequency. |
zero_crossing_rate |
(1, L) |
Zero-crossing rate. |
2. light (dict)
- Contains lighting-related data, structured as
np.ndarrayarrays with specific ranges and shapes.
| Feature | Range | Shape | Description |
|---|---|---|---|
threshold |
0 to 240 |
(F, 3, 256) |
Frame-specific light threshold data. |
Details of threshold (per frame):
- Frame (
np.ndarray): LengthF, where each frame has a shape(3, 256):h(Hue):- Values range from
0 to 179. - Shape:
(180, padded to 256).
- Values range from
s(Saturation):- Values range from
0 to 255. - Shape:
(256,).
- Values range from
v(Value):- Values range from
0 to 255. - Shape:
(256,).
- Values range from
This structure organizes the datasets into two main categories: music features for audio characteristics and light features for lighting data, enabling efficient data processing and analysis.
Data Usage
1. Merge the Files
Use the cat command to merge the split files into a single .h5 file:
cat RPMC_L2_part_aa RPMC_L2_part_ab RPMC_L2_part_ac RPMC_L2_part_ad > RPMC_L2.h5
2. Read the Merged File
Use the following Python code to read the merged .h5 file and iterate through its contents:
import os
import h5py
root_folder = "/path/to/your/folder" # Replace with your actual folder path
with h5py.File(os.path.join(root_folder, 'RPMC_L2.h5'), 'r') as f:
for key in f.keys(): # Iterate through each file hash
print(f"\nFile {key}:")
for group_name in f[key].keys(): # Iterate through 'music' and 'light' groups
print(f"\nGroup: {group_name}")
for dataset_name in f[key][group_name].keys(): # Iterate through specific datasets
print(f"{dataset_name}: {f[key][group_name][dataset_name].shape}")
f.keys(): Retrieves the top-level keys, typically representing file hashes.f[key].keys(): Accesses the groups within each file (e.g.,musicandlight).f[key][group_name].keys(): Accesses the specific datasets within each group.