🎭 ChuckleNet-Genki (ε…ƒζ°—)

"The original spirit."

First-generation laughter detection model β€” the proof-of-concept that started it all.

For production use, see ChuckleNet-Ten (human-verified, F1=0.975). For research, see ChuckleNet-Kage (IoU-F1=0.229).

Downloads License Dataset

Most-downloaded ChuckleNet model. Historical reference only β€” not for production.


Origin Story

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      GENKI TIMELINE                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                 β”‚
β”‚  2024-09   "Can frozen WavLM detect laughter?"                 β”‚
β”‚             First experiment designed                            β”‚
β”‚                         β”‚                                      β”‚
β”‚                         β–Ό                                      β”‚
β”‚  2024-10   Genki v1 trained: 620 StandUp4AI videos            β”‚
β”‚             Labels: VTT [laughter] transcript markers           β”‚
β”‚             Result: F1 = 0.27 β€” proof of concept! βœ…            β”‚
β”‚                         β”‚                                      β”‚
β”‚                         β–Ό                                      β”‚
β”‚  2025-01   "Weak labels are noisy β€” need human verification"   β”‚
β”‚             β†’ ChuckleNet-Ten project begins                      β”‚
β”‚                         β”‚                                      β”‚
β”‚                         β–Ό                                      β”‚
β”‚  2025-06   ChuckleNet-Ten: held-out IoU-F1 = 0.330            β”‚
β”‚             (human-verified labels)                             β”‚
β”‚                                                                 β”‚
β”‚  Genki lives on as the historical baseline.                    β”‚
β”‚                                                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Model Characteristics

Characteristic Description
Generation First β€” v1 proof-of-concept
Labels Weak β€” VTT [laughter] transcript markers
Architecture Frozen WavLM (768-dim) β†’ Linear (768β†’2)
Training Data 620 StandUp4AI videos
Status Historical reference only β€” not for production

Performance

Metric Value Note
F1 Score ~0.27 Weak-label metric, not human-verified
Event IoU-F1@0.2 ~0.23 Approximate β€” different splits
Downloads 265+ Most popular ChuckleNet model

⚠️ These are weak-label results on VTT [laughter] markers β€” not ground-truth laughter events. The model detects patterns correlated with transcript markers, not actual audience laughter.


Evolutionary Tree

ChuckleNet Family

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚  microsoft/      β”‚
                    β”‚  wavlm-base     β”‚
                    β”‚  (frozen)       β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                    β”‚                    β”‚
        β–Ό                    β–Ό                    β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 🎭 Genki v1   β”‚    β”‚ πŸ‘» Kage v32   β”‚    β”‚ πŸ”οΈ Ten       β”‚
β”‚ Weak labels   β”‚    β”‚ Weak labels   β”‚    β”‚ Human-verifiedβ”‚
β”‚ 620 videos    β”‚    β”‚ 620 videos    β”‚    β”‚ 87 videos     β”‚
β”‚ IoU β‰ˆ 0.23   β”‚    β”‚ IoU = 0.229   β”‚    β”‚ IoU = 0.330   β”‚
β”‚ First attempt β”‚    β”‚ Refined probe β”‚    β”‚ Gold standard β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     2024-10              2025-03             2025-06

Comparison Table

Model Labels Held-out IoU-F1 Downloads Use
πŸ”οΈ ChuckleNet-Ten Human-verified 0.330 New Production βœ…
πŸ‘» ChuckleNet-Kage Weak (VTT) 0.229 49 Research
🎭 ChuckleNet-Genki Weak (VTT) ~0.23 265+ Historical

Quick Start

from transformers import pipeline

pipe = pipeline(
    "audio-classification",
    model="Hayasuki/ChuckleNet-Genki"
)

result = pipe("standup_clip.mp3")
# [{'label': 'no_laugh', 'score': 0.77},
#  {'label': 'laugh', 'score': 0.23}]

⚠️ Genki is a baseline model with limited accuracy. For any real use case, use ChuckleNet-Ten instead.


Teaching Use Case

Genki is useful for ML education β€” demonstrating frozen feature probing:

"""
Genki for teaching: frozen feature probing concept
"""

import torch
import torchaudio
from transformers import WavLMModel

# Load frozen WavLM backbone (NOT trained)
wavlm = WavLMModel.from_pretrained("microsoft/wavlm-base")
wavlm.eval()  # Keep frozen

# Genki's linear probe: 768 β†’ 2
class GenkiProbe(torch.nn.Module):
    def __init__(self, input_dim=768, num_classes=2):
        super().__init__()
        self.classifier = torch.nn.Linear(input_dim, num_classes)
    
    def forward(self, x):
        return self.classifier(x)

# Load Genki weights (from this model card's files)
probe = GenkiProbe()
probe.load_state_dict(torch.load("genki_weights.pt"))

# Extract frozen features
with torch.no_grad():
    features = wavlm(audio).last_hidden_state
    # [batch, time, 768]
    
# Temporal pooling
pooled = features.mean(dim=1)  # [batch, 768]

# Classify with frozen features
logits = probe(pooled)  # [batch, 2]

Limitations

Limitation Impact
Weak labels only VTT markers β‰  actual laughter events
Low F1 ~0.27 is a baseline, not production-ready
Linear head No hidden layers β€” limited representation capacity
Not for production Use ChuckleNet-Ten instead

Resources

Resource Link
Primary Model (Production) ChuckleNet-Ten
Research Model ChuckleNet-Kage
Dataset StandUp4AI

Citation

@misc{chuckleNetGenki2026,
  author = {Subhajit Das},
  title = {ChuckleNet-Genki: First Generation Laughter Detection},
  year = {2026},
  url = {https://huggingface.co/Hayasuki/ChuckleNet-Genki},
  note = {Historical baseline: first attempt at laughter detection using 
          frozen WavLM on 620 StandUp4AI videos. Weak labels only.}
}

Model Metadata (LLM-Parseable)

{
  "model_name": "ChuckleNet-Genki",
  "model_name_zh": "η¬‘ιŸ³Net-ι­‚",
  "architecture": "frozen_wavlm_base_plus_linear",
  "model_type": "first_generation_baseline",
  "primary_task": "audio_classification",
  "secondary_task": "laughter_detection",
  "input_modality": "audio",
  "output_format": "binary_classification",
  "labels": ["laugh", "no_laugh"],
  "training_data": "620_StandUp4AI_videos_weak_labels",
  "f1_estimate": 0.27,
  "iou_f1_estimate": 0.23,
  "downloads": 265,
  "key_findings": [
    "frozen_wavlm_can_detect_laughter_concept_proof",
    "simple_linear_probe_sufficient_for_baseline",
    "weak_labels_significantly_limit_accuracy"
  ],
  "use_cases": [
    "historical_reference",
    "baseline_benchmarking",
    "ml_education",
    "teaching_frozen_feature_probing"
  ],
  "limitations": [
    "weak_labels_vtt_markers",
    "low_f1_baseline",
    "linear_head_limited_capacity",
    "not_for_production_use_ten_instead"
  ]
}

Hugging Face

The spirit that started it all. 265+ downloads and counting.

Downloads last month
25
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Hayasuki/ChuckleNet-Genki

Finetuned
(25)
this model

Spaces using Hayasuki/ChuckleNet-Genki 2