"""SelVA Audio Dataset Pipeline — chainable in-memory preprocessing nodes. Typical chain: SelvaDatasetLoader ↓ AUDIO_DATASET SelvaDatasetResampler (optional) ↓ AUDIO_DATASET SelvaDatasetLUFSNormalizer (optional) ↓ AUDIO_DATASET SelvaDatasetInspector (optional) ↓ AUDIO_DATASET + STRING report SelvaDatasetItemExtractor → AUDIO (bridges to save/preview nodes) """ from pathlib import Path import numpy as np import torch import torchaudio from .utils import SELVA_CATEGORY # ComfyUI custom type name — passed between all dataset pipeline nodes AUDIO_DATASET = "AUDIO_DATASET" _AUDIO_EXTS = {".wav", ".flac", ".mp3", ".ogg", ".aac", ".m4a"}