vllm-project/vllm-omni

[New Model] Add support for VibeVoice TTS family (Realtime-0.5B and TTS-1.5B)

Open

#2,319 opened on Mar 30, 2026

View on GitHub
 (2 comments) (0 reactions) (1 assignee)Python (1,067 forks)github user discovery
good first issuehelp wantednew modeltts

Repository metrics

Stars
 (4,990 stars)
PR merge metrics
 (PR metrics pending)

Description

Model Overview

VibeVoice is Microsoft's open-source frontier voice AI family. This issue tracks support for their two TTS models:

Model Weights Size Key Capability
VibeVoice-Realtime-0.5B Public 0.5B Real-time streaming TTS, 7.5Hz token rate
VibeVoice-TTS-1.5B Public 1.5B Long-form multi-speaker TTS (up to 90min, 4 speakers)

Architecture

Both models use a next-token diffusion framework:

  • An LLM backbone (Qwen2.5-based) understands textual context and generates continuous speech tokens
  • A diffusion head generates high-fidelity acoustic details
  • Ultra-low frame rate of 7.5 Hz — efficient for long sequences

The streaming model (VibeVoice-Realtime-0.5B) maps well to vllm-omni's async_chunk pipeline and is a natural fit for the existing TTS serving infrastructure.

Existing vLLM Integration

Microsoft already provides a vllm_plugin/ in their repo with:

  • model.py — vLLM multimodal registry integration (ASR-focused currently)
  • inputs.py — input processing
  • Stage configs and test scripts

This gives us a solid starting point for the TTS integration.

Motivation

  • Realtime-0.5B: Streaming-first design aligns directly with vllm-omni's async_chunk architecture. Low model size makes it accessible on consumer GPUs.
  • TTS-1.5B: Long-form multi-speaker generation (up to 90 minutes) is a capability no current vllm-omni TTS model covers. The model weights remain publicly available on HuggingFace.

References

Implementation Notes

  • Both models share the same vibevoice package and diffusion head architecture
  • Realtime model config: configuration_vibevoice_streaming.py / modeling_vibevoice_streaming.py
  • TTS-1.5B model config: configuration_vibevoice.py / modeling_vibevoice.py
  • Stage configs will need to be added under vllm_omni/model_executor/stage_configs/

cc @linyueqian

Contributor guide