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

View File

@@ -0,0 +1,12 @@
import mlx.core as mx
from pyannote_diarization_3_1_mlx._sincnet import SincNet
def test_sincnet_output_shape_589_frames():
"""For pyannote 3.1, 10s @ 16kHz input → 589 frames out."""
net = SincNet(sample_rate=16000)
x = mx.zeros((1, 1, 16000 * 10)) # (B, C, T)
out = net(x)
# Expect (1, 60, 589) per upstream PyanNet.SincNet output
assert out.shape[-1] == 589, f"got frames={out.shape[-1]}"
assert out.shape[1] == 60, f"got channels={out.shape[1]}"