VocalBurst Classifier — single-burst

A sharper classifier specialised for clips that contain exactly one isolated vocal burst (no speech). Same taxonomy (82 classes + no_burst). Softmax (single most-likely type). Use it as the "name the burst" stage after a detector has isolated a segment.

Architecture

laion/voiceclap-commercial (768-d, frozen) → MLP 1024-wide × 3 deep → 83-way softmax. ~3M params.

Training

Trained ONLY on clean single-burst clips: Gemini-confirmed DACVAE positives (82 classes, exactly one label, no speech) + pure Emilia no_burst clips (~15.9k). Cleaner labels, no speech confusion → sharper. 50 epochs, AdamW, cross-entropy, best-mAP checkpoint.

v2 (current): retrained with 9,000 multilingual burst-free negatives (FLEURS: Chinese, Hindi, Bengali, Arabic, Persian, Urdu, Tamil, Telugu, Vietnamese, Thai, Indonesian, Japanese, Korean, Swahili, Yoruba, Zulu, Turkish, Russian) — fixes hallucinated bursts on non-European speech.

Results (held-out pure single-burst clips)

metric fine (82) coarse (16 families)
macro mAP 0.68 0.87
top-1 exact 60%
a true label in top-3 88%
On isolated bursts it names the coarse family very reliably (~0.87) and the fine subtype well.

How it works

Two stages: a frozen laion/voiceclap-commercial audio encoder turns a clip into a 768-d embedding (encode_waveform, auto-downloaded — the repo needs no extra setup), then this small trained MLP head maps it to 83 outputs = 82 VocalBurst classes + no_burst (taxonomy: LAION-AI/voice-taxonomies · vocalburst). A no-burst gate: if P(no_burst) ≥ 0.5 the clip is declared burst-free (no false alarm); otherwise the top classes are returned. Clips are truncated to the first 30 s (the encoder's window).

Usage

from inference import VocalBurstClassifier
clf = VocalBurstClassifier("laion/vocalburst-classifier-single")      # HF repo id, or a local checkout dir
print(clf.predict("clip.wav"))        # -> {no_burst, p_no_burst, top1, predictions:[(class,prob)], group}

Files

model.pt (MLP weights) · config.json (arch) · classes.json (83 labels, index order) · class_to_group.json (fine→16 coarse families) · inference.py · example.py · requirements.txt.

Interactive demos (audio + predictions)

Training data + embeddings: laion/vocalburst-classification. Embedder: laion/voiceclap-commercial. License: CC-BY-4.0.

Downloads last month
33
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support