Raw Audio to Mel Spectrogram for Audio Classification using CNN Models
收藏Zenodo2026-03-20 更新2026-05-26 收录
下载链接:
https://zenodo.org/doi/10.5281/zenodo.17652465
下载链接
链接失效反馈官方服务:
资源简介:
Mel-Spectrogram Image Dataset (Generated via Custom Pipeline)
This dataset was fully generated through my notebookBuilding an Audio Classification Pipeline with DLIt represents a complete end-to-end transformation from raw audio to clean, balanced Mel-spectrogram images suitable for deep learning.
---
Dataset Summary
Property
Description
Number of Classes
13 distinct audio categories
Original Audio per Class
40 raw recordings
Average Duration
5 seconds per audio file
Final Images per Class
125 Mel-spectrogram images
Final Dataset Size
13 × 125 = 1625 images
Sampling Rate
Standardized to 16 kHz
Audio Length
Uniform 5-second fixed length
Spectrogram Type
128-Mel frequency bins, melspectrogram → dB
---
High-Level Processing Pipeline
The dataset was built using a **fully custom preprocessing, cleaning, and augmentation pipeline**, implemented step-by-step in the notebook.
1. Data Ingestion
* Loaded all raw audio files from 13 folders* Parsed metadata (sample rate, duration, amplitude, SNR, etc.)
2. Cleaning & Standardization
* Removed corrupt, silent, or unreadable audio files* Normalized peak amplitudes* Trimmed silence using `librosa.effects.trim`* Performed noise reduction (`noisereduce`)* Converted all audio to mono* Resampled to 16,000 Hz* Ensured each sample is exactly 5 seconds
3. Dataset Balancing
* Used augmentation for minority classes* Used controlled undersampling or oversampling where necessary* Verified all classes contain equal counts
4. Audio Augmentation (Used for Balancing & Variability)
Augmentations built with audiomentations
* Time shift* Pitch shift* Time stretching* Gaussian noise injection* Random perturbations for robustness
5. Splitting & Chunking
* Long samples were split into 5-second chunks* Shorter samples padded to match target duration* Ensured strict uniformity before feature extraction
6. Mel-Spectrogram Generation
Converted all cleaned audio files into Mel-spectrogram images using:
n_fft = 1024
hop_length = 512
n_mels = 128
Converted to decibel scale (power_to_db)
* Saved images in RGBA format to preserve color-mapped spectral information
To check for images channels:
for file_path in df['full_path']:
with Image.open(file_path) as img:
width, height = img.size
mode = img.mode # e.g., 'RGB', 'L', 'RGBA', etc.
channels = len(img.getbands()) # Number of channels
image_data.append((width, height, mode, channels))
You can check for all my source code and notebooks on my GitHub profile, additional to my profile links such as Medium for notebooks explanations.
---
Final Technical Description
“The final dataset consists of 13 audio classes, each expanded to exactly 125 Mel-spectrogram images through a rigorous pipeline of cleaning, normalization, augmentation, noise reduction, resampling, duration standardization, and feature extraction. All processing steps were implemented in my notebook Building an Audio Classification Pipeline with DL, where raw 5-second audio recordings were transformed into high-quality Mel-spectrogram images suitable for deep learning models.”
提供机构:
Zenodo创建时间:
2025-11-19



