--- title: ChuckleNet-Genki β€” The Original Spirit emoji: 🎭 colorFrom: blue colorTo: purple sdk: gradio pipeline_tag: audio-classification license: mit library_name: transformers base_model: microsoft/wavlm-base tags: - audio-classification - laughter-detection - wavlm - speech - humor - stand-up-comedy - transformers - genki metrics: - f1 datasets: - StandUp4AI papers: - https://huggingface.co/Hayasuki/ChuckleNet-Genki ---
# 🎭 ChuckleNet-Genki (ε…ƒζ°—) ***"The original spirit."*** **First-generation laughter detection model β€” the proof-of-concept that started it all.** **For production use, see [ChuckleNet-Ten](https://huggingface.co/Hayasuki/ChuckleNet-Ten) (human-verified, F1=0.975). For research, see [ChuckleNet-Kage](https://huggingface.co/Hayasuki/ChuckleNet-Kage) (IoU-F1=0.229).** [![Downloads](https://img.shields.io/badge/Downloads-265+-brightgreen?style=flat-square)](https://huggingface.co/Hayasuki/ChuckleNet-Genki) [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](https://opensource.org/licenses/MIT) [![Dataset](https://img.shields.io/badge/Dataset-StandUp4AI%20620v-purple?style=flat-square)](https://github.com/Standup4AI/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](https://huggingface.co/Hayasuki/ChuckleNet-Ten)** | Human-verified | **0.330** | New | **Production βœ…** | | πŸ‘» **[ChuckleNet-Kage](https://huggingface.co/Hayasuki/ChuckleNet-Kage)** | Weak (VTT) | 0.229 | 49 | Research | | 🎭 **ChuckleNet-Genki** | Weak (VTT) | ~0.23 | **265+** | Historical | --- ## Quick Start ```python 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](https://huggingface.co/Hayasuki/ChuckleNet-Ten) instead. --- ## Teaching Use Case Genki is useful for **ML education** β€” demonstrating frozen feature probing: ```python """ 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](https://huggingface.co/Hayasuki/ChuckleNet-Ten) instead | --- ## Resources | Resource | Link | |----------|------| | **Primary Model (Production)** | [ChuckleNet-Ten](https://huggingface.co/Hayasuki/ChuckleNet-Ten) | | **Research Model** | [ChuckleNet-Kage](https://huggingface.co/Hayasuki/ChuckleNet-Kage) | | **Dataset** | [StandUp4AI](https://github.com/Standup4AI/dataset) | --- ## Citation ```bibtex @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) ```json { "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](https://img.shields.io/badge/πŸ€—-Hugging%20Face-FFD21E?style=for-the-badge&logo=huggingface)](https://huggingface.co/Hayasuki/ChuckleNet-Genki) *The spirit that started it all. 265+ downloads and counting.*