feat: initial public release v0.1.0 — MLX port of pyannote-speaker-diarization-3.1

Byte-parity with pyannote-PyTorch reference (cosine 0.763718 identical
at 6 decimals on 200 cross-window slot pairs). 2.5x faster than
pyannote-MPS on Apple Silicon native.

Extracted from gitea.tavportal.com/olivier/MLX_CONVERTOR commit 5f9eafa.
This commit is contained in:
transcrilive
2026-05-09 16:05:39 +02:00
commit 2b1a3c1312
30 changed files with 2022 additions and 0 deletions

36
pyproject.toml Normal file
View File

@@ -0,0 +1,36 @@
[project]
name = "pyannote-speaker-diarization-3.1-mlx"
version = "0.1.0"
description = "MLX port of pyannote/speaker-diarization-3.1 with byte-parity to PyTorch reference"
readme = "README.md"
requires-python = ">=3.12,<3.14"
authors = [{ name = "Olivier Dupont", email = "olivier.dupont@taviramonaco.com" }]
license = { text = "MIT" }
keywords = ["mlx", "pyannote", "speaker-diarization", "apple-silicon"]
classifiers = [
"Programming Language :: Python :: 3.12",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
]
dependencies = [
"mlx>=0.21.0",
"torch>=2.5.0",
"torchaudio>=2.5.0",
"huggingface_hub>=0.26.0",
"safetensors>=0.4.5",
"librosa>=0.10.2",
"scipy>=1.14",
"numpy>=2.0",
"pyannote.audio>=4.0.4",
]
[project.optional-dependencies]
bench = ["psutil>=7.0"]
dev = ["pytest>=8.3", "pytest-mock>=3.14", "ruff>=0.7"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/pyannote_diarization_3_1_mlx"]