How to use from the
Use from the
OpenASR library
# Install the openasr CLI: https://github.com/QuintinShaw/openasr/releases
openasr pull pyannote-segmentation-3.0
openasr transcribe audio.wav --model pyannote-segmentation-3.0

pyannote Segmentation 3.0 Β· OpenASR

pyannote segmentation-3.0 β€” speaker-change and overlap aware speech segmentation for OpenASR diarization

License Format Runtime Base model

Speaker-diarization support pack for the OpenASR runtime β€” pure-Rust inference, no Python at inference time.


✨ Highlights

  • βœ‚οΈ Speaker-change aware segmentation β€” PyanNet (SincNet + BiLSTM) with a powerset head that detects up to 3 concurrent speakers, including overlapped speech
  • 🀝 Quality upgrade for --diarize β€” installed alongside the WeSpeaker embedder pack, it replaces coarse VAD slices with fine speaker-turn boundaries
  • πŸ”’ Diarization, not identification β€” anonymous session-relative labels; nothing leaves the machine
  • 🎯 Bit-exact packaging β€” single raw-f32 build; the pure-Rust forward pass matches the upstream ONNX logits (max abs error ~7e-5)
  • πŸ¦€ Native in OpenASR β€” .oasr packs run with no Python at inference, engineered for peak performance on CPU & GPU

πŸš€ Quickstart

# 1. Install the OpenASR CLI  Β·  https://openasr.org
# 2. Pull the pack
openasr pull pyannote-segmentation-3.0:f32

# 3. Diarize any transcription (works with every OpenASR ASR model)
openasr transcribe meeting.wav --model xasr-zh-en --diarize --format srt

πŸ“¦ Pack

Quant File (.oasr) Size
f32 pyannote-segmentation-3.0-f32.oasr 6 MB

Single raw-f32 build: the pure-Rust forward pass consumes f32 directly and the parity gates assert bit-exact outputs vs the upstream weights, so no integer quantization is produced.

🧠 About pyannote Segmentation 3.0

pyannote segmentation-3.0 is the local speech-segmentation model from the pyannote speaker diarization toolkit: a PyanNet (SincNet front-end + bidirectional LSTM) classifier over a 7-class powerset that labels every 10 s window with which of up to three speakers are active β€” including overlapped speech. OpenASR uses it as the optional segmentation stage of its model-agnostic diarization pipeline: when this pack is installed, --diarize splits speech at speaker changes instead of relying on coarse VAD slices, then the WeSpeaker embedder pack clusters the segments into anonymous speaker turns. Weights are extracted from the un-gated, MIT-licensed onnx-community ONNX mirror at a pinned revision and repackaged as a raw-f32 .oasr pack that runs in pure Rust β€” no Python at inference time.

βš™οΈ How this pack was made

Converted from onnx-community/pyannote-segmentation-3.0 with the OpenASR importer:

openasr model-pack import pyannote <src>.safetensors <out>.oasr \
  --package-id pyannote-segmentation-3.0

The .oasr container is GGUF-backed; every tensor is stored as raw f32 so the pack round-trips bit-identically against the source weights.

βš–οΈ License

This pack inherits the upstream model's license: MIT (source). OpenASR packaging retains the upstream copyright; the only modification is format conversion.

πŸ™ Acknowledgements

This pack is a redistribution of pyannote segmentation-3.0, created by HervΓ© Bredin and the pyannote.audio project, via the un-gated ONNX mirror (onnx-community/pyannote-segmentation-3.0). All credit for the architecture, training, and weights belongs to the upstream authors; the license is inherited from and identical to the upstream model (MIT).

πŸ”— Links

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for OpenASR/pyannote-segmentation-3.0

Finetuned
(1)
this model