Skip to content

pyannote

Python toolkit for figuring out who spoke when in an audio recording, using pretrained PyTorch models.pyannote/pyannote-audio

Stars
10.8k
Forks
1.1k
Licence
MIT
Language
Jupyter Notebook
Last update
12 days ago
Type
Library

What it is

pyannote.audio is an open-source Python toolkit for speaker diarization, which means splitting a recording into segments and labeling which speaker is talking at each point. It is built on PyTorch and ships with pretrained models and pipelines that can be fine-tuned on your own data. The README also describes a paid hosted service, pyannoteAI, as an optional premium option.

  • Label speaker turns in a recorded meeting and print start and end times per speaker
  • Run the pretrained community-1 pipeline locally on a GPU when one is available
  • Fine-tune a pretrained pipeline on your own labeled audio
  • Use the pyannoteAI hosted precision-2 pipeline when you prefer not to run models yourself

Great for

  • Developers who want to add speaker separation to a Python audio workflow
  • Researchers comparing or fine-tuning speaker diarization models
  • Teams processing meeting or interview recordings who can run PyTorch code
  • Users who want a pretrained pipeline without training their own model

Not ideal for

  • People who need a no-code app: the README only shows Python code samples
  • Users who cannot accept the model conditions and Hugging Face token step, since the pretrained pipeline requires them
  • Anyone with no Python experience, because setup involves ffmpeg, a package install, and an access token
Step-by-step guide: how to use pyannoteInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python · ffmpeg · A Hugging Face account and access token · uv or pip

    Install with uv (recommended)

    uv add pyannote.audio

    Install with pip

    pip install pyannote.audio
  2. 2

    Run it

    • Install ffmpeg on your machine
    • Accept the user conditions for pyannote/speaker-diarization-community-1 on Hugging Face
    • Create a Hugging Face access token and use it in Pipeline.from_pretrained
    • Run the pipeline on an audio.wav file and print the speaker turns
  3. 3

    Get the most out of it

    • Pass a progress hook (ProgressHook) to see processing progress on long files
    • Move the pipeline to a GPU with pipeline.to(torch.device("cuda")) when available
    • Use the telemetry settings in the README if you want to opt in or out of anonymous usage metrics
    • Browse the Hugging Face pipeline and model collections linked from the README for other pretrained options

Downloads

Strengths

  • Built on PyTorch with pretrained pipelines available on the Hugging Face model hub
  • Python-first API with a short example that produces readable speaker turns
  • MIT licensed and actively maintained, with a latest release of 4.0.7 and a recent push

Trade-offs

  • Pretrained pipelines require accepting user conditions and creating a Hugging Face access token before use
  • Benchmark numbers in the README come from the project itself and are not independently verified here
  • Some features and the fastest version point to the paid pyannoteAI service

How it compares

ProjectStarsTypeLevelUpdatedBest for
pyannote-audio (this)10.8kLibraryintermediate12 days agoDevelopers who want to add speaker separation to a Python audio workflow
FunASR20.9kLibraryintermediate4 days agoDevelopers who want to transcribe audio in Python with a pretrained model
silero-vad10.6kLibraryintermediate15 days agoDevelopers adding speech detection to Python apps
spleeter28.5kLibraryintermediate8 days agoMusicians or producers who want quick vocal or accompaniment separation from a song
ultimatevocalremovergui26.9kAppbeginner30 days agoMusicians who want karaoke or practice backing tracks from existing songs
pytorch_geometric24.1kLibraryintermediate15 days agoResearchers who want ready-made implementations of published graph neural network methods

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.