pyannote.audio is a Python toolkit for speaker diarization: given an audio file, it works out who spoke when and returns a list of speaker turns with start and end times. It is built on PyTorch and ships pretrained models and pipelines on the Hugging Face hub that you can fine-tune on your own data.
Two pipelines sit behind the same Pipeline API. The open-source community-1 pipeline runs locally (on a GPU when available) and needs a Hugging Face access token and acceptance of the model's user conditions. The precision-2 pipeline is a premium pyannoteAI service that runs on pyannoteAI servers with an API key, and pyannoteAI adds features such as voiceprinting and confidence scores.
Diarization error rate (%, lower is better), as of 2025-09:
| Benchmark | legacy 3.1 | community-1 | precision-2 |
|---|---|---|---|
| AISHELL-4 | 12.2 | 11.7 | 11.4 |
| AliMeeting (channel 1) | 24.5 | 20.3 | 15.2 |
| AMI (IHM) | 18.8 | 17.0 | 12.9 |
| AMI (SDM) | 22.7 | 19.9 | 15.6 |
| AVA-AVD | 49.7 | 44.6 | 37.1 |
| CALLHOME (part 2) | 28.5 | 26.7 | 16.6 |
| DIHARD 3 (full) | 21.4 | 20.2 | 14.7 |
| Ego4D (dev.) | 51.2 | 46.8 | 39.0 |
| MSDWild | 25.4 | 22.8 | 17.3 |
| RAMC | 22.2 | 20.8 | 10.5 |
| REPERE (phase2) | 7.9 | 8.9 | 7.4 |
| VoxConverse (v0.3) | 11.2 | 11.2 | 8.5 |
Self-hosted on an NVIDIA H100, community-1 processes an hour of audio in 31 to 37 seconds and precision-2 in 14 seconds. Community-1 improves speaker counting and assignment over the legacy 3.1 pipeline. The library has optional anonymous telemetry that records which pretrained pipeline is loaded, file durations, and speaker-count settings, and you can switch it on or off per session or globally.
Features
- Speaker diarization: returns speaker turns with start and end times for an audio file
- Pretrained pipelines: models and pipelines published on the Hugging Face hub, loaded by name
- Fine-tuning: adapt pretrained pipelines and models to your own data, or train new models and tasks
- Local or hosted: the open-source community-1 pipeline runs locally, and the precision-2 pipeline runs on pyannoteAI servers
- pyannoteAI features: the premium service adds voiceprinting and confidence scores
- Multi-GPU training: training runs across GPUs with PyTorch Lightning
- Python-first API: one Pipeline interface for both local and hosted pipelines, with progress hooks
- Opt-in telemetry: anonymous usage metrics that can be configured per session or globally
