Downloads · 30 days
53
13% of all-time downloads
devsy0117/ultra_diar_streaming_sortformer_8spk_v0
ultra_diar_streaming_sortformer_8spk_v0 is a machine learning model from devsy0117. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for nemo. The card lists the license as other.
Newer release: ultradiarstreamingsortformer8spkv1 is now available with stronger benchmarks. Please try v1 for new projects; this v0 checkpoint stays on the Hub for comparison or older workflows.
Downloads · 30 days
53
13% of all-time downloads
All-time downloads
403
Public
Repo size
943 MB
Likes
4
Public
Click a slice to open those files.
.nemo471 MB · 100%
From the Hugging Face model README
Newer release: ultra_diar_streaming_sortformer_8spk_v1 is now available with stronger benchmarks. Please try v1 for new projects; this v0 checkpoint stays on the Hub for comparison or older workflows.
This model extends NVIDIA Streaming Sortformer speaker diarization from 4 speakers to 8 speakers. The original diar_streaming_sortformer_4spk-v2.1 supports up to 4 speakers; this model expands the capability to handle 5–8 speakers through fine-tuning and architectural modifications.
The experimental pipeline, training scripts, and inference code will be made public on GitHub at a later date. Currently available only on Hugging Face.
This model requires the NVIDIA NeMo toolkit to train, fine-tune, or perform diarization. Install NeMo after installing Cython and the latest PyTorch.
apt-get update && apt-get install -y libsndfile1 ffmpeg
pip install Cython packaging
pip install git+https://github.com/NVIDIA/NeMo.git@main#egg=nemo_toolkit[asr]
from nemo.collections.asr.models import SortformerEncLabelModel
# Load model from Hugging Face (requires Hugging Face token for gated models)
diar_model = SortformerEncLabelModel.from_pretrained("devsy0117/ultra_diar_streaming_sortformer_8spk_v0")
diar_model.eval()
# Streaming parameters (recommended for best performance)
diar_model.sortformer_modules.chunk_len = 340
diar_model.sortformer_modules.chunk_right_context = 40
diar_model.sortformer_modules.fifo_len = 40
diar_model.sortformer_modules.spkcache_update_period = 300
# Run diarization
predicted_segments = diar_model.diarize(audio=["/path/to/your/audio.wav"], batch_size=1)
for segment in predicted_segments[0]:
print(segment)
from nemo.collections.asr.models import SortformerEncLabelModel
# Option 1: Load directly from Hugging Face (requires Hugging Face token)
diar_model = SortformerEncLabelModel.from_pretrained("devsy0117/ultra_diar_streaming_sortformer_8spk_v0")
# Option 2: Load from a downloaded .nemo file
diar_model = SortformerEncLabelModel.restore_from(
restore_path="/path/to/ultra_diar_streaming_sortformer_8spk_v0.nemo",
map_location="cuda",
strict=False,
)
diar_model.eval()
audio_input="/path/to/multispeaker_audio.wav"audio_input=["/path/to/audio1.wav", "/path/to/audio2.wav"]This model is a derivative of NVIDIA Sortformer, licensed under the NVIDIA Open Model License.
Attribution: Licensed by NVIDIA Corporation under the NVIDIA Open Model License.