pyannote-metrics
A toolkit for reproducible evaluation, diagnostic, and error analysis of speaker diarization systems
What it is and what it does
pyannote.metrics is a toolkit for evaluating speaker diarization systems—the task of determining who spoke when in an audio recording. It computes standard metrics (like diarization error rate), provides diagnostic breakdowns of errors, and supports reproducible evaluation workflows. The package wraps numpy, pandas, scikit-learn, and scipy to handle metric computation and analysis, and integrates with pyannote-core and pyannote-database for data representation.
It is designed for researchers and engineers building or benchmarking speaker diarization pipelines. Rather than a diarization system itself, it is the measurement and analysis layer: you provide reference (ground truth) and hypothesis (predicted) speaker segmentations, and the toolkit computes how well they match, where errors occur, and why. The package has been actively maintained since 2014 and is widely used in the speech processing community.
Use it for:
- Compute diarization error rate (DER) and other standard metrics to benchmark a speaker diarization model against a reference annotation.
- Analyze where a diarization system fails—false alarms, missed speech, speaker confusion—to guide model improvements.
- Generate reproducible evaluation reports for research papers or system documentation.
- Compare multiple diarization hypotheses against the same reference to rank or select the best performer.
- Integrate metric computation into a diarization pipeline's validation or test harness.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Evaluates and analyzes speaker diarization systems by computing metrics, diagnostics, and error analysis for reproducible assessment of who-spoke-when predictions.
Yes, if you are building or evaluating speaker diarization systems. The package is actively maintained, has low install friction, and is a standard tool in the diarization research community. However, verify the license terms first, as the metadata does not declare one explicitly. Not relevant for applications outside speaker diarization.
Install
pyannote-metrics on PyPI
pip
pip install pyannote-metricsuv
uv add pyannote-metricspoetry
poetry add pyannote-metricsInstalling pyannote-metrics
Before you install
Low friction installation with a pure-Python wheel and six standard scientific dependencies (numpy, pandas, scikit-learn, scipy) plus two pyannote libraries. Actively maintained as of 100 days ago.
License in practice
License status is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license terms before use in proprietary or restricted contexts.
Quickstart
pip install pyannote.metrics
from pyannote.metrics import DiarizationErrorRate
metric = DiarizationErrorRate()
der = metric(reference, hypothesis)
Requires Python >= 3.10.
Verify before relying
- What license governs pyannote.metrics (unclear in metadata)?
- Does the package support evaluation of speaker overlap or only sequential speaker turns?
- What is the computational cost for large audio files or many speakers?
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — numpy, pandas, pyannote-core, pyannote-database, scikit-learn, scipy |
| Maintenance | actively maintained — 100 days since the last release |
| First released | |
| Downloads | 2,892,700/month — #2,837 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyannote_metrics-4.1-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
pyannote-audioSpeaker diarization toolkit that identifies and…
unclear · top 5,000 on PyPI
pyannote-coreProvides data structures for representing and…
unclear · top 5,000 on PyPI
pyannote-databaseDefines and manages reproducible experimental…
unclear · top 5,000 on PyPI
pyannoteai-sdkClient library for pyannoteAI's speaker…
unclear · top 5,000 on PyPI
ResemblyzerResemblyzer generates a 256-value embedding…
permissive · top 15,000 on PyPI
texterrorsScores automatic speech recognition or…
permissive · top 5,000 on PyPI
fairlearnFairlearn assesses and mitigates fairness…
permissive · top 15,000 on PyPI
sherpa-onnx-coresherpa-onnx-core provides pre-built ONNX…
permissive · top 15,000 on PyPI
speechmatics-voicePython SDK for building real-time voice…
permissive · top 15,000 on PyPI
sherpa-onnxSherpa-onnx runs speech recognition,…
permissive · top 15,000 on PyPI