Model reference · open weights

speaker-diarization-community-1

Audio pyannote-community Speech→text 1 build Open weights 120k dl/mo

speaker-diarization-community-1 is an open-weight audio or speech model from pyannote-community. speaker-diarization-community-1 (BF16) weighs 33 MB; the smallest configuration that runs it is RTX 3060 12 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • speaker-diarization-community-1 is a speaker diarization pipeline developed by pyannote-community that processes mono audio sampled at 16kHz to identify and segment speakers.
  • The model supports offline use and offers an exclusive speaker diarization output to simplify reconciliation with transcription timestamps.
  • It is released under the cc-by-4.0 licence.

Summary of the pyannote-community/speaker-diarization-community-1 model card, 2026-10-01

What it is

Released bypyannote-community
Released2025-10-15
VRAM33 MB for the weights

What it runs on

Memory and cards for speaker-diarization-community-1 (BF16)

33 MBweights, file size
1.6 GBruntime overhead
CardOne streamMemory
RTX 3060 12 GBfits11.6 GB
RTX 4060 Ti 16 GBfits15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What pyannote-community says about speaker-diarization-community-1

Read the model card

This pipeline ingests mono audio sampled at 16kHz and outputs speaker diarization.

  • stereo or multi-channel audio files are automatically downmixed to mono by averaging the channels.
  • audio files sampled at a different rate are resampled to 16kHz automatically upon loading.

The main improvements brought by Community-1 are:

  • improved speaker assignment and counting
  • simpler reconciliation with transcription timestamps with exclusive speaker diarization
  • easy offline use (i.e. without internet connection)
  • (optionally) hosted on pyannoteAI cloud

Setup

  1. pip install pyannote.audio
  2. Accept user conditions
  3. Create access token at hf.co/settings/tokens.

Quick start

# download the pipeline from Huggingface
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-community-1",
    token="{huggingface-token}")

# run the pipeline locally on your computer
output = pipeline("audio.wav")

# print the predicted speaker diarization
for turn, speaker in output.speaker_diarization:
    print(f"{speaker} speaks between t={turn.start:.3f}s and t={turn.end:.3f}s")

Benchmark

Out of the box, Community-1 is much better than speaker-diarization-3.1.

We report diarization error rates (in %) on large collection of academic benchmarks (fully automatic processing, no forgiveness collar, nor skipping overlapping speech).

Benchmark (last updated in 2025-09)legacy (3.1)community-1precision-2
AISHELL-412.211.711.4
AliMeeting (channel 1)24.520.315.2
AMI (IHM)18.817.012.9
AMI (SDM)22.719.915.6
AVA-AVD49.744.637.1
CALLHOME (part 2)28.526.716.6
DIHARD 3 (full)21.420.214.7
Ego4D (dev.)51.246.839.0
MSDWild25.422.817.3
RAMC22.220.810.5
REPERE (phase2)7.98.97.4
VoxConverse (v0.3)11.211.28.5

Precision-2 model is even better and can be tested like this:

  1. Create an API key on pyannoteAI dashboard (free credits included)
  2. Change one line of code
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained(
-     'pyannote/speaker-diarization-community-1', token="{huggingface-token}")
+     'pyannote/speaker-diarization-precision-2', token="{pyannoteAI-api-key}")
diarization = pipeline("audio.wav")  # runs on pyannoteAI servers

Processing on GPU

pyannote.audio pipelines run on CPU by default. You can send them to GPU with the following lines:

import torch
pipeline.to(torch.device("cuda"))

Processing from memory

Pre-loading audio files in memory may result in faster processing:

waveform, sample_rate = torchaudio.load("audio.wav")
output = pipeline({"waveform": waveform, "sample_rate": sample_rate})

Monitoring progress

Hooks are available to monitor the progress of the pipeline:

from pyannote.audio.pipelines.utils.hook import ProgressHook
with ProgressHook() as hook:
    output = pipeline("audio.wav", hook=hook)

Controlling the number of speakers

In case the number of speakers is known in advance, one can use the num_speakers option:

output = pipeline("audio.wav", num_speakers=2)

One can also provide lower and/or upper bounds on the number of speakers using min_speakers and max_speakers options:

output = pipeline("audio.wav", min_speakers=2, max_speakers=5)

Exclusive speaker diarization

Community-1 pretrained pipeline returns a new exclusive speaker diarization, on top of the regular speaker diarization, available as output.exclusive_speaker_diarization.

This is a feature which is backported from our latest commercial model that simplifies the reconciliation between fine-grained speaker diarization timestamps and (sometimes not so precise) transcription timestamps.

Offline use

  1. In the terminal, copy the pipeline on disk:
# make sure git-lfs is installed (

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

How it works

How audio & music work

Audio or textinputAudio modelrecognise / synthesiseText or audiooutputSpeech-to-text turns audio into text; text-to-speech and music models turn text into audio.
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms