Downloads · 30 days
51
14% of all-time downloads
mlx-community/NemotronLabs-VoiceChat-11B-mlx-4bit
NemotronLabs-VoiceChat-11B-mlx-4bit is a machine learning model from mlx-community. 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 mlx. The card lists the license as other.
MLX conversion of nvidia/NVIDIA-NemotronLabs-VoiceChat-11B, a duplex speech-to-speech model that listens and speaks at the same time. 11.1 B parameters, converted from the original float32 release (44.4 GB) for Apple…
Downloads · 30 days
51
14% of all-time downloads
All-time downloads
369
Public
Parameters
3.1B
9.2 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors9.2 GB · 100%
How the weights are stored.
BF161.6B · 52%
From the Hugging Face model README
MLX conversion of nvidia/NVIDIA-NemotronLabs-VoiceChat-11B,
a duplex speech-to-speech model that listens and speaks at the same time. 11.1 B parameters,
converted from the original float32 release (44.4 GB) for Apple Silicon.
| tier | size | quantization |
|---|---|---|
| bf16 | 22.2 GB | none |
| 8bit | 13.9 GB | 8-bit, LLM + vocab heads only |
| 4bit (this repo) | 9.2 GB | 4-bit, LLM + vocab heads only |
The conversion keeps all four components of the model, complete and in the original layout.
| component | parameters | description |
|---|---|---|
| language backbone | 7.71 B | Nemotron-H hybrid — 56 layers: 27 Mamba-2, 25 MLP, 4 grouped-query attention. Hidden size 4480, vocabulary 131072 |
| vocabulary heads | 1.76 B | token embedding, LM head, and a function-calling head |
| speech encoder | 0.61 B | Conformer encoder with a mel front end |
| speech generation | 1.00 B | Gemma-3 TTS backbone, mixture-of-Gaussians head, neural audio codec, 31-stage residual VQ |
Duplex operation runs at 80 ms frames (12.5 frames/s), 16 kHz input and 22.05 kHz output.
Two parts of the model are directly usable, with runnable examples below:
mlx-lm's nemotron_h implementationThe Conformer speech encoder and the full duplex loop are not yet implemented in MLX. The weights for them are present and complete in this repository.
pip install mlx mlx-lm
python mlx/extract_llm.py --src . --dst ./voicechat-llm
python mlx/chat_example.py --model ./voicechat-llm --prompt "The capital of France is"
The source model ships no text tokenizer, so extract_llm.py pairs the backbone with a Nemotron-H
base tokenizer (vocabulary 131072) and verifies the size matches before writing.
pip install mlx numpy
python mlx/codec_example.py --repo . --wav input.wav --out output.wav
Encodes a waveform to 512-dimensional latents and 31-stage codes, then decodes back to audio. Reconstruction is about 8 dB SNR at 12.5 frames per second, and runs roughly 6x faster than real time on an M4 Max.
The language backbone and the three vocabulary heads are quantized to 4 bits (group size 64) — 9.47 B of the 11.10 B parameters. The entire speech path is left in bfloat16: the audio codec, the mixture-of-Gaussians head, the Conformer encoder and the RNN-T decoder. Those are small tensors whose error would land directly on audio quality for a negligible size saving.
Mean relative error against the bf16 tier, measured per tensor: 9.69 %.
Apple M4 Max, 68.7 GB unified memory, language backbone only, greedy decoding:
| load | peak memory | first token | throughput | |
|---|---|---|---|---|
| bf16 | 3.1 s | 17.96 GB | 646 ms | 23.4 tok/s |
| 8-bit | 1.9 s | 10.22 GB | 803 ms | 33.2 tok/s |
Audio codec: about 6x real time.
<SPECIAL_12>.Released under OpenMDW-1.1, following the original model. Base model and architecture by NVIDIA;
see nvidia/NVIDIA-NemotronLabs-VoiceChat-11B.
The MLX audio-codec implementation follows
NVIDIA NeMo Speech.