Core ML export of the final
nvidia/Nemotron-3-Diarization
checkpoint (revision
98fcee8e866bb534eee85d1eb3817170700ae717
), for on-device
speaker diarization on macOS 14+ / iOS 17+.
The license terms of the source checkpoint apply to this derivative.
512 raw little-endian float32 values: the trained silence embedding for the speaker cache
config.json
Streaming geometry, cache and post-processing settings, I/O shapes, SHA-256 of every file
conversion/
Scripts that produced the package
Precision: fp16 storage, fp32 compute
Weights are stored as fp16 and widened to fp32 at load time (
constexpr_cast
),
so every op computes in fp32. The package stays at fp16 size (~199 MB).
The checkpoint is bf16, which fp16 represents almost exactly (0.005% of
values differ, by less than 3e-8).
A plain fp16-compute export drifts on long audio: small per-chunk rounding
feeds back through the speaker cache and compounds. On a 36-minute meeting
it matched the reference on only 98.4–98.9% of frames and added a speaker.
This happened on GPU, CPU and Neural Engine alike.
Validation
Frame-level agreement with NVIDIA's NeMo reference, same streaming loop and
post-processing, on real meeting recordings:
Audio
NeMo speakers
Core ML speakers
Frame agreement
70 s, one microphone
2
2
100.00%
36 min, microphone track
4
4
99.94%
36 min, application-audio track
5
5
100.00%
Speed: ~21 ms per 27.2 s chunk on Apple silicon (about 2 s for a 36-minute track).
Interface
One call processes one chunk; the caller owns the speaker cache and FIFO
update between calls (NeMo
streaming_update
).
Input
Shape
Type
chunk
1 × 3040 × 128
float32 log-mel, 10 ms hop
chunk_lengths
1
int32
spkcache
1 × 264 × 512
float32
spkcache_lengths
1
int32
fifo
1 × 40 × 512
float32
fifo_lengths
1
int32
Output
Shape
spkcache_fifo_chunk_preds
1 × 684 × 8
chunk_pre_encode_embs
1 × 380 × 512
chunk_pre_encode_lengths
1
Required runtime settings
These must match training, or the model splits one voice across several
speaker slots:
spkcache_sil_frames_per_spk = 1
Fill silence slots in the speaker cache with
learnable_sil_emb.f32
,
not a running mean of silent frames.
nemotron-3-diarization-coreml huggingface.co is an AI model on huggingface.co that provides nemotron-3-diarization-coreml's model effect (), which can be used instantly with this altic-dev nemotron-3-diarization-coreml model. huggingface.co supports a free trial of the nemotron-3-diarization-coreml model, and also provides paid use of the nemotron-3-diarization-coreml. Support call nemotron-3-diarization-coreml model through api, including Node.js, Python, http.
nemotron-3-diarization-coreml huggingface.co is an online trial and call api platform, which integrates nemotron-3-diarization-coreml's modeling effects, including api services, and provides a free online trial of nemotron-3-diarization-coreml, you can try nemotron-3-diarization-coreml online for free by clicking the link below.
altic-dev nemotron-3-diarization-coreml online free url in huggingface.co:
nemotron-3-diarization-coreml is an open source model from GitHub that offers a free installation service, and any user can find nemotron-3-diarization-coreml on GitHub to install. At the same time, huggingface.co provides the effect of nemotron-3-diarization-coreml install, users can directly use nemotron-3-diarization-coreml installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
nemotron-3-diarization-coreml install url in huggingface.co: