July 2026 report · evaluated 2026-07-11
Speech emotion recognition benchmark
speech-emotion-bench scores 64 systems — commercial APIs, audio LLMs, open models, and text-only LLMs working from transcripts — with one seven-class label mapping and scoring implementation. Open models use the full 64,384-clip evaluation across ~20 languages; closed/API and audio-LLM systems use a fixed 5,000-clip stratified subset. oruk Spectra reaches 77.6% accuracy and 0.81 macro F1; the best non-oruk open model (emotion2vec+ seed) reaches 68.7%, and the highest-scoring commercial API snapshot in this release (Hume AI legacy prosody) reaches 49.6%.
- Systems scored
- 64
- Held-out clips
- 64,384
- Languages
- ~20
- External snapshots
- IEMOCAP · MUStARD
One caveat stated plainly: the oruk entry is trained in-distribution, while other systems are evaluated zero-shot. Protocol, sample counts, exclusions, and limitations are on the methodology page. Closed/API and audio-LLM systems are scored on a fixed 5,000-clip stratified subsample (marked below); rescoring open models on the same subsample shifts results by less than two points.
Product-snapshot note: the Hume row is the legacy 48-dimension Expression Measurement prosody endpoint, not Hume’s current Tagger or real-time Prosody products. The current products have not been evaluated in this release. See Hume’s official current product page.
speech-emotion-bench
Leaderboard: all 64 systems
Sorted by accuracy on the shared seven-class mapping (anger, happiness, sadness, fear, disgust, surprise, neutral). Systems marked 5k were scored on the stratified subset rather than the full 64,384 clips, so this is a descriptive release table, not a claim that every system saw identical audio.
| # | System | Type | Accuracy % | Macro F1 | Sample |
|---|---|---|---|---|---|
| 1 | oruk Spectraours | oruk | 77.6 | 0.810 | full |
| 2 | emotion2vec+ seed | Open model | 68.7 | 0.680 | full |
| 3 | emotion2vec+ large | Open model | 68.6 | 0.677 | full |
| 4 | emotion2vec+ base | Open model | 68.5 | 0.683 | full |
| 5 | emotion2vec finetuned | Open model | 63.6 | 0.616 | full |
| 6 | EmotionThinker | Audio LLM | 60.5 | 0.504 | 5k |
| 7 | SenseVoice Small | Open model | 55.7 | 0.469 | full |
| 8 | emotion2vec base (probe) | Open model | 55.1 | 0.489 | full |
| 9 | Kimi-Audio 7B Instruct | Audio LLM | 52.4 | 0.447 | 5k |
| 10 | Qwen2.5-Omni 7B | Audio LLM | 51.4 | 0.440 | 5k |
| 11 | Hume AI legacy prosody | Commercial API | 49.6 | 0.414 | 5k |
| 12 | Qwen2-Audio 7B Instruct | Audio LLM | 48.9 | 0.402 | 5k |
speech-emotion-bench
Per-emotion F1
oruk Spectra against the best frontier multimodal API result (Gemini 3 Flash Preview) on each of the seven classes.
| Emotion | oruk Spectra | Gemini 3 Flash | Delta |
|---|---|---|---|
| Disgust | 0.905 | 0.185 | +0.720 |
| Fear | 0.864 | 0.355 | +0.509 |
| Surprise | 0.858 | 0.268 | +0.590 |
| Anger | 0.806 | 0.462 | +0.344 |
| Neutral | 0.756 | 0.529 | +0.227 |
| Sadness | 0.746 | 0.313 | +0.433 |
| Happiness | 0.737 | 0.502 | +0.235 |
August 2026 snapshot · evaluated 2026-08-01
IEMOCAP test split: nine commercial systems
The 2,008-clip IEMOCAP test split (acted dyadic emotional speech), sent as identical audio to each vendor’s public API in one harness. The common footing across all nine systems is valence polarity: gold categorical labels mapped to negative (angry, frustrated, sad), neutral, and positive (happy, excited), and each system’s native output mapped to the same three classes. Chance is 33%. The grey ± is half the 95% Wilson interval; several vendors stopped early at free-tier credit or rate limits, so rows with a smaller n carry a wider ±. Transcript-sentiment rows are speech-to-text products whose sentiment is computed from the transcript text, not the acoustics — included because they are commonly used as emotion signals, not because they claim to hear prosody.
| # | System | Type | Valence accuracy % | n |
|---|---|---|---|---|
| 1 | oruk Spectraours | oruk | 71.5±2.0 | 1,947 |
| 2 | Imentiv | Voice emotion | 63.6±8.6 | 118 |
| 3 | Smallest.ai Pulse | Voice emotion | 59.3±2.1 | 1,947 |
| 4 | Mistral Voxtral Small | Voice emotion | 54.4±2.2 | 1,947 |
| 5 | Rev AI sentiment | Transcript sentiment | 53.5±5.0 | 381 |
| 6 | Hume EVI prosody | Voice emotion | 51.3±7.8 | 154 |
| 7 | Deepgram nova-3 sentiment | Transcript sentiment | 46.3±2.2 | 1,947 |
| 8 | AssemblyAI sentiment | Transcript sentiment | 36.0±2.2 | 1,917 |
| 9 | Gladia sentiment | Transcript sentiment | 35.7±16.8 | 28 |
- Imentiv: Stopped at free-tier credit limit.
- Smallest.ai Pulse: Taxonomy has no neutral class.
- Mistral Voxtral Small: Prompted audio-LLM classification, voxtral-small-latest.
- Rev AI sentiment: Stopped at free-tier credit limit.
- Hume EVI prosody: EVI websocket top-1 prosody snapshot; stopped at free-tier credit limit. Not a measurement of other current Hume products.
- AssemblyAI sentiment: 33 clips returned no sentiment.
- Gladia sentiment: Free tier rate-limited almost immediately; interval too wide to rank.
Four-class emotion, acoustic systems only
Angry / happy+excited / sad / neutral for the five systems that emit acoustic emotion labels. Predictions outside the four classes count as errors; chance is 25%. UAR weights all four classes equally, and its intervals are bootstrap.
| System | Accuracy % | UAR % | n |
|---|---|---|---|
| oruk Spectraours | 65.3±2.5 | 66.3±2.5 | 1,384 |
| Imentiv | 67.4±9.4 | 65.8±10.0 | 92 |
| Mistral Voxtral Small | 44.0±2.6 | 44.7±2.7 | 1,384 |
| Smallest.ai Pulse | 44.7±2.6 | 46.0±2.4 | 1,384 |
| Hume EVI prosody | 37.3±8.6 | 34.3±8.9 | 118 |
Imentiv’s accuracy point estimate sits above oruk’s, but on 92 clips its interval fully contains oruk’s; on UAR oruk ranks first. oruk is measured on 1,384 scoreable clips — the full test split minus clips whose gold label falls outside the four classes.
August 2026 snapshot · evaluated 2026-08-01
Sarcasm: MUStARD, oruk vs Deepgram
The full official MUStARD set (ACL 2019): 690 sitcom utterances, 345 sarcastic and 345 not, target utterance audio only. Neither system ships a sarcasm classifier, so both are scored identically: a logistic probe over the scores each API returns — oruk emotion and speaking-style scores from /v1/audio/affect, Deepgram nova-3 transcript sentiment — with identical folds and macro-F1 on out-of-fold predictions.
Sarcasm is hard for both systems, and both sit well below dedicated trained models (the original paper’s SVM on full audio features reaches ~0.65 weighted F1). The comparison of interest is between the two APIs under identical treatment: the gap is decisive once speaker and show leakage are controlled — on the cross-show split, transcript sentiment lands below the trivial always-“not sarcastic” baseline, because the words of sarcastic speech read as sincere. Deepgram’s sentiment is documented as transcript-based; this table measures the products as shipped, not the vendors’ underlying model ceilings. Scripted sitcom audio with laugh tracks; MUStARD’s known limitations apply.
How to cite
This page is the canonical version of the speech-emotion-bench results. Cite the evaluation date rather than the access date: the harness run is pinned to 2026-07-11, and rows added later carry their own dates on the methodology page.
@misc{oruk2026speechemotionbench,
title = {speech-emotion-bench: 64 speech emotion recognition
systems under one label mapping and scorer},
author = {{oruk}},
year = {2026},
howpublished = {\url{https://oruk.ai/benchmarks}},
note = {Evaluation run 2026-07-11. Open models scored on the full
64,384-clip set; closed/API and audio-LLM systems on a fixed
5,000-clip stratified subset}
}Use the measured oruk models
The oruk rows on this leaderboard correspond to models served behind the oruk Speech API: multilabel emotion, speaking style, transcription, and unified analysis for prerecorded English audio, priced per second. Other leaderboard systems are not served by oruk.
