Speaker Diarization and VAD on Apple Silicon — MLX-Native Models
text
Speaker Diarization and VAD on Apple Silicon — MLX-Native Models
new_line
new_line
Three MLX-optimized models for on-device speaker diarization and voice activity detection, running natively on Apple Silicon via 
text
Three MLX-optimized models for on-device speaker diarization and voice activity detection, running natively on Apple Silicon via 
https://github.com/ivan-digital/qwen3-asr-swift
https://github.com/ivan-digital/qwen3-asr-swift
link
:
text
:
new_line
new_line
- 
text
- 
https://huggingface.co/aufklarer/Silero-VAD-v5-MLX
aufklarer/Silero-VAD-v5-MLX
model
resource
https://huggingface.co/aufklarer/Silero-VAD-v5-MLX
 — Streaming VAD, 309K params, ~1.2 MB. Processes 32ms chunks at 23× real-time on M2 Max.
text
 — Streaming VAD, 309K params, ~1.2 MB. Processes 32ms chunks at 23× real-time on M2 Max.
new_line
- 
text
- 
https://huggingface.co/aufklarer/Pyannote-Segmentation-MLX
aufklarer/Pyannote-Segmentation-MLX
model
resource
https://huggingface.co/aufklarer/Pyannote-Segmentation-MLX
 — Multi-speaker segmentation, ~1.49M params, ~5.7 MB. 7-class powerset output for up to 3 simultaneous speakers.
text
 — Multi-speaker segmentation, ~1.49M params, ~5.7 MB. 7-class powerset output for up to 3 simultaneous speakers.
new_line
- 
text
- 
https://huggingface.co/aufklarer/WeSpeaker-ResNet34-LM-MLX
aufklarer/WeSpeaker-ResNet34-LM-MLX
model
resource
https://huggingface.co/aufklarer/WeSpeaker-ResNet34-LM-MLX
 — Speaker embedding, ~6.6M params, ~25 MB. 256-dim L2-normalized vectors with BatchNorm fused into Conv2d.
text
 — Speaker embedding, ~6.6M params, ~25 MB. 256-dim L2-normalized vectors with BatchNorm fused into Conv2d.
new_line
new_line
Together they form a diarization pipeline: pyannote segments → WeSpeaker embeds → agglomerative clustering links speakers across the recording. ~32 MB total.
text
Together they form a diarization pipeline: pyannote segments → WeSpeaker embeds → agglomerative clustering links speakers across the recording. ~32 MB total.
new_line
new_line
git clone https://github.com/ivan-digital/qwen3-asr-swift
cd qwen3-asr-swift && swift build -c release

.build/release/audio diarize meeting.wav --max-speakers 4 --json
.build/release/audio vad-stream recording.wav
bash
```bash
git clone https://github.com/ivan-digital/qwen3-asr-swift
cd qwen3-asr-swift && swift build -c release

.build/release/audio diarize meeting.wav --max-speakers 4 --json
.build/release/audio vad-stream recording.wav
```
code_fence
new_line
new_line
The library also includes ASR, TTS, multilingual synthesis, forced alignment, and speech-to-speech (PersonaPlex 7B). Apache 2.0.
text
The library also includes ASR, TTS, multilingual synthesis, forced alignment, and speech-to-speech (PersonaPlex 7B). Apache 2.0.
new_line
new_line
Full architecture details: 
text
Full architecture details: 
https://blog.ivan.digital/speaker-diarization-and-voice-activity-detection-on-apple-silicon-native-swift-with-mlx
https://blog.ivan.digital/speaker-diarization-and-voice-activity-detection-on-apple-silicon-native-swift-with-mlx
link
text
new_line
new_line
Library: 
text
Library: 
https://github.com/ivan-digital/qwen3-asr-swift
https://github.com/ivan-digital/qwen3-asr-swift
link
Speaker Diarization and VAD on Apple Silicon — MLX-Native Models

Three MLX-optimized models for on-device speaker diarization and voice activity detection, running natively on Apple Silicon via https://github.com/ivan-digital/qwen3-asr-swift:

- https://huggingface.co/aufklarer/Silero-VAD-v5-MLX — Streaming VAD, 309K params, ~1.2 MB. Processes 32ms chunks at 23× real-time on M2 Max.
- https://huggingface.co/aufklarer/Pyannote-Segmentation-MLX — Multi-speaker segmentation, ~1.49M params, ~5.7 MB. 7-class powerset output for up to 3 simultaneous speakers.
- https://huggingface.co/aufklarer/WeSpeaker-ResNet34-LM-MLX — Speaker embedding, ~6.6M params, ~25 MB. 256-dim L2-normalized vectors with BatchNorm fused into Conv2d.

Together they form a diarization pipeline: pyannote segments → WeSpeaker embeds → agglomerative clustering links speakers across the recording. ~32 MB total.

```bash
git clone https://github.com/ivan-digital/qwen3-asr-swift
cd qwen3-asr-swift && swift build -c release

.build/release/audio diarize meeting.wav --max-speakers 4 --json
.build/release/audio vad-stream recording.wav
```

The library also includes ASR, TTS, multilingual synthesis, forced alignment, and speech-to-speech (PersonaPlex 7B). Apache 2.0.

Full architecture details: https://blog.ivan.digital/speaker-diarization-and-voice-activity-detection-on-apple-silicon-native-swift-with-mlx 

Library: https://github.com/ivan-digital/qwen3-asr-swift