Instructions to use cstr/VibeVoice-7B-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VibeVoice
How to use cstr/VibeVoice-7B-GGUF with VibeVoice:
import torch, soundfile as sf, librosa, numpy as np from vibevoice.processor.vibevoice_processor import VibeVoiceProcessor from vibevoice.modular.modeling_vibevoice_inference import VibeVoiceForConditionalGenerationInference # Load voice sample (should be 24kHz mono) voice, sr = sf.read("path/to/voice_sample.wav") if voice.ndim > 1: voice = voice.mean(axis=1) if sr != 24000: voice = librosa.resample(voice, sr, 24000) processor = VibeVoiceProcessor.from_pretrained("cstr/VibeVoice-7B-GGUF") model = VibeVoiceForConditionalGenerationInference.from_pretrained( "cstr/VibeVoice-7B-GGUF", torch_dtype=torch.bfloat16 ).to("cuda").eval() model.set_ddpm_inference_steps(5) inputs = processor(text=["Speaker 0: Hello!\nSpeaker 1: Hi there!"], voice_samples=[[voice]], return_tensors="pt") audio = model.generate(**inputs, cfg_scale=1.3, tokenizer=processor.tokenizer).speech_outputs[0] sf.write("output.wav", audio.cpu().numpy().squeeze(), 24000) - Notebooks
- Google Colab
- Kaggle
transcribes EMPTY (bogus tokens), wav 16, 24 bit, loud, quiet, short, long, different languages, nothing, hmm
any help/tip/advice?
Context: another model (voxtral-mini-4b-realtime-q4_k.gguf) worked first try with this engine.
I only ventured to try this one for possible better transcript and default timestamps.
Input is mono WAV file.
4bit quant:
[crispasr] warning: environment variable 'VIBEVOICE_DEBUG' is deprecated and will be removed in a future release; use 'CRISPASR_VIBEVOICE_DEBUG' instead (the old name still works for now). Silence with CRISPASR_SUPPRESS_ENV_DEPRECATION=1.
vibevoice: first 20 tokens: [151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>)]
vibevoice: first-step logits top-5: vibevoice: result is EMPTY after detokenization (all tokens were special)
[crispasr] warning: environment variable 'VIBEVOICE_BENCH' is deprecated and will be removed in a future release; use 'CRISPASR_VIBEVOICE_BENCH' instead (the old name still works for now). Silence with CRISPASR_SUPPRESS_ENV_DEPRECATION=1.
vibevoice_bench: transcribe_total 5507.95 ms
crispasr[verbose]: align[slice]: aligner='' caps_ctc=1 force=0 -> want=0
crispasr: transcribed 16.3s audio in 5.51s (3.0x realtime)
crispasr: WARNING: no text produced for 16.3s of non-silent audio (peak 0.15). Possible causes: the audio has no speech, an unsupported language, or an over-quantized model (try a q8_0/f16 build).
=== build info ===
version : 0.8.25
git sha : 6e5bf7ff
git date : 2026-08-01T14:52:41+02:00
git subject : release-v0.8.25..._GigaAM-v3._foxnose_diarization._and_a_decode_table_that_was_wrong
build date : 2026-08-01T13:38:44Z
build type : Release
compiler : msvc 1944
os : windows
arch : x86_64
ggml backends : cpu,cuda
cuda archs : 60-real,61-real,70-real,75-real,86-real,89-real,120-real,120-virtual
=== ggml backends + devices ===
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 24563 MiB):
Device 0: NVIDIA GeForce RTX 4090, compute capability 8.9, VMM: yes, VRAM: 24563 MiB
registered backends: 2
[0] CUDA (devices: 1)
[1] CPU (devices: 1)
registered devices : 2
[0] gpu name=CUDA0 desc=NVIDIA GeForce RTX 4090 mem=22988/24563 MiB id=0000:01:00.0
[1] cpu name=CPU desc=AMD Ryzen 7 9800X3D 8-Core Processor mem=31150/63041 MiB id=?
crispasr: auto-detected backend 'vibevoice' from 'C:\Users\user1.lmstudio\models\cstr\VibeVoice-7B-GGUF\vibevoice-7b-q4_k.gguf'
crispasr[verbose]: model arg = 'C:\Users\user1.lmstudio\models\cstr\VibeVoice-7B-GGUF\vibevoice-7b-q4_k.gguf'
crispasr[verbose]: backend arg = 'vibevoice'
crispasr[verbose]: use_gpu = true
crispasr[verbose]: gpu_backend = 'auto'
crispasr[verbose]: gpu_device = 0
crispasr[verbose]: cache_dir override = '(default)'
crispasr[verbose]: auto_download = false
crispasr[verbose]: n_threads = 4
crispasr[verbose]: flash_attn = true
crispasr[verbose]: resolved model = 'C:\Users\user1.lmstudio\models\cstr\VibeVoice-7B-GGUF\vibevoice-7b-q4_k.gguf'
vibevoice: d_lm=3584, layers=28, heads=28/4, ffn=18944, vocab=152064
vibevoice: vae_acoustic=64, vae_semantic=128, downsample=3200x
vibevoice: loaded 1205 tensors (backend: CUDA0)
crispasr[verbose]: backend 'vibevoice' initialised OK
crispasr[verbose]: audio 16.3s (391245 samples, 1.6 MB PCM), est encoder mem ~5 MB
crispasr: audio: 391245 samples (16.3 s) @ 24000 Hz, 4 threads
vibevoice: generated 513 tokens
vibevoice: first 20 tokens: [151653(<|vision_end|>), 151653(<|vision_end|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151654(<|vision_pad|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151653(<|vision_end|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>), 151654(<|vision_pad|>)]
vibevoice: first-step logits top-5: vibevoice: result is EMPTY after detokenization (all tokens were special)
vibevoice_bench: transcribe_total 5603.14 ms
crispasr[verbose]: align[slice]: aligner='' caps_ctc=1 force=0 -> want=0
vibevoice: 768000 samples (32.00s at 24kHz)
vibevoice: speech features combined: [240, 3584]
vibevoice: prompt: 303 tokens (speech at 27-266)
vibevoice: prefix embedded (303 tokens)
vibevoice: prefilling 303 tokens...