Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

Microsoft’s open-source family of voice AI models. VibeVoice-ASR transcribes up to 60 minutes of audio in one pass, with speakers and timestamps. VibeVoice-Realtime turns streaming text into speech. The notes cover the demos, a vLLM server and fine-tuning.
VibeVoice is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.
git clone https://github.com/microsoft/VibeVoice.git cd VibeVoice pip install -e .
VibeVoice is Microsoft’s family of open-source voice models, covering speech to text and text to speech. This listing covers what the repository still lets you run. VibeVoice-ASR takes up to 60 minutes of audio in one pass and returns who spoke, when and what they said. A streaming version transcribes while the audio arrives. VibeVoice-Realtime speaks streaming text in one voice. The long multi-speaker TTS model is left out, because Microsoft removed its code after misuse.
Developers and researchers who want speech recognition or speech synthesis they can run themselves. The ASR model fits long recordings with several speakers, such as meetings and interviews, where a transcript that says who spoke is the point. The Realtime model is built so that a language model can start speaking from its first tokens. Yet the page’s TODO list still has “Implement streaming text input function to feed new tokens while audio is still being generated” unchecked. Its two usages are a websocket demo and a text-file script. The docs’ install route assumes an NVIDIA GPU in the NVIDIA PyTorch container. The ASR demo script also runs on mps, xpu or cpu. VibeASR.cpp runs the ASR model on a CPU, and the Realtime page names a Mac M4 Pro among the devices that reached real-time speed. Microsoft calls them research models and does not recommend commercial use without further testing.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Research and universities | Speech researchers and students | Run the ASR model on long recordings, or fine-tune it with LoRA on their own labelled audio | A student fine-tunes the ASR model on labelled recordings from one field, with that field’s terms listed as context. |
| Software and voice products | Developers building speech features | Serve the ASR model through vLLM as an OpenAI-compatible API, or run the Realtime model’s text-to-speech demo | A developer starts the vLLM container and sends a recording to its transcription endpoint. |
| Media and podcasts | Audio teams with long interviews | Transcribe a whole recording in one pass, labelled by speaker and time | An editor transcribes a long interview and gets each line with its speaker and its time range. |
| Meetings and calls | Teams that keep recordings | Add product and people names as hotwords before transcribing | A team lists its product names as hotwords, which the docs say improves recognition of such terms in the call transcript. |
Skip it if you need a voice of your own or long multi-speaker speech from text: that model is disabled, and the Realtime model ships embedded voices only.
VibeVoice is not an agent skill. It is a set of models you run on your own GPU machine, in a container, or try in a hosted demo.
| Model | What it does | Good to know |
|---|---|---|
| VibeVoice-ASR-7B | Speech to text for up to 60 minutes in one pass | Who, when and what, hotwords, over 50 languages |
| VibeVoice-ASR-Streaming | Speech to text while the audio arrives | One chunk of text at a time, hotwords, 10 languages |
| VibeVoice-ASR-BitNet | The ASR model on a CPU | Runs through VibeASR.cpp with no GPU |
| VibeVoice-Realtime-0.5B | Text to speech from streaming text | One speaker, English only, about 10 minutes of audio |
| VibeVoice-TTS-1.5B | Long multi-speaker text to speech | Disabled, and its code is removed |
Get it saves a zip of Mindket’s setup notes in your downloads folder, with each model’s steps from Microsoft’s docs. Every route with commands in Microsoft’s docs starts from a clone of the repository.
| Need | Detail |
|---|---|
| A GPU machine | The docs recommend the NVIDIA PyTorch container. The ASR demo script also accepts mps, xpu or cpu as its device |
| Python | 3.10 or newer, from the project’s pyproject.toml |
| Docker | For the container route and the vLLM server |
| ffmpeg | For the demos: apt update && apt install ffmpeg -y |
| A Hugging Face download | The demos fetch each model by the name you pass in |
git clone https://github.com/microsoft/VibeVoice.git cd VibeVoice pip install -e .
The Realtime model installs with an extra, which pins its own transformers version.
pip install -e .[streamingtts]
Pick the script that fits the job. For a recording, transcribe a file or launch the Gradio demo. For text, run the Realtime demo or speak a text file.
python demo/vibevoice_asr_inference_from_file.py --model_path microsoft/VibeVoice-ASR --audio_files [add an audio path here]
python demo/realtime_model_inference_from_file.py --model_path microsoft/VibeVoice-Realtime-0.5B --txt_path demo/text_examples/1p_vibevoice.txt --speaker_name Carter
The streaming ASR script takes --context_info to bias recognition toward the terms you list. The vLLM test scripts take --hotwords for the same job. The docs’ Gradio command ends with --share, which the script describes as “Create a public link”. Drop it, and add --host 127.0.0.1, to keep the demo on your machine: the script binds to 0.0.0.0 on port 7860 by default.
You have an hour-long recording of a team meeting and want a transcript that says who spoke. You run the file command with your own path in place of the bracket.
python demo/vibevoice_asr_inference_from_file.py --model_path microsoft/VibeVoice-ASR --audio_files meeting.wav
The model reads the hour in one pass instead of slicing it into short chunks. The docs say that keeps speaker tracking consistent across the whole recording, and that the output holds who, when and what. You get lines with a speaker and a time range, ready to search or edit.
If you are new. ASR means automatic speech recognition, which is speech to text. TTS is the reverse. Diarization is the “who spoke” part, which VibeVoice-ASR does together with the transcript and the timestamps. A GPU is a graphics card that runs the model fast, and the docs’ container route assumes an NVIDIA one. Start with the ASR Playground or the Realtime Colab notebook, which need no install. Move to your own machine when the audio must stay there.
For experts. The README describes next-token diffusion. A language model reads the text and the dialogue flow, and a diffusion head generates the acoustic detail from continuous tokens at 7.5 Hz. The Realtime model drops the semantic tokenizer and keeps only the acoustic one, with an interleaved, windowed design.
The streaming ASR checkpoint sets its own chunk and lookahead in preprocessor_config.json. The vLLM streaming server reuses the cache of every earlier chunk, so the cost stays flat as a session grows. It has no --dp option, because a session lives in one replica. Run one server per GPU and route whole sessions. The non-streaming server does take --dp and --tp.
The vLLM streaming server speaks WebSocket at /v1/stream and REST at /v1/transcribe and /v1/chat/completions. Its HTTP endpoints take inline base64 audio only, with no HTTP(S) audio URLs, up to 256 MiB decoded per file. The WebSocket takes float32 PCM frames. For fine-tuning, the LoRA defaults are rank 16 and alpha 32. The bundled toy dataset is synthetic audio from VibeVoice TTS, for demonstration only, not a full fine-tuning dataset.
Read the maker’s warnings before you build on it.
This kit holds setup notes only. Mindket wrote them. The models, demos and code come from Microsoft's repository: https://github.com/microsoft/VibeVoice
These notes are not made or endorsed by Microsoft. The README calls VibeVoice "Open-Source Frontier Voice AI" and says it is "a family of open-source frontier voice AI models that includes both Text-to-Speech (TTS) and Automatic Speech Recognition (ASR) models." The project page is https://microsoft.github.io/VibeVoice
License: MIT. The LICENSE file (https://github.com/microsoft/VibeVoice/blob/main/LICENSE) is the MIT License text and reads "Copyright (c) 2025 Microsoft". The ASR pages repeat "This project is licensed under the MIT License." The model weights live on Hugging Face, where each model card may carry its own terms. These notes did not read those cards, so read them before you rely on a model.
The README and the TTS and Realtime pages say the models are meant for research and development only, and that Microsoft does not recommend them for commercial or real-world applications without further testing. Their risk section warns that high-quality synthetic speech can be misused for impersonation, fraud and disinformation, and calls it best practice to disclose the use of AI when sharing AI-generated content.
| Model | What it does | Notes in this kit |
|---|---|---|
| VibeVoice-ASR-7B | Speech to text for up to 60 minutes of audio in one pass, with who, when and what | setup/asr.md |
| VibeVoice-ASR-Streaming | Speech to text while the audio is still arriving | setup/asr-streaming.md |
| VibeVoice-Realtime (0.5B) | Text to speech with streaming text input, one speaker | setup/realtime-tts.md |
| ASR through vLLM | The ASR models served as an OpenAI-compatible API | setup/vllm-server.md |
| ASR fine-tuning | LoRA fine-tuning of VibeVoice-ASR | setup/finetuning.md |
| Hosted demos and the CPU engine | Links only: the Playground, Colab, Azure AI Foundry Labs, Transformers, VibeASR.cpp | setup/hosted-and-cpu.md |
Source: https://github.com/microsoft/VibeVoice/blob/main/README.md
The README says that on 2025-09-05 Microsoft removed the VibeVoice-TTS code after finding "instances where the tool was used in ways inconsistent with the stated intent". Its model table lists VibeVoice-TTS-1.5B with the quick try "Disabled", and the TTS page (https://github.com/microsoft/VibeVoice/blob/main/docs/vibevoice-tts.md) reads "Installation and Usage: Disabled due to widespread misuse." These notes give no steps for it.
vibevoice Python package, from a clone of the repository with pip install -e .. Its pyproject.toml says Python 3.10 or newer, and lists among its dependencies torch, transformers (at least 4.51.3 and below 5.0.0), accelerate, diffusers, gradio, fastapi and uvicorn. Source: https://github.com/microsoft/VibeVoice/blob/main/pyproject.tomlpip install -e .[streamingtts], which pins transformers to 4.51.3.--model_path. The vLLM page says the weights download into the Hugging Face cache, ~/.cache/huggingface, inside the container.vllm/vllm-openai:v0.14.1.--device with auto, cuda, mps, xpu or cpu. The Realtime page says an NVIDIA T4 and a Mac M4 Pro reached real-time speed in the maker's tests.apt update && apt install ffmpeg -yEvery page with commands starts from a clone. The ASR and streaming ASR pages then run pip install -e . as below. The Realtime page runs pip install -e .[streamingtts] instead, and the vLLM pages only clone and start Docker.
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -e .
Source: https://github.com/microsoft/VibeVoice/blob/main/docs/vibevoice-asr.md
The README and the docs give no update or uninstall steps. These notes (Mindket's, not Microsoft's) go by the package name in pyproject.toml: pip uninstall vibevoice removes the package, and deleting the cloned folder removes the code. Downloaded weights stay in the Hugging Face cache until you delete them there. For a vLLM container, the vLLM pages give docker stop vibevoice-vllm, and docker stop vibevoice-vllm-streaming for the streaming one.
The README and the docs say nothing about usage data. These notes did not audit the dependencies, among them Gradio. What the pages do show reaching out:
--share. The script describes that flag as "Create a public link". Source: https://github.com/microsoft/VibeVoice/blob/main/demo/vibevoice_asr_gradio_demo.py--cloudflared flag, which the vLLM streaming page says downloads the cloudflared binary and makes a public link. See setup/vllm-server.md.README.md 6 KB setup/asr-streaming.md 3 KB setup/asr.md 3 KB setup/finetuning.md 4 KB setup/hosted-and-cpu.md 2 KB setup/realtime-tts.md 4 KB setup/vllm-server.md 8 KB
Updated by Mindket to the current version of this kit.
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.
alibaba · Kit
Reviews Git changes with an AI agent that reads files and searches the codebase, then writes comments tied to exact lines. It suits developers who want automat…