File size: 5,593 Bytes
11973a8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | ---
license: other
license_name: scoped-cc-by-4.0
license_link: https://huggingface.co/FluidInference/speaker-diarization-coreml/blob/main/NOTICE.md
tags:
- speech
- audio
- voice
- speaker-diarization
- speaker-change-detection
- coreml
- speaker-segmentation
base_model:
- pyannote/speaker-diarization-community-1
pipeline_tag: voice-activity-detection
---
> Mirror of FluidInference/speaker-diarization-coreml at revision 7eab74f3463c736418d0eb10296261ae581146c9, kept by the PrivateWispr team as a backup host. Licence: scoped CC-BY-4.0 (mixed-licence repo; see NOTICE.md and LICENSE, kept unchanged). Original authors: pyannote (Community-1 pipeline, segmentation-3.0), WeSpeaker, BUT Speech@FIT (PLDA parameters) and FluidInference (Core ML conversions, modified from the originals). All model files are byte-identical to the upstream revision; only this header was added to the README.
# Speaker Diarization Core ML
Core ML conversions used by
[FluidAudio](https://github.com/FluidInference/FluidAudio) for on-device speaker
diarization on Apple platforms.
The supported Community-1 artifact set is distributed under CC-BY-4.0. See
[NOTICE.md](NOTICE.md) for attribution and the precise license scope, and
[PROVENANCE.md](PROVENANCE.md) plus [provenance.json](provenance.json) for
source, conversion, environment, and file-integrity records.
## Supported Community-1 artifacts
| Artifact | Source |
| --- | --- |
| `Segmentation.mlmodelc` | `pyannote/speaker-diarization-community-1/segmentation/pytorch_model.bin` |
| `FBank.mlmodelc` | Deterministic feature-extraction graph configured from the embedding checkpoint |
| `Embedding.mlmodelc` | `pyannote/speaker-diarization-community-1/embedding/pytorch_model.bin` |
| `PLDA.mlmodelc`, `PldaRho.mlmodelc` | `plda/plda.npz` and `plda/xvec_transform.npz` |
| `plda-parameters.json`, `xvector-transform.json` | Serialized tensors from the same two PLDA files |
The snapshot includes uncompiled packages for `Segmentation`, `FBank`,
`Embedding`, and `PldaRho` under `mlpackages/`; no uncompiled `PLDA` package was
published. These are Core ML conversions, not fine-tuned models.
## Provenance status
The artifacts are pinned by SHA-256 in `provenance.json`. Their historical
source lineage has been reconstructed from the public Community-1 repository,
artifact metadata, and the published conversion source. The exact local
upstream checkout and Mobius commit used for the original 2025 conversion were
not recorded, so the existing binaries are not described as a fully attested
reproducible build.
The immutable upstream reference used for reconstruction is
[`pyannote/speaker-diarization-community-1@3533c8cf`](https://huggingface.co/pyannote/speaker-diarization-community-1/tree/3533c8cf8e369892e6b79ff1bf80f7b0286a54ee).
The public historical conversion reference is
[`FluidInference/mobius@33fd6eab`](https://github.com/FluidInference/mobius/tree/33fd6eab634966ae7db4d73da3376a90379642fb/models/speaker-diarization/pyannote-community-1/coreml).
The current conversion pipeline requires a full upstream commit SHA, records
input and output hashes, embeds source metadata in each model, and captures the
build environment. It is available at
[`FluidInference/mobius@ffbc3c8`](https://github.com/FluidInference/mobius/tree/ffbc3c8cae2d0ac83912a005a25a2874ced98a3a/models/speaker-diarization/pyannote-community-1/coreml).
## Legacy compatibility artifacts
The repository also retains `pyannote_segmentation.mlmodelc`,
`wespeaker.mlmodelc`, `wespeaker_v2.mlmodelc`, and `wespeaker_int8.mlmodelc`
for FluidAudio's legacy online diarizer. They predate the Community-1 export
and are not covered by its license scope. They are Core ML conversions of
[`pyannote/segmentation-3.0`](https://huggingface.co/pyannote/segmentation-3.0)
(MIT) and [`pyannote/wespeaker-voxceleb-resnet34-LM`](https://huggingface.co/pyannote/wespeaker-voxceleb-resnet34-LM)
(CC-BY-4.0); see `NOTICE.md` for revisions, parity evidence, and attribution.
## Technical specifications
- Input: 16 kHz mono audio
- Output: speaker segments with timestamps and speaker identifiers
- Framework: Core ML converted from PyTorch
- Deployment target: iOS 17 / macOS 14 or later
- Community-1 conversion metadata: PyTorch 2.8.0, coremltools 9.0b1,
TorchScript source dialect
- Compiled MIL metadata: coremlc 3500.32.1, MIL 3500.14.1
## Usage
See the [FluidAudio diarization documentation](https://github.com/FluidInference/FluidAudio/tree/main/Documentation/Diarization).
## Citations
### Speaker segmentation
```bibtex
@inproceedings{Plaquet23,
author={Alexis Plaquet and Hervé Bredin},
title={{Powerset multi-class cross entropy loss for neural speaker diarization}},
year=2023,
booktitle={Proc. INTERSPEECH 2023},
}
```
### Speaker embedding
```bibtex
@inproceedings{Wang2023,
title={Wespeaker: A research and production oriented speaker embedding learning toolkit},
author={Wang, Hongji and Liang, Chengdong and Wang, Shuai and Chen, Zhengyang and Zhang, Binbin and Xiang, Xu and Deng, Yanlei and Qian, Yanmin},
booktitle={ICASSP 2023, IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
pages={1--5},
year={2023},
organization={IEEE}
}
```
### Speaker clustering
```bibtex
@article{Landini2022,
author={Landini, Federico and Profant, J{\'a}n and Diez, Mireia and Burget, Luk{\'a}{\v{s}}},
title={{Bayesian HMM clustering of x-vector sequences (VBx) in speaker diarization: theory, implementation and analysis on standard tasks}},
year={2022},
journal={Computer Speech & Language},
}
```
|