vibe-voice
Build voice AI applications using Microsoft's VibeVoice — open-source frontier voice synthesis, recognition, and real-time conversation. Use when: building voice assistants, adding TTS/STT to applications, creating real-time voice chat, voice cloning.
What this skill does
# VibeVoice
Open-source frontier voice AI from Microsoft. Family of models for text-to-speech (TTS), automatic speech recognition (ASR), and real-time streaming synthesis.
GitHub: [microsoft/VibeVoice](https://github.com/microsoft/VibeVoice)
## Overview
VibeVoice is Microsoft's open-source voice AI platform offering three model sizes: ASR (7B) for transcription with speaker diarization, TTS (1.5B) for multi-speaker long-form synthesis, and Realtime (0.5B) for low-latency streaming. It supports 50+ languages and runs on consumer GPUs.
## Instructions
### Installation
```bash
pip install vibevoice
# Or clone for development
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -e .
```
### Hardware Requirements
- **ASR (7B)**: ~16GB VRAM (GPU recommended)
- **TTS (1.5B)**: ~6GB VRAM
- **Realtime (0.5B)**: ~2GB VRAM (runs on consumer GPUs)
### Text-to-Speech (TTS)
```python
from vibevoice import VibeVoiceTTS
model = VibeVoiceTTS.from_pretrained("microsoft/VibeVoice-1.5B")
# Single speaker
audio = model.synthesize(
text="Hello, welcome to the future of voice AI.",
speaker="default"
)
audio.save("output.wav")
```
### Multi-Speaker Conversation
Generate podcast-style audio with up to 4 distinct speakers:
```python
conversation = [
{"speaker": "host", "text": "Welcome to the show! Today we're discussing AI."},
{"speaker": "guest1", "text": "Thanks for having me. I'm excited to dive in."},
{"speaker": "host", "text": "Let's start with the biggest trends you're seeing."},
{"speaker": "guest2", "text": "I think voice AI is the most underrated development."},
]
audio = model.synthesize_conversation(conversation)
audio.save("podcast.wav") # Up to 90 minutes in a single pass
```
### Real-Time Streaming TTS
```python
from vibevoice import VibeVoiceRealtime
model = VibeVoiceRealtime.from_pretrained("microsoft/VibeVoice-Realtime-0.5B")
for audio_chunk in model.stream("This is being generated in real time."):
play_audio(audio_chunk)
```
### Automatic Speech Recognition (ASR)
```python
from vibevoice import VibeVoiceASR
model = VibeVoiceASR.from_pretrained("microsoft/VibeVoice-ASR")
# Basic transcription
result = model.transcribe("meeting_recording.wav")
print(result.text)
# Rich transcription with diarization
result = model.transcribe("meeting.wav", diarize=True, timestamps=True)
for segment in result.segments:
print(f"[{segment.start:.1f}s - {segment.end:.1f}s] "
f"Speaker {segment.speaker}: {segment.text}")
```
### Custom Hotwords
```python
result = model.transcribe(
"medical_consultation.wav",
hotwords=["Lisinopril", "Metformin", "HbA1c", "systolic"]
)
```
## Examples
### Example 1: Build a Voice Assistant
```python
from vibevoice import VibeVoiceASR, VibeVoiceRealtime
asr = VibeVoiceASR.from_pretrained("microsoft/VibeVoice-ASR")
tts = VibeVoiceRealtime.from_pretrained("microsoft/VibeVoice-Realtime-0.5B")
# Listen → Transcribe → Respond → Speak
user_text = asr.transcribe("user_input.wav").text
response = generate_response(user_text) # Your LLM call
for chunk in tts.stream(response):
play_audio(chunk)
```
### Example 2: Meeting Transcription with Speaker Labels
```python
result = asr.transcribe("team_standup.wav", diarize=True, timestamps=True)
for segment in result.segments:
print(f"[{segment.start:.1f}s] Speaker {segment.speaker}: {segment.text}")
# Output:
# [0.0s] Speaker 1: Let's review the Q3 numbers.
# [3.5s] Speaker 2: Revenue is up 15% from last quarter.
# [8.4s] Speaker 1: That's great. What about customer acquisition?
```
## Guidelines
- Use the Realtime (0.5B) model for voice assistants where latency matters
- The ASR model handles up to 60 minutes of audio in a single pass
- TTS supports up to 90 minutes of multi-speaker audio generation
- Use custom hotwords for domain-specific terms (medical, legal, technical)
- For production, consider vLLM for faster ASR inference
- Multilingual voices are experimental — test quality before deploying
- 7.5 Hz frame rate enables efficient long-sequence processing
## Resources
- [Project Page](https://microsoft.github.io/VibeVoice)
- [HuggingFace Collection](https://huggingface.co/collections/microsoft/vibevoice-68a2ef24a875c44be47b034f)
- [TTS Paper](https://arxiv.org/pdf/2508.19205)
- [ASR Paper](https://arxiv.org/pdf/2601.18184)
- [Colab: Streaming TTS](https://colab.research.google.com/github/microsoft/VibeVoice/blob/main/demo/VibeVoice_colab.ipynb)
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.