mlx-community/diar_sortformer_4spk-v1-fp32

Model

0

stars

2

commits

5

linked in READMEs

Feb 10, 2026

updated

mlx
mlx-audio
safetensors
sortformer
speaker-diarization
speech
vad
voice-activity-detection
Browse cluster: Voice Activity Detection (VAD)

README

mlx-community/diar_sortformer_4spk-v1-fp32

This model was converted to MLX format from nvidia/diar_sortformer_4spk-v1 using mlx-audio version 0.3.2.

Refer to the original model card for more details on the model.

Use with mlx-audio

pip install -U mlx-audio

Python Example — Offline Inference:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")
result = model.generate("meeting.wav", threshold=0.5, verbose=True)
print(result.text)

for seg in result.segments:
    print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Python Example — Streaming Inference:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")

for result in model.generate_stream("meeting.wav", chunk_duration=5.0):
    for seg in result.segments:
        print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Python Example — Real-time Microphone Streaming:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")
state = model.init_streaming_state()

for chunk in mic_stream():  # your audio source
    result, state = model.feed(chunk, state, sample_rate=16000)
    for seg in result.segments:
        print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Model Details

  • Architecture: FastConformer (18 layers) + Transformer Encoder (18 layers) + Sortformer Modules
  • Mel bins: 80
  • Max speakers: 4
  • Input: 16kHz mono audio
  • Output: Per-frame speaker activity probabilities

Ported from NVIDIA NeMo SortformerEncLabelModel.

Contributors

prince-canuma

2 commits

mlx-community/diar_sortformer_4spk-v1-fp32

Model

0

stars

2

commits

5

linked in READMEs

Feb 10, 2026

updated

mlx
mlx-audio
safetensors
sortformer
speaker-diarization
speech
vad
voice-activity-detection
Browse cluster: Voice Activity Detection (VAD)

README

mlx-community/diar_sortformer_4spk-v1-fp32

This model was converted to MLX format from nvidia/diar_sortformer_4spk-v1 using mlx-audio version 0.3.2.

Refer to the original model card for more details on the model.

Use with mlx-audio

pip install -U mlx-audio

Python Example — Offline Inference:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")
result = model.generate("meeting.wav", threshold=0.5, verbose=True)
print(result.text)

for seg in result.segments:
    print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Python Example — Streaming Inference:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")

for result in model.generate_stream("meeting.wav", chunk_duration=5.0):
    for seg in result.segments:
        print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Python Example — Real-time Microphone Streaming:

from mlx_audio.vad import load

model = load("mlx-community/diar_sortformer_4spk-v1-fp32")
state = model.init_streaming_state()

for chunk in mic_stream():  # your audio source
    result, state = model.feed(chunk, state, sample_rate=16000)
    for seg in result.segments:
        print(f"Speaker {seg.speaker}: {seg.start:.2f}s - {seg.end:.2f}s")

Model Details

  • Architecture: FastConformer (18 layers) + Transformer Encoder (18 layers) + Sortformer Modules
  • Mel bins: 80
  • Max speakers: 4
  • Input: 16kHz mono audio
  • Output: Per-frame speaker activity probabilities

Ported from NVIDIA NeMo SortformerEncLabelModel.

Contributors

prince-canuma

2 commits