Skip to content
Projects

wq2012/awesome-diarization

View on GitHub

wq2012/awesome-diarization has 1,916 GitHub stars and 252 forks. GitHot measured +1 stars in 24 hours and +1 in 7 days. Last checked 2026-11-06 15:48 UTC. Last push 2026-10-26.

How these counts are measured

A curated list of awesome Speaker Diarization papers, libraries, datasets, and other resources.

Measured star growth

in 24h
+1
in 7 days
+1
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Awesome Speaker Diarization Awesome Contribution

Table of contents

Overview

This is a curated list of awesome Speaker Diarization papers, libraries, datasets, and other resources.

The purpose of this repo is to organize the world’s resources for speaker diarization, and make them universally accessible and useful.

To add items to this page, simply send a pull request. (contributing guide)

Software

Framework

Link Language Description
FunASR GitHub stars Python & PyTorch Industrial-grade speech recognition toolkit with built-in speaker diarization (cam++), VAD, ASR (SenseVoice/Paraformer), and punctuation. 50+ languages, 170x realtime.
NVIDIA NeMo Speech GitHub stars Python & PyTorch Scalable generative AI and speech toolkit featuring end-to-end and modular speaker diarization (Sortformer, MSDD, TitaNet speaker embeddings, MarbleNet VAD, and joint ASR-diarization pipelines).
WhisperX GitHub stars Python & PyTorch Fast automatic speech recognition with word-level timestamps (phoneme forced alignment) and speaker diarization via pyannote-audio.
ESPnet GitHub stars Python & PyTorch End-to-end speech processing toolkit including neural speaker diarization (EEND, EEND-EDA) and joint speech enhancement/separation and diarization recipes.
3D-Speaker GitHub stars Python & PyTorch & C++ Open-source toolkit for single- and multi-modal (audio-visual) speaker verification, recognition, and speaker diarization (CAM++, ERes2Net, overlap detection, and ONNX runtime).
MiniVox GitHub stars MATLAB MiniVox is an open-source evaluation system for the online speaker diarization task.
SpeechBrain GitHub stars Python & PyTorch SpeechBrain is an open-source and all-in-one speech toolkit based on PyTorch.
SIDEKIT for diarization (s4d) Python An open-source package extension of SIDEKIT for speaker diarization (source).
pyAudioAnalysis GitHub stars Python Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications.
AaltoASR GitHub stars Python & Perl Speaker diarization scripts, based on AaltoASR.
LIUM SpkDiarization Java LIUM_SpkDiarization is software dedicated to speaker diarization (i.e. speaker segmentation and clustering). It is written in Java, and includes developments in the domain (as of 2013).
kaldi-asr GitHub stars Bash Example scripts for speaker diarization on a portion of CALLHOME used in the 2000 NIST speaker recognition evaluation.
kaldi-speaker-diarization GitHub stars Bash Icelandic speaker diarization scripts using kaldi.
Alize LIA_SpkSeg GitHub stars C++ ALIZÉ is an open-source platform for speaker recognition; LIA_SpkSeg provides the tools for speaker diarization.
pyannote-audio GitHub stars Python & PyTorch Neural building blocks for speaker diarization: speech activity detection, speaker change detection, speaker embedding.
pyBK GitHub stars Python Speaker diarization using binary key speaker modelling. Computationally light solution that does not require external training data.
Speaker-Diarization GitHub stars Python Speaker diarization using uis-rnn and GhostVLAD. An easier way to support openset speakers.
EEND GitHub stars Python & Bash & Perl End-to-End Neural Diarization.
VBx GitHub stars Python Variational Bayes HMM over x-vectors diarization. x-vector extractor recipe
RE-VERB GitHub stars Python & JavaScript RE: VERB is speaker diarization system, it allows the user to send/record audio of a conversation and receive timestamps of who spoke when.
diart GitHub stars Python & PyTorch Real-time/streaming speaker diarization extending pyannote.audio to online processing (formerly StreamingSpeakerDiarization).
simple_diarizer GitHub stars Python Simplified diarization pipeline using pretrained models. Made to be as simple as possible to go from an input audio file to diarized segments.
Picovoice Falcon GitHub stars C & Python A lightweight, accurate, and fast speaker diarization engine written in C and available in Python, running on CPU with minimal overhead.
DiaPer GitHub stars Python & PyTorch PyTorch implementation for DiaPer: End-to-End Neural Diarization with Perceiver-Based Attractors including models pre-trained on free and public data.
sherpa-onnx GitHub stars C++ & C & C# & Dart & Go & Java & JavaScript & Kotlin & Pascal & Python & Rust & Swift Supports speaker diarization, speech recognition, and text-to-speech on various platforms with various language bindings.
FluidAudio GitHub stars Swift A native Swift speaker diarization library for Apple platforms, using CoreML for efficient, real-time audio processing with high accuracy.
speakrs GitHub stars Rust & Python Rust implementation of the pyannote community-1 diarization pipeline (segmentation, embedding, PLDA, VBx clustering) with native CPU, CUDA, and CoreML backends. 7.0% DER on VoxConverse dev at 1912x realtime on an RTX 4090.
diarizers GitHub stars Build Status Python & PyTorch Unified pipeline for ASR, standalone speaker diarization (neural segmentation, ECAPA-TDNN speaker embeddings, spectral clustering), and DiarizationLM post-processing, with an interactive Hugging Face Space.

Evaluation

Link Language Description
pyannote-metrics GitHub stars Python A toolkit for reproducible evaluation, diagnostic, and error analysis of speaker diarization systems.
SimpleDER GitHub stars Build Status Python A lightweight library to compute Diarization Error Rate (DER), Jaccard Error Rate (JER), and Word Diarization Error Rate (WDER).
DiarizationLM GitHub stars Build Status Python Implements Word Error Rate (WER), Word Diarization Error Rate (WDER), and concatenated minimum-permutation Word Error Rate (cpWER).
NIST md-eval Perl (1) md-eval-v21.pl from jitendra; (2) md-eval-22.pl from nryant
dscore GitHub stars Python & Perl Diarization scoring tools.
Sequence Match Accuracy GitHub stars Python Match the accuracy of two sequences with Hungarian algorithm.
spyder GitHub stars Python & C++ Simple Python package for fast DER computation.
CDER GitHub stars Python Conversational DER from The Conversational Short-phrase Speaker Diarization (CSSD) Task: Dataset, Evaluation Metric and Baselines
Selective Collar GitHub stars Python Selective collar for mitigating evaluation bias in speaker diarization from Beyond Uniform Forgiveness: Introducing the Selective Collar to Mitigate Evaluation Bias in Speaker Diarization

Clustering

Link Language Description
uis-rnn GitHub stars Python & PyTorch Google's Unbounded Interleaved-State Recurrent Neural Network (UIS-RNN) algorithm, for Fully Supervised Speaker Diarization. This clustering algorithm is supervised.
uis-rnn-sml GitHub stars Python & PyTorch A variant of UIS-RNN, for the paper Supervised Online Diarization with Sample Mean Loss for Multi-Domain Data.
DNC GitHub stars Python & ESPnet Transformer-based Discriminative Neural Clustering (DNC) for Speaker Diarisation. Like UIS-RNN, it is supervised.
SpectralCluster GitHub stars Python Spectral clustering with affinity matrix refinement operations, auto-tune, and speaker turn constraints.
sklearn.cluster Python scikit-learn clustering algorithms.
PLDA GitHub stars Python Probabilistic Linear Discriminant Analysis & classification, written in Python.
PLDA GitHub stars C++ Open-source implementation of simplified PLDA (Probabilistic Linear Discriminant Analysis).
Auto-Tuning Spectral Clustering GitHub stars Python Auto-tuning Spectral Clustering method that does not need development set or supervised tuning.

Speaker embedding

Link Method Language Description
resemble-ai/Resemblyzer GitHub stars d-vector Python & PyTorch PyTorch implementation of generalized end-to-end loss for speaker verification, which can be used for voice cloning and diarization.
Speaker_Verification GitHub stars d-vector Python & TensorFlow TensorFlow implementation of generalized end-to-end loss for speaker verification.
PyTorch_Speaker_Verification GitHub stars d-vector Python & PyTorch PyTorch implementation of "Generalized End-to-End Loss for Speaker Verification" by Wan, Li et al. With UIS-RNN integration.
Real-Time Voice Cloning GitHub stars d-vector Python & PyTorch Implementation of "Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis" (SV2TTS) with a vocoder that works in real-time.
conformer-speaker-encoder d-vector Python & TFLite Massively multilingual conformer-based speaker recognition models in TFLite format.
deep-speaker GitHub stars d-vector Python & Keras Third party implementation of the Baidu paper Deep Speaker: an End-to-End Neural Speaker Embedding System.
x-vector-kaldi-tf GitHub stars x-vector Python & TensorFlow & Perl TensorFlow implementation of x-vector topology on top of Kaldi recipe.
kaldi-ivector GitHub stars i-vector C++ & Perl Extension to Kaldi implementing the standard i-vector hyperparameter estimation and i-vector extraction procedure.
voxceleb-ivector GitHub stars i-vector Perl Voxceleb1 i-vector based speaker recognition system.
pytorch_xvectors GitHub stars x-vector Python & PyTorch PyTorch implementation of Voxceleb x-vectors. Additionally, includes meta-learning architectures for embedding training. Evaluated with speaker diarization and speaker verification.
ASVtorch i-vector Python & PyTorch ASVtorch is a toolkit for automatic speaker recognition.
asv-subtools GitHub stars i-vector & x-vector Kaldi & PyTorch ASV-Subtools is developed based on PyTorch and Kaldi for the task of speaker recognition, language identification, etc. The 'sub' of 'subtools' means that there are many modular tools and the parts constitute the whole.
WeSpeaker GitHub stars x-vector & r-vector Python & C++ & PyTorch WeSpeaker is a research and production oriented speaker verification, recognition and diarization toolkit, which supports very strong recipes with on-the-fly data preparation, model training and evaluation, as well as runtime C++ codes.
ReDimNet GitHub stars improved resnet Python & PyTorch Neural network architecture presented in the paper Reshape Dimensions Network for Speaker Recognition

Speaker change detection

Link Language Description
change_detection GitHub stars Python & Keras Code for Speaker Change Detection in Broadcast TV using Bidirectional Long Short-Term Memory Networks.
tinydiarize GitHub stars Python & PyTorch Diarization inside OpenAI Whisper decoder

Audio feature extraction

Link Language Description
LibROSA GitHub stars Python Python library for audio and music analysis. https://librosa.github.io/
python_speech_features GitHub stars Python This library provides common speech features for ASR including MFCCs and filterbank energies. https://python-speech-features.readthedocs.io/en/latest/
pyAudioAnalysis GitHub stars Python Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications.

Audio data augmentation

Link Language Description
pyroomacoustics GitHub stars Python Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios. https://pyroomacoustics.readthedocs.io
gpuRIR GitHub stars Python Python library for Room Impulse Response (RIR) simulation with GPU acceleration
rir_simulator_python GitHub stars Python Room impulse response simulator using python
WavAugment GitHub stars Python & PyTorch WavAugment performs data augmentation on audio data. The audio data is represented as PyTorch tensors.
EEND_dataprep GitHub stars Bash & Python Recipes for generating simulated conversations used to train end-to-end diarization models.

Other software

Link Language Description
VB Diarization GitHub stars Python VB Diarization with Eigenvoice and HMM Priors.
DOVER-Lap GitHub stars Python Python package for combining diarization system outputs
Diar-az GitHub stars Bash & Python Data formatting tool to support the ruv-di dataset. Kaldi to Gecko to Kaldi and corpus and back.
voxsolo GitHub stars Python Verbatim per-speaker audio from diarization: keeps one speaker bit-exact, silences other speakers and overlapped speech; exports EDL/SRT/VTT/Audacity labels for editors.
VoxLock GitHub stars Python Streaming target speaker extraction: keeps one speaker's voice and removes the other voices in the room before speech recognition. 27M parameters, 24 ms algorithmic latency on CPU, ONNX and safetensors weights.
OATS GitHub stars Rust & TypeScript Open-source macOS app for meeting transcription and notes with speaker diarization (FluidAudio) and optional fully offline mode.
akou GitHub stars TypeScript & Rust Open-source macOS app that records calls and meetings and transcribes them on-device, with speaker labels from NVIDIA Nemotron 3 Diarization.
Local Transcriber GitHub stars Python & Swift macOS menu bar app that records calls and meetings and transcribes them on-device (Whisper large-v3-turbo on MLX), with pyannote diarization per audio track and a voice database that recognizes known speakers.

Datasets

Diarization datasets

Audio Diarization ground truth Language Pricing Additional information
2000 NIST Speaker Recognition Evaluation Disk-6 (Switchboard), Disk-8 (CALLHOME) Multiple $500.00 Evaluation Plan
2003 NIST Rich Transcription Evaluation Data Together with audios en, ar, zh $2000.00 Telephone speech, broadcast news.
CALLHOME American English Speech CALLHOME American English Transcripts en $1500.00 + $1000.00 CH109 whitelist
The ICSI Meeting Corpus Together with audios en Free ~72 hours (75 meetings). License (CC BY 4.0)
The AMI Meeting Corpus Together with audios (need to be processed; see ami-diarization-setup) en Free 100 hours of multi-accent English meetings. License (CC BY 4.0)
Fisher English Training Speech Part 1 Speech Fisher English Training Speech Part 1 Transcripts en $7000.00 + $1000.00 Conversational telephone speech (5,850 calls, ~975 hours).
Fisher English Training Part 2, Speech Fisher English Training Part 2, Transcripts en $7000.00 + $1000.00 Conversational telephone speech (5,849 calls, ~975 hours).
DIHARD III (Eval) Together with audios en, zh $300.00 + $300.00 68.15 hours (34.15h dev + 34.00h eval) across 11 diverse acoustic domains (clinical, courtroom, restaurant, web video, CTS, etc.).
VoxConverse Dev & Test RTTMs (v0.3) Multiple (mostly en) Free Audio-visual diarisation dataset of 63.8 hours across 448 multispeaker YouTube clips (CC BY 4.0).
CHiME-6 Together with audios en Free ~50 hours (20 4-speaker dinner-party sessions) recorded on distant Kinect microphone arrays and binaural microphones (OpenSLR 150).
AISHELL-4 Together with audios zh Free 120 hours (211 sessions, 4–8 speakers per session) of real Mandarin multi-party meetings recorded on an 8-channel circular mic array + headsets (CC BY-SA 4.0).
MiniVox Benchmark Generated automatically en Free MiniVox is an automatic framework to transform any speaker-labelled dataset into continuous speech datastream with episodically revealed label feedbacks.
The AliMeeting Corpus Together with audios zh Free 118.75 hours of real Mandarin meetings (far-field 8-ch mic array + near-field headsets, ~42% overlap in train; CC BY-SA 4.0). Baseline repo.

Speaker embedding training sets

Name Utterances Speakers Language Pricing Additional information
TIMIT 6.3K 630 en $250.00 Published in 1993, the TIMIT corpus of read speech is one of the earliest speaker recognition datasets.
VCTK 44K 110 en Free CSTR VCTK Corpus (v0.92, CC BY 4.0). Newspaper sentences plus the Rainbow Passage and an elicitation paragraph across diverse English accents.
LibriSpeech 292K 2.4K+ en Free Large-scale (~1,000 hours) corpus of read English speech (CC BY 4.0).
Multilingual LibriSpeech (MLS) 12.3M 6.3K+ en, de, nl, es, fr, it, pt, pl Free Large-scale (~50.8K hours) multilingual corpus derived from read audiobooks from LibriVox across 8 languages - English, German, Dutch, Spanish, French, Italian, Portuguese, Polish (CC BY 4.0).
LibriVox 350K+ chapters 14.9K+ Multiple Free Free public-domain audiobooks (21.8K+ cataloged works across 49 languages). LibriSpeech and MLS are processed subsets of LibriVox. Each unsegmented chapter recording can be very long.
VoxCeleb 1&2 1.28M+ 7.3K+ Multiple Free Audio-visual dataset (~2,794 hours) consisting of short clips of human speech extracted from YouTube interview videos (CC BY-SA 4.0).
The Spoken Wikipedia Corpora 5.4K articles 879 en, de, nl Free Volunteer readers reading full Wikipedia articles (~1,005 hours total, CC BY-SA 4.0).
CN-Celeb 1&2 660K 3K zh Free Multi-genre Chinese speaker recognition corpus (~1,364 hours across 11 genres: CN-Celeb1 + CN-Celeb2; CC BY-SA 4.0) released by CSLT@Tsinghua University.
BookTubeSpeech 8.4K videos 8.4K en Free Audio samples (~1,090 hours) extracted from BookTube YouTube videos (CC BY 4.0). The dataset can be downloaded using BookTubeSpeech-download.
DeepMine 540K+ 1,858 fa, en Paid (contact authors) A speech database in Persian and English (>480 hours transcribed) designed to build and evaluate speaker verification and Persian ASR systems.
NISP-Dataset 28K+ 345 en, hi, kn, ml, ta, te Free Multi-accent Indian English and 5 Indian languages (56.9 hours, CC BY 4.0) along with speaker physical parameters (height, weight, ...) and regional/linguistic metadata.
VoxBlink2 9.9M 111K+ 18 languages (en, pt, es, ru, ar, ...) Free Multilingual dataset (~16,672 hours, CC BY-NC-SA 4.0) from VoxBlink2: A 100K+ Speaker Recognition Corpus and the Open-Set Speaker-Identification Benchmark

Augmentation noise sources

Name Utterances Pricing Additional information
AudioSet 2M+ Free A large-scale dataset of 2.08M human-annotated 10-second audio event clips (~5,789 hours; CC BY 4.0).
MUSAN 2K+ (~109 hours) Free Corpus of music (42.5h), speech (~60h), and noise (~6h, 929 files) recordings (CC BY 4.0).
RIRS_NOISES 60K+ RIRs & noises Free Simulated and real room impulse responses plus isotropic and point-source noises at 16 kHz (Apache 2.0).

Conferences

Conference/Workshop Frequency Page Limit Organization Double-Blind Review
ICASSP Annual 4 + 1 (ref) IEEE No
Interspeech Annual 4 + 2 (ref) ISCA Yes
Speaker Odyssey Biennial 6 + 2 (ref) ISCA Yes
SLT Biennial 6 + 2 (ref) IEEE Yes
ASRU Biennial 6 + 2 (ref) IEEE Yes
WASPAA Biennial 4 + 1 (ref) IEEE Yes
IJCB Annual 8 + unlimited (ref) IEEE & IAPR TC-4 Yes

Products

Company Product
Google Recorder app
Google Google Cloud Speech-to-Text API
Google Gemini 3.5 Transcribe
Amazon Amazon Transcribe
Microsoft Azure AI Speech Diarization API
IBM Watson Speech to Text
Alibaba Tongyi Tingwu (通义听悟)
pyannoteAI pyannoteAI - commercial cloud API and speaker diarization models from the creators of pyannote.audio
AssemblyAI Speaker Diarization API
Deepgram Diarization API
Speechmatics Speaker Diarization API
ElevenLabs Scribe Speech to Text
Kviskr Kviskr - macOS app for local dictation and meeting transcription with speaker diarization using NB-Whisper
diarize diarize.io - hosted API and web app for speaker-labeled transcripts of YouTube and other video links
Screenpipe Screenpipe - Desktop screen/audio history with speaker diarization, local storage, and optional cloud transcription (source-available, Screenpipe Commercial License)

Publications

Special topics

Review and survey papers

Large language model (LLM)

Supervised diarization

Joint diarization and ASR

Online speaker diarization

Challenges

Audio-Visual Speaker Diarization

Other

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2011

2009

2008

2006

Other learning materials

Online courses

Books

Tech blogs

Video tutorials

Star History

Explore related projects