Downloads · 30 days
10
7% of all-time downloads
developerjeremylive/VibeVoice-Realtime-0.5B-MLX-INT4-etheroi
VibeVoice-Realtime-0.5B-MLX-INT4-etheroi is a text-to-speech model from developerjeremylive. Use it when you need text read aloud. It is set up for mlx. The card lists the license as mit.
INT4-quantized MLX bundle of Microsoft VibeVoice-Realtime-0.5B for Apple Silicon, ready to load with the VibeVoiceTTS Swift module from soniqo/speech-swift.
Downloads · 30 days
10
7% of all-time downloads
All-time downloads
146
Public
Parameters
447M
1.1 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.1 GB · 100%
How the weights are stored.
BF16359M · 80%
From the Hugging Face model README
INT4-quantized MLX bundle of Microsoft VibeVoice-Realtime-0.5B for Apple Silicon, ready to load with the VibeVoiceTTS Swift module from soniqo/speech-swift.
model.safetensors — INT4 group-quantized Qwen2 backbone (group_size=32, mode=affine), tokenizer + acoustic tokenizer + diffusion head + EOS classifier kept in source dtypequantization.json — per-layer manifest (244 quantized layers)config.json, preprocessor_config.json — copied from upstreamBundle size: 1.07 GB (vs ~1.0 GB BF16 source — INT4 weights are smaller, but scales/biases add overhead).
| Steps | Audio | Elapsed | RTF | RTFx |
|---|---|---|---|---|
| 10 | 2.27 s | 0.98 s | 0.43 | 2.31× |
Faster than BF16 (RTFx 1.48 @ 20 steps) and INT8 (RTFx 1.88 @ 10 steps).
import VibeVoiceTTS
var config = VibeVoiceTTSModel.Configuration()
config.modelId = "aufklarer/VibeVoice-Realtime-0.5B-MLX-INT4"
let tts = try await VibeVoiceTTSModel.fromPretrained(configuration: config)
try tts.loadVoice(from: "voice_cache/en-Mike_man.safetensors")
let pcm = try await tts.generate(text: "Hello world.")
// pcm: [Float] @ 24 kHz mono
audio from speech-swift)audio vibevoice "Hello world." \
--model aufklarer/VibeVoice-Realtime-0.5B-MLX-INT4 \
--voice-cache voice_cache/en-Mike_man.safetensors \
--output hello.wav
Speaker identity comes from .safetensors voice caches. Get one from:
audio vibevoice-encode-voice reference.wav "transcript" -o voice.safetensorsEnglish and Chinese only. The Qwen2.5 tokenizer accepts other languages but the audio output will be unintelligible — the training data is EN/ZH only.
MIT, inherited from the upstream Microsoft VibeVoice repo.
models/vibevoice/export/convert.py in soniqo/speech-models (private). Quantization is MLX group-wise affine; embeddings, norms, acoustic-tokenizer convolutions, and the EOS classifier stay in source dtype.
@misc{microsoft_vibevoice,
title = {VibeVoice: Long-form, Multi-speaker Text-to-Speech},
author = {Microsoft Research},
year = {2025},
url = {https://huggingface.co/microsoft/VibeVoice-Realtime-0.5B}
}