alt.freeweights.speech / vocalburst-captioning-whisper
From: laion <huggingface.co/laion>Newsgroups: alt.freeweights.speechSubject:

vocalburst-captioning-whisper

Date: 2026-11-14Commit: 08543eeSigned: 2DC28CC7B26A283B ✓

Audio classification model with 242M parameters. Safetensors weights, 1.01 GB in all. Published by laion under CC-BY-4.0.

242M params1.01GBvocalburst-captioning-whispersafetensorspermissive
FactsParams242MSize1.01 GBFormatssafetensorsTaskaudio classificationLicenseCC-BY-4.0From sourcepermissive
$ fw get laion/vocalburst-captioning-whisper
# manifest sha256 77956d8bcec7… · 1.01 GB · 15 files
$ fw verify ./vocalburst-captioning-whisper laion/vocalburst-captioning-whisper
From sourceHosted (signed)laion/vocalburst-captioning-whisperLast check: 2026-11-14 21:34 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of sound-effect-captioning-whisper.

Works with

Overview

Size
1.01 GB
Weights
967 MB (safetensors)
Parameters
242M
Formats
safetensors
Task
audio classification
License
CC-BY-4.0 (permissive)
Files
15, each with a sha256
Publisher
laion
Added
2026-11-14
Section
alt.freeweights.speech
Lineage

Original release from the publisher.

Base model: laion/sound-effect-captioning-whisper

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:34 UTCpassed

Model card

From the publisher at commit 08543ee. Shown as plain text with links; images open at the publisher.

vocalburst-captioning-whisper#

A fine-tune of laion/sound-effect-captioning-whisper (Whisper-small encoder–decoder) specialised for captioning vocal bursts — laughs, sighs, screams, coughs, crying, panting, throat-clearing, etc. Given a short audio clip it generates a free-text description of the non-speech vocalisation.

🔗 Ensemble: use together with the detector laion/vocalburst-locator — that model finds where the vocal bursts are (timestamps); this model captions each detected segment. See the threshold study below.

Training#

  • Data: laion/improved_synthetic_vocal_burts (15,480 train / 200 val). Target = the Flash 2.5 Annotation.caption field (the long descriptive caption).
  • Recipe (best of a 5-epoch × 2-LR sweep): peak LR 1e-5, 3 epochs, cosine decay with 10 % warmup, bf16, batch 8, AdamW. Labels masked with -100; forced_decoder_ids = None.
  • Selection: every ~2000 seen samples the model captioned the 200 val clips and was scored by cosine( caption, audio ) using laion/voiceclap-small-v2; the best checkpoint by this clap_sim was kept.
Results (val clap_sim — higher = caption matches audio better)#
clap_sim
untuned base (sound-effect-captioning-whisper)0.190
this model (lr 1e-5, 3 epochs)0.2506

Full sweep (all beat the 0.190 baseline; lr 1e-5 dominates, 3 epochs is the peak):

runclap_simrunclap_sim
lr1e-5 · ep30.2506lr5e-5 · ep10.2431
lr1e-5 · ep40.2492lr5e-5 · ep40.2427
lr1e-5 · ep50.2471lr5e-5 · ep50.2425
lr1e-5 · ep20.2460lr5e-5 · ep30.2413
lr1e-5 · ep10.2450lr5e-5 · ep20.2413

Example predictions on 100 val clips (audio + greedy & temperature-0.5 captions) are in vb_finetune_predictions.html. Mean clap_sim over those 100: greedy 0.248, temperature-0.5 0.236.

Vocal-burst captioning ensemble & detection-threshold study#

This detector is designed to be used as an ensemble with the fine-tuned captioner laion/vocalburst-locator: the locator finds where vocal bursts occur (start/end timestamps); each detected segment is then cut and described by the captioner (this locator). Together they turn raw audio into timestamped, captioned vocal-burst events that feed the LAION Universal Audio Annotation Pipeline.

How the study was run#

We swept the detector's confidence threshold from 0.85 to 0.92 (1% steps) on 150 audio samples (clean-speech false-positive checks + clips with inserted bursts + isolated bursts), with merge_gap = 0.3 s, min_dur = 0.5 s. For every (sample × threshold) the detector's segments were captioned by laion/vocalburst-captioning-whisper and the audio + (start, end, caption) list was sent to Gemini 3.1 Pro, which rated three axes 0–5 (5 = perfect): caption quality, timestamp accuracy, and completeness (do the detections cover ALL real vocal bursts, penalizing both misses and false positives). That is 1,200 independent LLM judgments; overall = mean of the three axes.

Results — average Gemini-3.1-Pro scores per threshold (ranked)#
rankthresholdoverallcompletenesscaption qualitytimestamp accuracy
🥇0.883.4753.113.244.07
🥈0.893.4693.153.184.08
🥉0.853.4663.113.224.07
40.903.4453.103.244.00
50.863.4113.053.144.04
60.873.3903.073.104.00
70.913.3643.053.143.91
80.923.3633.023.153.92

Findings: scores are tightly clustered across 0.85–0.92 (the detections change little in that band); threshold ≈ 0.88 is the sweet spot (best overall). Timestamp accuracy is consistently strong (~4.0), caption quality is moderate (~3.2), and completeness is the weakest axis (~3.0–3.15) — it degrades at the highest thresholds (0.91–0.92) as real bursts start being missed. Recommended operating point for the ensemble: threshold 0.85–0.89 (default 0.88).

📊 Full interactive report (stats table + audio players + predictions + per-clip Gemini scores for the top-3 thresholds): vocalburst_threshold_report.html.

Usage#

import torch, librosa
from transformers import WhisperProcessor, WhisperForConditionalGeneration

proc = WhisperProcessor.from_pretrained("openai/whisper-small")
model = WhisperForConditionalGeneration.from_pretrained("laion/vocalburst-captioning-whisper").eval().cuda()
model.generation_config.forced_decoder_ids = None

wav = librosa.load("burst.wav", sr=16000, mono=True)[0]
feat = proc.feature_extractor(wav, sampling_rate=16000, return_tensors="pt").input_features.cuda()
ids = model.generate(feat, max_new_tokens=256)   # greedy; add do_sample=True, temperature=0.5 to sample
print(proc.batch_decode(ids, skip_special_tokens=True)[0])

Files

15 files · 1.01 GBWeights 967 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 15 files with their sha256
FileSizesha256
.gitattributes1.65 KBd58ed4905b0a062585ce850b9df1d14bd9a49ddbc165909c2567c3c1f66c8d5c
README.md5.88 KB3a22812d4a313dfb9d6dc2f485557aee0b2dd6bd7003adbe3a94fbc645d58a20
added_tokens.json34.6 KB9715fd2243b6f06a5858b5e32950d2853f73dd5bc201aafcf76f5082a2d8acd1
config.json1.25 KB867e41917ab38b2e3cb98fdddfe3bb1311ea5b11fab6faf36b9de6878634e574
generation_config.json3.77 KB5571636c40885b8e982a9568345f0a293bc94d878c872b39bf03c9c4ec33cebc
merges.txt494 KB2df2990a395e35e8dfbc7511e08c12d56018d8d04691e0133e5d63b21e154dc6
model.safetensors967 MB418bb45668bc383dddaa9ae7af4e1c4f6693abbd9246dc34a80f939397cf2961
normalizer.json52.7 KBbf1c507dc8724ca9cf9903640dacfb69dae2f00edee4f21ceba106a7392f26dd
preprocessor_config.json356 B994838f1fa6462c8b9b3c90edada831f11f3dd8b4664634e18f4694d005c9dbf
special_tokens_map.json2.19 KBe67ae3a0aaa99abcd9f187138e12db1f65c16a14761c50ef10eef2c174a7a691
tokenizer.json3.93 MB7b469ff15eb7816315aa45eec391f5943d639b9d73d110f5c003df5192fd54e3
tokenizer_config.json283 KB21a4fc0483c14b87f4e0bbc177a9a357479bfa7c95aaf21ad53d71e9c5afafb9
vb_finetune_predictions.html11.2 MB2b38304d0c8a88dffd02a5fbe9165c170462d1b4e7aaa7b7b91fbd56824ad4a5
vocab.json836 KB8f680bba319e01a653d2e8a5dbc17a9157179e0576e6ce74ce0c06356c6e24f9
vocalburst_threshold_report.html24.3 MBf4a33469d695bfa97b5813a40dc7d1c175a98b0c5f1c720e83630d12b39009ac
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
08543ee92a pinned now manifest updated, same commit2026-11-14 21:34 UTC15 files · 1.01 GB
08543ee92a2026-11-14 21:34 UTC15 files · 1.01 GB

Use it

$ fw get laion/vocalburst-captioning-whisper
# manifest sha256 77956d8bcec7… · 1.01 GB · 15 files
$ fw verify ./vocalburst-captioning-whisper laion/vocalburst-captioning-whisper
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/laion/vocalburst-captioning-whisper.json --dir ./vocalburst-captioning-whisper $ python3 fw.py verify ./vocalburst-captioning-whisper ./laion__vocalburst-captioning-whisper.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download laion/vocalburst-captioning-whisper --revision 08543ee92a3c14a3ec51e676aebba505cc48acd0 --local-dir ./vocalburst-captioning-whisper

License

Name
Creative Commons Attribution 4.0
Id
CC-BY-4.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
3a22812d4a313dfb9d6dc2f485557aee0b2dd6bd7003adbe3a94fbc645d58a20
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: laion <huggingface.co/laion>Newsgroups: alt.freeweights.speechSubject: vocalburst-captioning-whisperDate: 2026-11-14Commit: 08543eeSigned: 2DC28CC7B26A283B ✓
Upstream
laion/vocalburst-captioning-whisper
Pinned commit
08543ee92a3c14a3ec51e676aebba505cc48acd0
Manifest
vocalburst-captioning-whisper.json · .minisig
Manifest sha256
77956d8bcec795144ba93b40db5bf1e9deb410fcdde190568351c3d4f5d57d2e
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:34 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/laion/vocalburst-captioning-whisper.json $ curl -O https://freeweights.allternit.com/manifests/laion/vocalburst-captioning-whisper.json.minisig $ minisign -Vm vocalburst-captioning-whisper.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

laion/sound-effect-captioning-whisper · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download laion/vocalburst-captioning-whisper
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. vocalburst-captioning-whisper.json. Provenance. Takedown history: none.
From: MIT <huggingface.co/MIT>Subject: ast-finetuned-audioset-10-10-0.4593
From: onnx-community <huggingface.co/onnx-community>Subject: ast-finetuned-audioset-10-10-0.4593-ONNX
From: Edge0 <huggingface.co/Edge0>Subject: Audio8-TTS-Preview-0.6b
From: Edge0 <huggingface.co/Edge0>Subject: Audio8-TTS-Realistic-Air
From: facebook <huggingface.co/facebook>Subject: audiobox-aesthetics
From: mlx-community <huggingface.co/mlx-community>Subject: chatterbox-4bit