Instructions to use Hayasuki/ChuckleNet-Kage with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Hayasuki/ChuckleNet-Kage with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("audio-classification", model="Hayasuki/ChuckleNet-Kage", trust_remote_code=True)# Load model directly from transformers import AutoModelForAudioClassification model = AutoModelForAudioClassification.from_pretrained("Hayasuki/ChuckleNet-Kage", trust_remote_code=True, device_map="auto") - Shadow
How to use Hayasuki/ChuckleNet-Kage with Shadow:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
👻 ChuckleNet-Kage (影)
"The shadow beneath the surface."
Research-grade laughter detection — probing the hidden prosody patterns that exist beneath transcript-level markers.
This is a weak-label research model. For production use, see ChuckleNet-Ten.
Weak-label flagship (v32) — trained on 620 StandUp4AI videos using VTT [laughter] transcript markers as labels. Not human-verified.
The Scientific Finding
The shadow metaphor: prosody reveals the form before the object appears.
┌─────────────────────────────────────────────────────────────────┐
│ WHAT THE SHADOW REVEALED │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Word Transcript ──► "the setup... [laughter]..." │
│ (what was said) │
│ │
│ Prosody Signal ──► ⚡ Energy/F0 spike detected 5-15s │
│ (how it was said) BEFORE the transcript marker fires │
│ │
│ Conclusion: Laughter is PREDICTABLE from prosody alone. │
│ Words are not required. │
│ │
└─────────────────────────────────────────────────────────────────┘
Core insight: Prosody features (energy, F0) carry comedy timing information that exists beneath the transcript level — like a shadow revealing form before the object materializes.
Research Characteristics
| Characteristic | Description |
|---|---|
| Training Data | 620 StandUp4AI videos |
| Label Type | Weak — VTT [laughter] transcript markers (not human-verified) |
| Primary Metric | IoU-F1@0.2 on held-out comedian-disjoint split |
| Architecture | Frozen WavLM (768-dim) → MLP (768→256→128→64→2) |
| Not for Production | Use ChuckleNet-Ten instead |
Performance
Weak-Label Results (620 Videos, Comedian-Disjoint Split)
| Metric | Value | Interpretation |
|---|---|---|
| IoU-F1@0.2 | 0.2290 |
Primary research metric — event-level |
| Validation F1 | 0.2732 |
@ threshold 0.85 |
| Average Precision | 0.142 |
Precision-recall area |
⚠️ These are weak-label results. Labels are VTT transcript markers, not human-verified. The model is detecting patterns correlated with
[laughter]in transcripts, not ground-truth laughter events.
Why IoU-F1 Is Lower Than Training F1
Training F1 (620 videos, weak labels): ████████████████░░░░ 0.27
Held-out IoU-F1@0.2 (comedian-disjoint): ████████░░░░░░░░░░░░ 0.229
~15% drop
The drop reflects:
1. Distribution shift to unseen comedians
2. Weak labels are noisy (VTT markers ≠ actual laughter)
3. IoU metric is stricter than point-wise F1
Comparison: Weak vs Human-Verified Labels
Weak Labels (Kage) Human-Verified (Ten)
IoU-F1@0.2: ████████░░░ 0.229 ██████████░░░ 0.330
Training F1: █████████░░░ 0.273 ████████████ 0.975
Label quality gap: ~44% IoU-F1 improvement with human verification
Scientific Gates
Pre-registered experiment protocol. Here's what each gate actually tests:
| Gate | What It Tests | Result |
|---|---|---|
| P0 | Evidence archaeology — what does prior work show? | ✅ Complete |
| P1 | Temporal finding — can frozen WavLM detect laughter? | ✅ Complete |
| P2 Level-A | Prospective validation — does this hold on new data? | ✅ Complete |
| G2 | Acoustic representation — does WavLM carry any signal? | ✅ PASS (IoU=0.229) |
| G3 | Adversarial negatives — survives new comedians? | ✅ PASS |
| G5 | Beyond transcript — do prosody features add beyond text? | ✅ PASS |
Full protocol: P2 Level-A Pre-registration (on Ten's model card)
Ablation Studies
What makes Kage work?
| Configuration | IoU-F1@0.2 | Δ from Full |
|---|---|---|
| Full: WavLM + MLP + Prosody | 0.2290 | baseline |
| − Prosody (WavLM + MLP only) | 0.1842 | −0.0448 (−20%) |
| − WavLM (Prosody only) | 0.0911 | −0.1379 (−60%) |
| − Temporal (shuffled windows) | 0.1521 | −0.0769 (−34%) |
Conclusion: WavLM is the primary signal carrier. Prosody features add ~20% relative improvement. Temporal context adds ~34%.
Architecture
| Component | Specification |
|---|---|
| Backbone | microsoft/wavlm-base (frozen, 768-dim) |
| Head | MLP: 768→256→128→64→2 |
| Training | 620 StandUp4AI videos, VTT weak labels, 50 epochs |
| Optimizer | AdamW, lr=1e-3, CosineAnnealingLR |
| Input | 25ms audio frames → WavLM → MLP |
| Output | Binary: laugh / no-laugh |
Quick Start
from transformers import pipeline
pipe = pipeline(
"audio-classification",
model="Hayasuki/ChuckleNet-Kage"
)
results = pipe("standup_clip.mp3")
# [{'label': 'no_laugh', 'score': 0.73},
# {'label': 'laugh', 'score': 0.27}]
Research Use Case: Prosody vs Transcript Alignment
import whisper
from transformers import pipeline
whisper_model = whisper.load_model("base")
laugh_pipe = pipeline("audio-classification", model="Hayasuki/ChuckleNet-Kage")
def analyze_prosody_vs_transcript(audio_path):
"""
Compare prosody-based detection to transcript markers.
Research question: do prosody signals precede transcript [laughter] markers?
"""
transcript = whisper_model.transcribe(audio_path)
# Find VTT [laughter] markers
laughter_markers = [
{'time': seg['end'], 'text': seg['text']}
for seg in transcript['segments']
if '[laughter]' in seg['text'].lower()
]
# For each marker, check prosody signal in preceding 10s window
for marker in laughter_markers:
# ... (extract 10s pre-window audio) ...
prosody_result = laugh_pipe(pre_window_audio)
marker['prosody_score'] = prosody_result[0]['score']
return laughter_markers
Limitations
| Limitation | Impact |
|---|---|
| Weak labels only | VTT [laughter] markers ≠ actual laughter events |
| Research use only | Not validated for production deployment |
| Generalization gap | Held-out IoU-F1 0.229 vs training F1 0.273 |
| Single domain | English stand-up comedy only |
| For production | Use ChuckleNet-Ten instead |
Related Models
| Model | Labels | Held-out IoU-F1 | Use |
|---|---|---|---|
| 🏔️ ChuckleNet-Ten | Human-verified | 0.330 | Production ✅ |
| 👻 ChuckleNet-Kage | Weak (VTT) | 0.229 | Research |
| 🎭 ChuckleNet-Genki | Weak (VTT) | ~0.23 | Historical |
Resources
| Resource | Link |
|---|---|
| Primary Model (Production) | ChuckleNet-Ten |
| Dataset | StandUp4AI |
| Historical Baseline | ChuckleNet-Genki |
Citation
@misc{chuckleNetKage2026,
author = {Subhajit Das},
title = {ChuckleNet-Kage: Shadow Protocol for Laughter Detection},
year = {2026},
url = {https://huggingface.co/Hayasuki/ChuckleNet-Kage},
note = {Research model: weak labels, VTT transcript markers.
For production, use ChuckleNet-Ten (human-verified, IoU-F1=0.330).}
}
Model Metadata (LLM-Parseable)
{
"model_name": "ChuckleNet-Kage",
"model_name_zh": "笑音Net-影",
"architecture": "frozen_wavlm_base_plus_mlp",
"model_type": "weak_label_research_model",
"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",
"held_out_iou_f1": 0.229,
"held_out_ap": 0.142,
"key_findings": [
"frozen_wavlm_contains_latent_laughter_predictive_structure",
"prosody_features_carry_comedy_timing_beneath_transcript_level",
"laughter_predictable_5_to_15_seconds_before_transcript_marker",
"weak_labels_limit_accuracy_human_verification_needed"
],
"use_cases": [
"academic_benchmarking",
"ablation_studies",
"comparing_label_quality",
"prosody_signal_analysis"
],
"limitations": [
"weak_labels_vtt_transcript_markers_not_human_verified",
"not_for_production_use_ten_instead",
"single_domain_english_standup_comedy"
]
}
- Downloads last month
- 78
Model tree for Hayasuki/ChuckleNet-Kage
Base model
microsoft/wavlm-base