Skip to navigation

Diarization

Speaker diarization error rate and speed against other STT APIs.
View as Markdown

Diarization

Pulse ships speaker diarization on both batch and streaming through the same API. See the Diarization feature page for the response shape and the enable flag.

Metric. DER (Diarization Error Rate) is the percent of speech time handled wrong (wrong speaker + missed speech + falsely detected speech). Scored with no collar, overlapping speech counted, permutation-optimal speaker matching, duration-pooled via pyannote.metrics. Lower is better.

Streaming DER vs other STT APIs

Per-dataset DER. Lower is better. - means we have not scored ElevenLabs on that dataset yet.

DatasetPulseElevenLabsDeepgram
ami_ihm (headset meeting)15.2833.629.03
ami_sdm (far-field meeting)23.1337.637.86
dihard3_farfield (clean)33.18-47.69
sbcsae (clean)31.97-36.77
callhome_eng (English phone)14.9423.027.71
callhome_deu (German phone)14.923.925.8
callhome_spa (Spanish phone)31.039.641.4
simsamu (French emergency 911)14.216.338.1
macro23.70-35.81

Streaming DER on Indic languages

Streaming diarization measured end-to-end through the WebSocket API at concurrency 1. Lower is better. Pulse macro-average across all 22 Indic language codes is 23.2 DER; Pyannote Live-1 is 37.1; Deepgram Live is 77.6 (Deepgram Live does not have a first-class Indic pipeline).

Speed (real-time factor)

RTF = processing time / audio length. Lower is faster. 1/RTF is “times faster than real-time.” Measured through each vendor’s API at concurrency 1 with diarization enabled, the round-trip a customer actually sees, not local compute.

VendorRTF (median)Times real-time
Pulse~0.004~240×
Deepgram~0.007~140×
pyannoteAI~0.022~45×
AssemblyAI~0.028~36×
ElevenLabs~0.059~17×

Streaming diarization emits speaker labels on is_final: true transcription events with roughly the same latency as transcription itself (~1 s tail from utterance end to final event on typical connectivity).

Third-party verification: VoiceArena Diarization Bench

Independent confirmation from VoiceArena’s Diarization Bench, a third-party leaderboard that scores every system on the same 139 sessions (~22 hours) of human-verified English audio, 2-8 speakers per session, using DIHARD scoring (md-eval) at a 0 ms collar - the strictest setting, no slack allowed at speaker-change boundaries.

On the Diarization + ASR track - the “with ASR” system-type filter, for systems that return speaker labels through an integrated transcription pipeline, same as Pulse - Pulse ranks #1:

RankProviderModelDER %JER %
1Smallest AIPulse24.3632.91
2Mistral AIVoxtral Mini Transcribe 340.4150.48
3ElevenLabsScribe v240.7150.81
4Mistral AIVoxtral Small Transcribe 341.1450.80
5MetaMuse Voice Transcribe42.0649.15
6AssemblyAIUniversal-3.5 Pro44.6454.85
7SonioxSoniox v5 Async49.7860.36
8SpeechmaticsEnhanced53.3066.43
9DeepgramNova-367.1373.84

Pulse’s error is driven mostly by false alarm (14.91 of its 24.36 DER), the opposite profile from most of the field, which mostly misses speech outright (Deepgram’s missed-speech component alone is 57.56 of its 67.13 DER).

By condition, 0 ms collar:

ConditionPulse DER %
In-person24.7
Online22.4
2 speakers13.3
3 speakers20.9
4 speakers25.6
5-8 speakers39.2
Overlap < 15%16.7
Overlap 15-30%19.9
Overlap 30%+30.8

View full methodology here: VoiceArena Diarization Bench methodology.