pyannote / pyannote-audio
git clone https://github.com/pyannote/pyannote-audio.git
4.0.7 · 3mo ago
🔥 on GitHub Trending today
Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding
—
stars, 24h
+42
stars, 7 days · #1,035
—
stars, 30 days
11k
★ total · +0% this week
1.1k
forks · 48 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageJupyter Notebook
LicenseMIT
Created2016-03-07 (10y ago)
Last pushtoday
Watchers83
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #19 weekly in jupyter-notebook · +42 ★
GitHub topics
overlapped-speech-detectionpretrained-modelspytorchspeaker-change-detectionspeaker-diarizationspeaker-embeddingspeaker-recognitionspeaker-verificationspeech-activity-detectionspeech-processingvoice-activity-detection
Links
- GitHub: github.com/pyannote/pyannote-audio
- Homepage: https://www.pyannote.ai
- Releases · Issues · Hacker News mentions
README excerpt
pyannote speaker diarization toolkit
`pyannote.audio` is an open-source toolkit written in Python for speaker diarization. Based on PyTorch machine learning framework, it comes with state-of-the-art pretrained models and pipelines, that can be further finetuned to your own data for even better performance.
## Highlights
- :exploding_head: state-of-the-art performance (see Benchmark)
- :hugs: pretrained pipelines (and models) on :hugs: model hub
- :rocket: built-in support for pyannoteAI premium speaker diarization
- :snake: Python-first API
- :zap: multi-GPU training with pytorch-lightning
## `community-1` open-source speaker diarization
1. Make sure `ffmpeg` is installed on your machine (needed by `torchcodec` audio decoding library)
2. Install with `uv``add pyannote.audio` (recommended) or `pip install pyannote.audio`
3. Accept `pyannote/speaker-diarization-community-1` user conditions
4. Create Huggingface access token at `hf.co/settings/tokens`
[code]
## `precision-2` premium speaker diarization
1. Create pyannoteAI API key at `dashboard.pyannote.ai`
2. Enjoy free credits!
[code]
Visit `docs.pyannote.ai` to learn about other pyannoteAI features (voiceprinting, confidence scores, ...)
## Benchmark
| Benchmark (last updated in 2025-09) | `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 |
__Diarization error rate (in %, the lower, the better)__
Compared to the `3.1` legacy pipeline, `community-1` brings significant improvement in terms of speaker counting and assignment.
`precision-2` premium pipeline further improves accuracy as well as processing speed (in its self-hosted version).
| Benchmark (last updated in 2025-09) | `community-1` | `precision-2` | Speed up
| -------------- | ----------- | ----------- | ------ |
| AMI (IHM), ~1h files | 31s per hour of audio | 14s per hour of audio | 2.2x faster
| DIHARD 3 (full), ~5min files | 37s per hour of audio | 14s per hour of audio | 2.6x faster
__Self-hosted speed on a NVIDIA H100 80GB HBM3__
## Telemetry
With the optional telemetry feature in `pyannote.audio`, you can choose to send anonymous usage metrics to help the `pyannote` team improve the library.
### What we track
For each call to `Pipeline.from_pretrained({origin})` (or `Model.from_pretrained({origin})`), we