Instructions to use OpenASR/pyannote-segmentation-3.0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- OpenASR
How to use OpenASR/pyannote-segmentation-3.0 with OpenASR:
# 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
- Notebooks
- Google Colab
- Kaggle
OpenASR Release commited on
Commit Β·
672c5b6
unverified Β·
0
Parent(s):
publish pyannote-segmentation-3.0 OpenASR packs
Browse files- .gitattributes +1 -0
- README.md +101 -0
- pyannote-segmentation-3.0-f32.oasr +3 -0
.gitattributes
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
*.oasr filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
base_model: onnx-community/pyannote-segmentation-3.0
|
| 4 |
+
pipeline_tag: voice-activity-detection
|
| 5 |
+
library_name: openasr
|
| 6 |
+
tags:
|
| 7 |
+
- speaker-diarization
|
| 8 |
+
- openasr
|
| 9 |
+
- oasr
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
<div align="center">
|
| 13 |
+
|
| 14 |
+
# pyannote Segmentation 3.0 Β· OpenASR
|
| 15 |
+
|
| 16 |
+
**pyannote segmentation-3.0 β speaker-change and overlap aware speech segmentation for OpenASR diarization**
|
| 17 |
+
|
| 18 |
+
[](https://huggingface.co/onnx-community/pyannote-segmentation-3.0)
|
| 19 |
+
[](https://github.com/QuintinShaw/OpenASR)
|
| 20 |
+
[](https://openasr.org)
|
| 21 |
+
[](https://huggingface.co/onnx-community/pyannote-segmentation-3.0)
|
| 22 |
+
|
| 23 |
+
Speaker-diarization support pack for the **[OpenASR](https://github.com/QuintinShaw/OpenASR)** runtime β
|
| 24 |
+
pure-Rust inference, **no Python at inference time**.
|
| 25 |
+
|
| 26 |
+
</div>
|
| 27 |
+
|
| 28 |
+
---
|
| 29 |
+
|
| 30 |
+
## β¨ Highlights
|
| 31 |
+
|
| 32 |
+
- βοΈ **Speaker-change aware segmentation** β PyanNet (SincNet + BiLSTM) with a powerset head that detects up to 3 concurrent speakers, including overlapped speech
|
| 33 |
+
- π€ **Quality upgrade for `--diarize`** β installed alongside the CAM++ embedder pack, it replaces coarse VAD slices with fine speaker-turn boundaries
|
| 34 |
+
- π **Diarization, not identification** β anonymous session-relative labels; nothing leaves the machine
|
| 35 |
+
- π― **Bit-exact packaging** β single raw-f32 build; the pure-Rust forward pass matches the upstream ONNX logits (max abs error ~7e-5)
|
| 36 |
+
- π¦ **Native in OpenASR** β `.oasr` packs run with no Python at inference, engineered for peak performance on CPU & GPU
|
| 37 |
+
|
| 38 |
+
## π Quickstart
|
| 39 |
+
|
| 40 |
+
```bash
|
| 41 |
+
# 1. Install the OpenASR CLI Β· https://openasr.org
|
| 42 |
+
# 2. Pull the pack
|
| 43 |
+
openasr pull pyannote-segmentation-3.0:f32
|
| 44 |
+
|
| 45 |
+
# 3. Diarize any transcription (works with every OpenASR ASR model)
|
| 46 |
+
openasr transcribe meeting.wav --model xasr-zh-en --diarize --format srt
|
| 47 |
+
```
|
| 48 |
+
|
| 49 |
+
## π¦ Pack
|
| 50 |
+
|
| 51 |
+
| Quant | File (`.oasr`) | Size |
|
| 52 |
+
|:------|:---------------|-----:|
|
| 53 |
+
| f32 | `pyannote-segmentation-3.0-f32.oasr` | 6 MB |
|
| 54 |
+
|
| 55 |
+
<sub>Single raw-**f32** build: the pure-Rust forward pass consumes f32 directly and the
|
| 56 |
+
parity gates assert bit-exact outputs vs the upstream weights, so no integer
|
| 57 |
+
quantization is produced.</sub>
|
| 58 |
+
|
| 59 |
+
## π§ About pyannote Segmentation 3.0
|
| 60 |
+
|
| 61 |
+
pyannote **segmentation-3.0** is the local speech-segmentation model from the pyannote speaker
|
| 62 |
+
diarization toolkit: a PyanNet (SincNet front-end + bidirectional LSTM) classifier over a 7-class
|
| 63 |
+
powerset that labels every 10 s window with which of up to three speakers are active β including
|
| 64 |
+
overlapped speech. OpenASR uses it as the optional segmentation stage of its model-agnostic
|
| 65 |
+
diarization pipeline: when this pack is installed, `--diarize` splits speech at speaker changes
|
| 66 |
+
instead of relying on coarse VAD slices, then the CAM++ embedder pack clusters the segments into
|
| 67 |
+
anonymous speaker turns. Weights are extracted from the un-gated, MIT-licensed
|
| 68 |
+
**onnx-community** ONNX mirror at a pinned revision and repackaged as a raw-f32 `.oasr` pack that
|
| 69 |
+
runs in pure Rust β no Python at inference time.
|
| 70 |
+
|
| 71 |
+
## βοΈ How this pack was made
|
| 72 |
+
|
| 73 |
+
Converted from [onnx-community/pyannote-segmentation-3.0](https://huggingface.co/onnx-community/pyannote-segmentation-3.0) with the OpenASR importer:
|
| 74 |
+
|
| 75 |
+
```bash
|
| 76 |
+
openasr model-pack import-pyannote-local <src>.safetensors <out>.oasr \
|
| 77 |
+
--package-id pyannote-segmentation-3.0
|
| 78 |
+
```
|
| 79 |
+
|
| 80 |
+
The `.oasr` container is GGUF-backed; every tensor is stored as raw f32 so the
|
| 81 |
+
pack round-trips bit-identically against the source weights.
|
| 82 |
+
|
| 83 |
+
## βοΈ License
|
| 84 |
+
|
| 85 |
+
This pack **inherits the upstream model's license: MIT**
|
| 86 |
+
([source](https://huggingface.co/onnx-community/pyannote-segmentation-3.0)). OpenASR packaging retains the upstream copyright;
|
| 87 |
+
the only modification is format conversion.
|
| 88 |
+
|
| 89 |
+
## π Acknowledgements
|
| 90 |
+
|
| 91 |
+
This pack is a redistribution of **pyannote segmentation-3.0**, created by HervΓ© Bredin and the
|
| 92 |
+
**pyannote.audio** project, via the un-gated ONNX mirror
|
| 93 |
+
([onnx-community/pyannote-segmentation-3.0](https://huggingface.co/onnx-community/pyannote-segmentation-3.0)).
|
| 94 |
+
All credit for the architecture, training, and weights belongs to the upstream authors; the license
|
| 95 |
+
is inherited from and identical to the upstream model (MIT).
|
| 96 |
+
|
| 97 |
+
## π Links
|
| 98 |
+
|
| 99 |
+
- π¦ **OpenASR** β <https://github.com/QuintinShaw/OpenASR>
|
| 100 |
+
- π **Website** β <https://openasr.org>
|
| 101 |
+
- π€ **Upstream model** β [onnx-community/pyannote-segmentation-3.0](https://huggingface.co/onnx-community/pyannote-segmentation-3.0)
|
pyannote-segmentation-3.0-f32.oasr
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:48151e322a0a9bb318000994e33991bdeeedb14aec5c8ea4cdb0ad2f63cb60af
|
| 3 |
+
size 5975392
|