Back

Benchmark report

VocalAffectBench: Can AI Hear How You Feel?

A public, test-only benchmark for evaluating whether AI audio models can identify expressed vocal emotion from raw speech — without transcripts or contextual metadata. Six baselines. Seven emotion classes. One finding: affect recognition remains brittle.

View Benchmark PageOpen Hugging Face

Problem

Transcripts carry the words. Not the delivery.

A customer who says "that's fine" may be conceding, joking, or signaling frustration. Automatic speech recognition preserves the phrase but strips the vocal delivery that makes the exchange interpretable. Voice agents that apply affect analysis only after transcription measure lexical sentiment — a different question from expressed vocal emotion.

words spoken"that's fine"conceding, joking, or frustrated — the transcript is identical
what ASR capturestext onlytone, pace, pauses, and intensity are lost after transcription
what voice agents needexpressed affectwhich emotion was delivered, not inferred from the words

Benchmark design

Audio only. No transcripts. No metadata.

Every baseline receives the raw audio file and a fixed instruction listing the allowed labels. No transcript, no speaker context, no domain hint. For provider endpoints that do not accept prompts, the audio is submitted with default settings and the native labels are mapped to the benchmark set before scoring.

TargetExpressed emotion

The emotion delivered in the recording, verified by a human reviewer. Not the speaker's inferred private state.

Label set7 classes

angry, disgusted, fearful, happy, neutral, sad, surprised — Ekman's basic-emotion taxonomy plus neutral.

MetricAccuracy

Fraction of clips whose mapped prediction matches the reference label. Per-class precision and recall expose failure modes.

Dataset

What VocalAffectBench contains

280 human-recorded English clips from 52 speaker accounts, equally distributed across seven emotion classes. All clips are General American accent, 16 kHz mono WAV, with no noise reduction, normalization, or enhancement.

Audio clips280

40 clips per emotion class

Emotion classes7

angry, disgusted, fearful, happy, neutral, sad, surprised

Speaker accounts52

Human-recorded English WAV, General American accent

Total audio2.32 hrs

138.9 minutes of reviewed speech

Baselines6

General audio models, speech-specific models, and provider endpoints

Random baseline14.3%

Chance level for a 7-way classification task

EmotionClipsMinutesMean (sec)
angry4017.125.7
disgusted4019.028.5
fearful4017.526.3
happy4022.834.2
neutral4015.623.3
sad4026.038.9
surprised4021.031.6

Results

Main findings

The leading model reaches 44.3% on a seven-way task. The average across all six baselines is 35.1%. That is above the 14.3% random baseline, but far from reliable emotion recognition for production use.

  1. 01

    Gemini 3.5 Flash leads at 44.3% — roughly 3× the random baseline but still misses more than half of all clips.

  2. 02

    Neutral is over-predicted: 45.3% of all model outputs map to neutral, causing most non-neutral errors.

  3. 03

    Surprised and fearful are the hardest classes, each with only 15% aggregate recall across baselines.

  4. 04

    Valence (positive / neutral / negative) is more tractable at 49.2% aggregate accuracy, but still unsolved.

#1Gemini 3.5 Flash
44.3%
#2Hume Prosody
38.0%
#3Qwen3.5 Omni+
37.9%
#4Voxtral Small
34.3%
#5Inworld Voice
28.6%
#6OpenAI Realtime
27.9%
RankModelAcc.AngryDisgustedFearfulHappyNeutralSadSurprised
#1Gemini 3.5 Flashgemini-3.5-flash44.3%57.5%27.5%32.5%45.0%75.0%70.0%2.5%
#2Hume Prosodyspeech_prosody38.0%50.0%5.1%0.0%62.5%85.0%22.5%40.0%
#3Qwen3.5 Omni+qwen3.5-omni-plus37.9%35.0%25.0%17.5%47.5%65.0%65.0%10.0%
#4Voxtral Smallmistralai/voxtral-small-24b-250734.3%17.5%72.5%17.5%35.0%47.5%27.5%22.5%
#5Inworld Voiceinworld/inworld-stt-128.6%37.5%0.0%12.5%30.0%97.5%17.5%5.0%
#6OpenAI Realtimegpt-realtime-227.9%32.5%2.5%10.0%25.0%87.5%27.5%10.0%

Class difficulty

Not all emotions are equally hard.

Neutral is the easiest class by recall at 76.2%, but the hardest by precision at 24.0% — because models over-predict it. Fearful and surprised both reach only 15% recall. A model that looks useful on a neutral-heavy workload can still fail on the high-salience states that matter most for escalation or intervention.

Recall — what fraction of true clips were correctly identified

neutral
76.2%
happy
40.8%
angry
38.3%
sad
38.3%
disgusted
22.1%
fearful
15.0%
surprised
15.0%

Precision — when predicted, how often was it correct

neutral
24.0%
happy
39.7%
angry
61.7%
sad
37.2%
disgusted
41.1%
fearful
78.3%
surprised
36.0%

Neutral bias

The dominant error is predicting neutral.

Across all scored decisions, models output neutral 761 times — 45.3% of all outputs. Of the 1,089 incorrect predictions, 578 collapse to neutral. The largest single confusion is fearful → neutral (113 times), followed by sad → neutral (110) and disgusted → neutral (106).

A conservative neutral prediction can make a voice product miss the affective states that should trigger escalation, empathy, or additional caution.

fearfulneutral
113
sadneutral
110
disgustedneutral
106
happyneutral
85
surprisedneutral
85
angryneutral
79
surprisedhappy
58
fearfulsad
47

Valence analysis

Coarser signal, still unsolved.

Some applications only need a positive / neutral / negative signal rather than a seven-way label. Mapping the benchmark to three valence buckets (excluding surprised, whose valence is ambiguous) raises aggregate accuracy to 49.2%. The best model reaches 66.2%. Valence is more tractable than discrete emotion — but it is not solved.

#1Gemini 3.5 Flash
66.2%
#2Voxtral Small
55.0%
#3Qwen3.5 Omni+
52.5%
#4Hume Prosody
47.7%
#5Inworld Voice
38.3%
#6OpenAI Realtime
35.4%
ModelNeg. out.Pos. out.Neutral out.Ambig. out.Output skew
Gemini 3.5 Flash51.4%10.7%36.8%1.1%Negative
Hume Prosody24.4%27.6%36.2%11.8%Neutral
Qwen3.5 Omni+42.9%12.9%41.8%2.5%Negative
Voxtral Small50.7%16.4%20.0%12.9%Negative
Inworld Voice16.8%14.6%67.5%1.1%Neutral
OpenAI Realtime17.9%6.1%69.6%6.4%Neutral
  • Three baselines are negative-skewed; three are neutral-skewed. None is positive-skewed.
  • Two models with similar aggregate accuracy can create different product risks if one over-predicts negative affect and another over-predicts neutral delivery.
  • Output valence skew is descriptive: it summarizes what labels the model emits under this benchmark, not an intrinsic model property.

Protocol

How baselines are evaluated

1

Raw audio input

The model receives the WAV file and a fixed instruction listing the seven allowed labels. No transcript, metadata, or context is provided.

2

Label mapping

Provider-native labels (e.g. calmness → neutral, anxiety → fearful) are mapped to the benchmark set using the released mapping before scoring.

3

Score and report

Accuracy, per-class precision and recall, confusion counts, and valence accuracy are computed from the mapped predictions and stored in predictions.csv.

Limitations

What this benchmark cannot claim

  • English-only, General American accent. Multilingual and cross-accent evaluation requires additional collection.
  • Seven discrete labels. Human affect is richer; a single class cannot capture every perceived state.
  • Balanced 40-clip classes. This enables fair comparison but does not reflect real traffic distributions.
  • Performed emotional speech. Results cannot be interpreted as evidence of spontaneous emotion detection.
  • Single reviewer per clip. Inter-rater reliability analysis is not supported by this release.

Next

Dataset and paper

The dataset, baseline predictions, evaluation harness, and documentation are released under the MIT License on Hugging Face. The paper describes the benchmark design, evaluation protocol, baseline setup, and full results.

Open Hugging FaceRead Paper