YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
ChuckleNet β Chunk-Level Laughter Detector
Headline
ChuckleNet is a chunk-level binary laughter detector that classifies 5-second audio segments from comedic video content using WavLM audio embeddings fused with prosodic features.
Model Description
ChuckleNet combines a 768-dimensional WavLM embedding with 23-dimensional prosodic features (F0, energy, ZCR, spectral characteristics) into a 791-dimensional input vector, processed through a fully-connected classifier. Trained with class-weighted BCE loss on the StandUp4AI EMNLP subset of 221 comedic videos, achieving CV F1 = 0.879 on held-out video groups.
Intended Use
Primary:
- Detecting laughter events in stand-up comedy and similar comedic video content
- Indexing comedic video archives for laughter-rich segments
- Laughter density analysis across video corpora
- Highlight reel generation from high-laugh segments
Out-of-scope:
- Word-level or turn-level laughter timing (Β±2.5s precision only)
- Non-comedic content with different acoustic profiles
- Real-time streaming (validated on fixed 5-second chunks)
Training Data
Dataset: StandUp4AI EMNLP Subset β 221 comedic videos Audio: 5-second non-overlapping chunks Labels: Binary (laughter / no-laugh) per chunk Class distribution: ~30% positive, ~70% negative Features per chunk:
- WavLM-base embedding (768d): frame-level features averaged across chunk
- Prosodic features (23d): F0, RMS, ZCR, spectral centroid/bandwidth
Evaluation Results
Cross-validation: 5-fold GroupKFold grouped by video ID
| Fold | Precision | Recall | F1 |
|---|---|---|---|
| 1 | 0.861 | 0.897 | 0.878 |
| 2 | 0.882 | 0.874 | 0.877 |
| 3 | 0.847 | 0.931 | 0.887 |
| 4 | 0.903 | 0.835 | 0.867 |
| 5 | 0.899 | 0.868 | 0.883 |
| Mean | 0.878 | 0.881 | 0.879 |
| Std | β | β | 0.022 |
Limitations
- Chunk-level precision: Β±2.5s localization β word-level timing unavailable
- Domain bias: English stand-up comedy only; other genres/languages untested
- False positives: May fire on coughs, sighs, audience murmurs
- Short laughs: Brief (<1s) or soft laughs may be missed
Architecture
Input(791)
β Linear(791 β 512) + BatchNorm + ReLU + Dropout(0.3)
β Linear(512 β 256) + BatchNorm + ReLU + Dropout(0.3)
β Linear(256 β 64) + BatchNorm + ReLU + Dropout(0.3)
β Linear(64 β 1) β raw logit
Training: BCEWithLogitsLoss(pos_weight=2.33), Adam(lr=1e-3), early stopping.
How to Use
import torch
from transformers import AutoModel
model = AutoModel.from_pretrained("subhajitdas/chucklenet")
# Extract 791-dim features per 5s chunk β model β laughter probability
Citation
@article{chucklenet,
title={ChuckleNet: Chunk-Level Laughter Detection on Stand-Up Comedy Video},
author={Das, Subhajit},
year={2026}
}
- Downloads last month
- -