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

voice-tagging-whisper

Date: 2026-11-14Commit: dc223ddSigned: 2DC28CC7B26A283B ✓

Automatic speech recognition model with 242M parameters. Safetensors weights, 2.89 GB in all. Published by laion under Apache-2.0.

242M params2.89GBvoice-tagging-whispersafetensorspermissive
FactsParams242MSize2.89 GBFormatssafetensorsTaskautomatic speech recognitionLicenseApache-2.0From sourcepermissive
$ fw get laion/voice-tagging-whisper
# manifest sha256 2d9558caecf4… · 2.89 GB · 18 files
$ fw verify ./voice-tagging-whisper laion/voice-tagging-whisper
From sourceHosted (signed)laion/voice-tagging-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 BUD-E-Whisper.

Works with

Overview

Size
2.89 GB
Weights
967 MB (safetensors)
Parameters
242M
Formats
safetensors
Task
automatic speech recognition
License
Apache-2.0 (permissive)
Files
18, each with a sha256
Publisher
laion
Added
2026-11-14
Section
alt.freeweights.speech
Lineage

Original release from the publisher.

Base model: laion/BUD-E-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 dc223dd. Shown as plain text with links; images open at the publisher.

Voice-Tagging Whisper#

A fine-tuned OpenAI Whisper Small model that generates structured voice attribute tags from speech audio. Instead of transcribing words, this model describes how the voice sounds — its quality, style, loudness, articulation, intonation, and emotional delivery.

Built on top of BUD-E-Whisper (V1.0) and trained for 20 epochs on voice-annotated speech data.

Quick Start#

from transformers import WhisperForConditionalGeneration, WhisperProcessor
import torch

# Load model and processor
model = WhisperForConditionalGeneration.from_pretrained(
    "laion/voice-tagging-whisper", torch_dtype=torch.float16
).to("cuda").eval()
processor = WhisperProcessor.from_pretrained("openai/whisper-small")

# Load and process audio (16kHz mono, padded to 30s)
import librosa
waveform, sr = librosa.load("speech.wav", sr=16000, mono=True)

inputs = processor(waveform, sampling_rate=16000, return_tensors="pt")
mel = inputs.input_features.to("cuda", dtype=torch.float16)

with torch.no_grad():
    generated = model.generate(mel, max_new_tokens=256)

tags = processor.batch_decode(generated, skip_special_tokens=True)[0]
print(tags)

Note: This model does not ship its own processor/tokenizer config. Use openai/whisper-small as the processor, which is architecture-compatible.

Output Format#

The model outputs a comma-separated sequence of ~8–10 voice attribute tags describing multiple dimensions of the voice simultaneously. There is no free-form caption — the entire output consists of structured tags.

Tag Structure#

Based on analysis of 570 diverse audio samples spanning 57 voice taxonomy dimensions, the tags follow a consistent positional order covering these voice dimensions:

PositionDimensionExample ValuesPositional Reliability
1Content safetySuitable for Work, Not Suitable for Work95% consistent
2Naturalnessnatural speaking, naturalness, natural-genuine, slightly unnatural80% consistent
3Fluencyfluent, halting speech, disfluent77% consistent
4Speaking stylecasual speaking style, dramatic style, narrator style, ranting style, ASMR style48% consistent
5Phonation typemodal voice, strained voice, slack voice, rough voice, breathy voice62% consistent
6Airflow / breathinessneutral airflow, pressed voice, breathy, slightly breathy65% consistent
7Loudnessnormal loudness, quiet, loud, very loud, very quiet, whispered47% consistent
8Intonation / prosodyslightly dynamic, dynamic, monotone, falling intonation, irregular intonation34% consistent
9Articulation precisionprecise articulation, neutral articulation, slightly imprecise articulation48% consistent
10Delivery / emotionnatural speaking, crying, screaming, whispering, narration style deliveryFinal position

Typical output length: 9.0 tags on average (range 1–16, most samples produce 8–11).

Tag Vocabulary#

Analysis of 570 samples revealed 194 unique tags across the model's vocabulary. Here are the most frequent:

Core Tags (appearing in >10% of samples)#
TagFrequencyCategory
Suitable for Work83%Safety
fluent78%Fluency
neutral airflow68%Airflow
modal voice65%Phonation
normal loudness49%Loudness
casual speaking style47%Style
precise articulation47%Articulation
slightly dynamic35%Intonation
natural speaking30%Naturalness / Delivery
neutral articulation20%Articulation
dynamic15%Intonation
very loud12%Loudness
irregular intonation12%Intonation
dramatic style11%Style
pressed voice11%Airflow
Delivery / Emotion Tags (final position)#

The last tag typically describes the overall delivery or emotional quality:

TagCountDescription
normal speaking101Neutral, unremarkable delivery
natural speaking71Natural-sounding speech
crying48Emotional, tearful delivery
narration style delivery46Professional narrator tone
screaming31High-energy screaming
high-energy delivery20Energetic, animated speech
strained delivery19Vocally strained
soft speaking14Gentle, quiet delivery
shouting12Loud projected speech
slow deliberate delivery12Measured, intentional pacing
ranting style delivery9Agitated, rant-like speech
out-of-breath delivery9Breathless speech
whispering6Whispered delivery
pleading tone6Pleading, imploring
sad speaking6Sad emotional delivery
laughing while speaking5Speech mixed with laughter
gasping delivery5Gasping or breathless
angry shouting5Angry, aggressive shouting
giggling delivery4Giggly speech
sing-speaking3Semi-melodic delivery
Rare & Specialized Tags#

The model also produces less common but descriptive tags:

  • Whisper/ASMR: whisper-talk style, ASMR style, whispery voice, ASMR whisper-delivery
  • Performance: storytelling style, monologue style, formal style, newsreader style, authoritative style
  • Vocal effort: projected voice, tense voice, slightly tense voice
  • Extreme states: out-of-breath delivery, fatigued delivery, gasping delivery, sighing delivery

Examples#

Example 1: Calm Narration#
Suitable for Work, natural speaking, fluent, narrator style delivery, modal voice,
neutral airflow, normal loudness, monotone, precise articulation, slow deliberate delivery

A clean, professional narrator voice — fluent delivery with precise articulation, balanced loudness, and monotone intonation typical of audiobook or documentary narration.

Example 2: Emotional Crying#
Suitable for Work, natural-genuine, halting speech, casual speaking style, rough voice,
breathy, quiet, falling intonation, slightly imprecise articulation, crying

An emotionally charged voice with halting, hesitant speech — quiet and breathy with falling pitch and rough voice quality, characteristic of genuine crying or deep distress.

Example 3: High-Energy Screaming#
Suitable for Work, natural pop, fluent, dramatic style, strained voice,
pressed voice, very loud, dynamic, precise articulation, screaming

A loud, high-energy voice with pressed phonation and dramatic style — the kind of intense screaming you might hear in animated entertainment or dramatic performance.

Example 4: ASMR / Whisper#
Suitable for Work, natural-Sounding, fluent, ASMR style, breathy voice,
breathy, whispered, monotone, neutral articulation, whispering

A soft, intimate ASMR-style whisper with breathy voice quality, monotone intonation, and very quiet delivery — characteristic of ASMR content or intimate speech.

Example 5: Ranting / Agitated Speech#
Suitable for Work, natural-Suitable for Work, fluent, ranting style, strained voice,
pressed voice, very loud, dynamic, precise articulation, screaming

Agitated, high-intensity speech with ranting style, strained phonation, and very loud delivery — characteristic of passionate arguing or emotional outbursts.

Example 6: Casual Conversation#
Suitable for Work, natural speaking, fluent, casual speaking style, modal voice,
neutral airflow, normal loudness, slightly dynamic, precise articulation, normal speaking

A typical conversational voice — relaxed, fluent, with balanced loudness and natural modal phonation. This is the most common pattern in everyday speech.

Coverage Analysis (570 Samples)#

Detection rates for specific voice characteristics across 570 diverse samples:

Voice CharacteristicSamples DetectedDetection Rate
Screaming / shouting488.4%
Crying488.4%
Ranting539.3%
Disfluent / halting speech5810.2%
Narration style6711.8%
Whisper71.2%
ASMR30.5%
Pleading61.1%
Not Suitable for Work162.8%

These rates reflect the distribution of input samples, not the model's intrinsic sensitivity. The model reliably distinguishes these categories when presented with appropriate audio.

Model Details#

PropertyValue
ArchitectureWhisper Small (encoder-decoder)
Parameters~242M
Base modellaion/BUD-E-Whisper
Training20 epochs, 760 steps
Final loss0.018
Input30s mel spectrogram (80 bins, 16kHz audio)
OutputComma-separated voice attribute tags
Max output tokens448
Encoder12 layers, 768 dim, 12 heads
Decoder12 layers, 768 dim, 12 heads
Vocabulary size~194 unique tags observed
Avg output tags9.0 per sample
Architecture Notes#

This is a full encoder-decoder Whisper model. The encoder maps audio to rich voice representations (also usable standalone for embedding extraction — see Voice-Taxonomy-57), while the decoder generates the tag sequence auto-regressively.

The model uses the standard Whisper tokenizer and generation config. Audio is processed as 30-second chunks of 80-bin log-mel spectrograms at 16kHz.

Encoder-Only Usage#

The encoder of this model also produces high-quality voice embeddings for downstream tasks. It is used as one of the whisper encoders in the Voice-Taxonomy-57 pipeline for 57-dimension voice classification:

from transformers import WhisperModel, WhisperFeatureExtractor

model = WhisperModel.from_pretrained("laion/voice-tagging-whisper", torch_dtype=torch.float16)
encoder = model.encoder.to("cuda").eval()
fe = WhisperFeatureExtractor.from_pretrained("openai/whisper-small")

inputs = fe(waveform, sampling_rate=16000, return_tensors="pt")
with torch.no_grad():
    hidden_states = encoder(inputs.input_features.cuda().half()).last_hidden_state
    # hidden_states shape: (batch, 1500, 768)

License#

Apache 2.0

Files

18 files · 2.89 GBWeights 967 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 18 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md11.5 KB7833207608fdb6409cef8edaa5f561ae28cf9f4292ee4092dddf48d5ea038d5a
config.json1.33 KBd9be29f6f5c78f6d16044ac2bd72eebdb8768927e4bc9afa00903918c44665af
generation_config.json3.74 KB050ac3e58301c4c2cba4be7d0f9f2b77c5e1ca77d96540832a025f071fcdd973
model.safetensors967 MB345a605f146b3ded57edc0a8ca4134c7f3e328437061dc4d16fc546af9216d8f
optimizer.pt1.93 GBd370ceb7043cebe3fc9a9ef96264080c7a751828eba27b53d10a59900f2e01d3
rng_state_0.pth16.4 KB1fe2dd6eae03c8526943658a8e3b63e162bef37032f8af936b52f92a80789374
rng_state_1.pth16.4 KB695cba769dd7736d6af15294c10e76e23ad06904595588ed9aa91ee1dbfc5dba
rng_state_2.pth16.4 KBdc8e49bca0de4fd40d1a2778c3427009b62760f698c60e59abb50cc011c0f867
rng_state_3.pth16.4 KBd0f0a75fd775c5524441b93857983ad978a22aeb1d70150f2a6126ad7c7fbb84
rng_state_4.pth16.4 KBf5f23d7a92d105623f605aaeaf584970d6853d0860ebc065651ba409c9904c1c
rng_state_5.pth16.4 KB0ca1fba1c9e4bc235f61a54695070d780cda20ae1b0786c4482cb28fbe4b8a79
rng_state_6.pth16.4 KBe470e1a3de80d7f1c15632da6e567bd896897360911169cc6995439eaae79850
rng_state_7.pth16.4 KB782381094e08aa01de63d5ee3175f982f05c317c079b3d8a9290139503f10a5c
scaler.pt1.38 KB82e021944fc3588cda32ce40b7c99862cc9f86d5c8a57b8887426004599a28cc
scheduler.pt1.47 KB5bac6ecf966a632e205fa651f5d31c0cdf50a6e2db6b1af6d0f73363bb6356ea
trainer_state.json13.6 KB4ee31f271059c31a75cedef2ce46a6736701841789a2b7d4b1e5e643ccb72c0f
training_args.bin5.97 KBf5d8d78b617dcdd8f96577522a28ba636b7839d61ea1e21dc7888d34c222b0d2
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
dc223dda0f pinned now manifest updated, same commit2026-11-14 21:34 UTC18 files · 2.89 GB
dc223dda0f2026-11-14 21:34 UTC18 files · 2.89 GB

Use it

$ fw get laion/voice-tagging-whisper
# manifest sha256 2d9558caecf4… · 2.89 GB · 18 files
$ fw verify ./voice-tagging-whisper laion/voice-tagging-whisper
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/laion/voice-tagging-whisper.json --dir ./voice-tagging-whisper $ python3 fw.py verify ./voice-tagging-whisper ./laion__voice-tagging-whisper.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download laion/voice-tagging-whisper --revision dc223dda0fabb29a90a9d8c16b1e8ae5ff0988fe --local-dir ./voice-tagging-whisper
transformersSpeech recognition with the transformers pipeline.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import pipeline asr = pipeline("automatic-speech-recognition", model="laion/voice-tagging-whisper", revision="dc223dda0fabb29a90a9d8c16b1e8ae5ff0988fe") print(asr("audio.wav")["text"])

License

Name
Apache License 2.0
Id
Apache-2.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
7833207608fdb6409cef8edaa5f561ae28cf9f4292ee4092dddf48d5ea038d5a
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: voice-tagging-whisperDate: 2026-11-14Commit: dc223ddSigned: 2DC28CC7B26A283B ✓
Upstream
laion/voice-tagging-whisper
Pinned commit
dc223dda0fabb29a90a9d8c16b1e8ae5ff0988fe
Manifest
voice-tagging-whisper.json · .minisig
Manifest sha256
2d9558caecf4784293f3c13ce730f754653d0bd0ec42dd37277868a0b24b957e
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/voice-tagging-whisper.json $ curl -O https://freeweights.allternit.com/manifests/laion/voice-tagging-whisper.json.minisig $ minisign -Vm voice-tagging-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/BUD-E-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/voice-tagging-whisper
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. voice-tagging-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