微软 VibeVoice:54K stars 前沿语音 AI,官方仓库因深度伪造顾虑下架,社区 fork 接棒
Microsoft VibeVoice: 54K-Star Frontier Voice AI, Official Repo Pulled Over Deepfake Concerns, Community Fork Carries On
📌 官方(已下架):https://github.com/microsoft/VibeVoice — Stars:54,415 | License:MIT 社区 Fork:https://github.com/vibevoice-community/VibeVoice — Stars:1,585 | MIT 语言:Python | 官方创建:2025-08-25 | 下架时间:2025-09
2025 年 8 月,微软研究院发布 VibeVoice,一个开源前沿语音 AI 框架,54K stars,MIT 协议,一个月内成为 GitHub 上最受关注的语音 AI 项目之一。
然后微软在 2025 年 9 月主动把官方仓库设为 disabled,原因是:担心被用于深度伪造和不在研究范围内的场景,“直到我们确信超出预期范围的使用不再可能发生”。
社区在 9 月 4 日就已经 fork,现在由 vibevoice-community/VibeVoice 维护,加了训练代码和 HF Transformers 集成,是目前可访问的工程入口。
架构:7.5Hz + LLM + 扩散
VibeVoice 的核心设计决策是超低帧率的连续语音 tokenizer:以 7.5Hz(每秒 7.5 个 token)而不是传统的 50-100Hz 对语音编码,同时维持音频质量。
这个设计解决了 TTS 长序列生成的根本矛盾——高帧率精度好但序列太长,低帧率序列短但精度差。7.5Hz 通过双路 tokenizer(声学 + 语义)绕过了这个取舍:
输入文本
↓ LLM(理解语义,预测下一个 token)
↓ Diffusion Head(从 token 生成高保真声学细节)
↓ Decoder(连续语音 token → 音频波形)
输出音频
用 LLM 做序列预测,用扩散头做声学还原——LLM 负责”说什么、怎么说”,扩散负责”听起来怎么样”。
五款模型,按场景选
| 模型 | 参数量 | 最长单次生成 | 说话人数 | 推理需求 |
|---|---|---|---|---|
| VibeVoice-TTS | 1.5B | ~90 分钟 | 最多 4 人 | GPU |
| VibeVoice-TTS-7B(社区) | 7B | ~45 分钟 | 最多 4 人 | GPU(大显存) |
| VibeVoice-Realtime | 0.5B | 流式,无上限 | 1 人 | GPU |
| VibeVoice-ASR | 7B | ~60 分钟 | 多说话人 | GPU |
| VibeVoice-ASR-BitNet | ~1.58GB(量化) | ~60 分钟 | 多说话人 | CPU,≥3 线程 |
选型建议:
- 有声书、播客制作(90 分钟内,多角色)→ TTS 1.5B
- 实时语音助手、低延迟场景 → Realtime 0.5B(~300ms 延迟)
- 长录音转录 + 说话人识别 → ASR 7B
- 边缘设备/服务器无 GPU → ASR-BitNet(RTF < 1,3 线程 CPU 可实时跑)
- 追求 ASR 最高质量 → ASR 7B(精度更高但需 GPU)
ASR 的结构化输出
VibeVoice-ASR 的一个实用设计是把三件事合并进一次推理:
- Who(谁在说):说话人分离(diarization)
- When(什么时候说):时间戳
- What(说了什么):转录内容
单次 60 分钟音频直接出带时间轴、带说话人标签的结构化文本,不需要分段处理或多次推理。这对会议录音、采访转录、多角色有声内容处理很直接。
支持语言:50+ 种,中英文均覆盖。另有流式 ASR 变体用于实时场景。
还有可定制**热词(Hotword)**支持——对产品名、专有名词识别率低的问题可以针对性加强。
社区 Fork 安装
官方 repo 已下架,走社区 fork:
git clone https://github.com/vibevoice-community/VibeVoice.git
cd VibeVoice/
uv pip install -e .
模型从 HuggingFace 下载(需配置 HF_TOKEN):
from vibevoice import VibeVoice
# TTS 1.5B:长文本多角色
tts = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-1.5B")
# Realtime:流式低延迟
tts_rt = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-Streaming-0.5B")
# ASR:长录音转录
asr = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-ASR-7B")
Gradio Demo(本地测试用):
python demo_gradio.py --model vibevoice-community/VibeVoice-1.5B
OpenAI API 兼容服务化
如果需要把 VibeVoice 接进现有的 TTS 工作流,marhensa/vibevoice-realtime-openai-api(88 stars)提供了 OpenAI /v1/audio/speech 兼容服务器:
git clone https://github.com/marhensa/vibevoice-realtime-openai-api
cd vibevoice-realtime-openai-api
# Docker 启动(推荐,含模型下载)
docker compose up -d
# 调用方式和 OpenAI TTS API 完全一致
curl http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "vibevoice-realtime", "input": "Hello world", "voice": "alloy"}' \
--output speech.mp3
支持 OpenAI 的 voice 名称别名(alloy、echo、fable 等)映射到 VibeVoice 的声线,零改动接进现有代码。
BitNet CPU 推理路径
对没有 GPU 的环境,VibeVoice-ASR-BitNet 是唯一可以 CPU 实时跑的方案:
- 模型体积:1.58GB(量化后)
- RTF(实时率)< 1,即:处理 60 秒音频用时少于 60 秒
- 要求:≥3 个 CPU 线程
from vibevoice import VibeVoice
asr = VibeVoice.from_pretrained(
"vibevoice-community/VibeVoice-ASR-BitNet",
device="cpu",
num_threads=4 # 匹配物理核数
)
result = asr.transcribe("meeting.wav")
# result 包含 text、speakers、timestamps
CPU 线程数设到等于物理核数效果最好;超过物理核数通常反而变慢(调度开销)。
LoRA 微调(社区新增)
官方版本没有训练代码,社区 fork 加入了非官方 LoRA 微调支持:
# 准备数据:音频 + 文本对
# 训练
python train_lora.py \
--base_model vibevoice-community/VibeVoice-1.5B \
--data_dir ./my_audio_data \
--output_dir ./lora_checkpoints \
--epochs 3
# 推理时加载 LoRA
tts = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-1.5B")
tts.load_lora("./lora_checkpoints/epoch_3")
微调场景:特定说话人声线适配、特定领域专有词汇发音优化、语调风格迁移。
官方下架:技术与治理的张力
微软在发布后约两周把仓库设为 disabled,官方说明是:“我们在确认超出预期范围的使用不再可能发生之前,暂时禁用该仓库。”
这类决策背后的工程逻辑:MIT 协议发布 → 无法控制使用方式 → 高质量 TTS 本质上降低了制造高可信度伪造音频的门槛。
几个技术事实值得如实说清楚:
- 社区 fork 在官方下架前就存在,MIT 协议允许这样做
- 代码和模型权重已经流通,下架不能收回已经发布的内容
- 官方仓库虽然 disabled,54K stars 计数仍然可见
这个事件展示了开源 AI 发布的一种典型困境:发布意味着失去控制,不发布意味着错失社区价值。VibeVoice 的处理方式(事后下架)无法真正解决这个矛盾,但至少表达了明确的立场。
局限
- 不建议商用:官方文档明确写”不推荐在没有进一步测试的情况下用于商业或真实世界应用”
- 社区 fork 的训练代码是非官方的,质量和稳定性未经原团队验证
- ASR-BitNet 精度低于 ASR-7B,量化有损失,高要求场景不适用
- 深度伪造风险是真实的工程和伦理考量,使用前需要明确应用场景合规性
- 官方不再维护,社区 fork 的长期活跃度取决于社区贡献
开源代码与模型仅供学习、勿直接用于工作。
© 2026 Author: Mycelium Protocol. 本文采用 CC BY 4.0 授权——欢迎转载和引用,须注明作者姓名及原文链接,不得去除署名后以原创发布。
📌 Official (disabled): https://github.com/microsoft/VibeVoice — Stars: 54,415 | MIT Community Fork: https://github.com/vibevoice-community/VibeVoice — Stars: 1,585 | MIT Language: Python | Official created: 2025-08-25 | Pulled: 2025-09
In August 2025, Microsoft Research released VibeVoice, an open-source frontier voice AI framework. 54K stars, MIT license — it became one of GitHub’s most-watched voice AI projects within a month.
Then Microsoft disabled the official repository in September 2025, citing concerns about deepfake use and applications outside the intended research scope: “we have disabled the repo until we are confident that out-of-scope use is no longer possible.”
The community had already forked it on September 4th. vibevoice-community/VibeVoice now maintains the codebase with LoRA fine-tuning and HF Transformers integration added — the practical engineering entry point.
Architecture: 7.5Hz + LLM + Diffusion
VibeVoice’s core design choice is an ultra-low frame-rate continuous speech tokenizer: 7.5Hz (7.5 tokens per second) instead of the typical 50-100Hz, while maintaining audio quality.
This resolves the fundamental tension in long-sequence TTS generation — high frame rates give better fidelity but produce excessively long sequences; low frame rates are efficient but lose precision. VibeVoice sidesteps this with dual tokenizers (acoustic + semantic):
Input text
↓ LLM (understands semantics, predicts next token)
↓ Diffusion Head (generates high-fidelity acoustic detail from tokens)
↓ Decoder (continuous speech tokens → audio waveform)
Output audio
The LLM handles “what to say and how,” the diffusion head handles “what it sounds like.”
Five Models — Select by Use Case
| Model | Params | Max Single-Pass | Speakers | Hardware |
|---|---|---|---|---|
| VibeVoice-TTS | 1.5B | ~90 min | Up to 4 | GPU |
| VibeVoice-TTS-7B (community) | 7B | ~45 min | Up to 4 | GPU (large VRAM) |
| VibeVoice-Realtime | 0.5B | Streaming, unlimited | 1 | GPU |
| VibeVoice-ASR | 7B | ~60 min | Multi-speaker | GPU |
| VibeVoice-ASR-BitNet | ~1.58GB (quantized) | ~60 min | Multi-speaker | CPU, ≥3 threads |
Selection guide:
- Audiobooks, podcasts (90 min, multiple characters) → TTS 1.5B
- Real-time voice assistant, low-latency → Realtime 0.5B (~300ms latency)
- Long recording transcription + speaker identification → ASR 7B
- Edge devices / no GPU → ASR-BitNet (RTF < 1, runs real-time on 3 CPU threads)
ASR’s Structured Output
VibeVoice-ASR bundles three tasks into a single inference pass:
- Who: speaker diarization
- When: timestamps
- What: transcription
A 60-minute audio file produces structured text with timeline and speaker labels — no chunking, no multiple passes. This is immediately practical for meeting recordings, interviews, and multi-character audio content.
50+ languages supported, including Chinese and English. A streaming ASR variant handles real-time scenarios. Customizable hotword support addresses proper noun recognition gaps.
Community Fork Installation
The official repo is disabled; use the community fork:
git clone https://github.com/vibevoice-community/VibeVoice.git
cd VibeVoice/
uv pip install -e .
Download models from HuggingFace (requires HF_TOKEN):
from vibevoice import VibeVoice
# TTS 1.5B: long-form multi-speaker
tts = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-1.5B")
# Realtime: streaming low-latency
tts_rt = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-Streaming-0.5B")
# ASR: long recording transcription
asr = VibeVoice.from_pretrained("vibevoice-community/VibeVoice-ASR-7B")
Local Gradio demo for testing:
python demo_gradio.py --model vibevoice-community/VibeVoice-1.5B
OpenAI-Compatible API Server
To integrate VibeVoice into existing TTS workflows, marhensa/vibevoice-realtime-openai-api provides an OpenAI /v1/audio/speech-compatible server:
git clone https://github.com/marhensa/vibevoice-realtime-openai-api
cd vibevoice-realtime-openai-api
docker compose up -d
# Same call signature as OpenAI TTS API
curl http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "vibevoice-realtime", "input": "Hello world", "voice": "alloy"}' \
--output speech.mp3
OpenAI voice name aliases (alloy, echo, fable, etc.) map to VibeVoice voices — zero code changes to existing integrations.
BitNet CPU Inference
For GPU-less environments, VibeVoice-ASR-BitNet is the only real-time-capable CPU option:
- Model size: 1.58GB (quantized)
- RTF (real-time factor) < 1: processing 60 seconds of audio takes under 60 seconds
- Requirement: ≥3 CPU threads
asr = VibeVoice.from_pretrained(
"vibevoice-community/VibeVoice-ASR-BitNet",
device="cpu",
num_threads=4 # match physical core count
)
result = asr.transcribe("meeting.wav")
# result: text, speakers, timestamps
Set thread count to match physical cores; oversubscribing physical cores usually increases latency from scheduling overhead.
The Repo Pull: Technology and Governance Tension
Microsoft disabled the repository roughly two weeks after release, with the stated reason of preventing out-of-scope use.
The engineering logic: MIT license release → no control over downstream use → high-quality TTS fundamentally lowers the barrier for convincing synthetic audio.
A few technical facts worth stating accurately:
- The community fork existed before the official pull; MIT license permits this
- Code and model weights were already distributed; pulling the repo can’t recall released artifacts
- The official repo is disabled but its 54K star count remains visible
This event illustrates a recurring tension in open-source AI releases: publishing means losing control; not publishing means losing community value. Microsoft’s approach (post-hoc pull) doesn’t resolve the underlying tension, but it does establish a clear position.
Limitations
- Not recommended for production: the official documentation explicitly states “we do not recommend using VibeVoice in commercial or real-world applications without further testing”
- Community fork training code is unofficial and hasn’t been validated by the original team
- ASR-BitNet has lower accuracy than ASR-7B — quantization has quality costs
- Deepfake risk is real — clarify compliance for your use case before deploying
- Official maintenance has stopped; the community fork’s longevity depends on contributor activity
Open-source code is for learning purposes only — do not use directly in production work.
© 2026 Author: Mycelium Protocol. Licensed under CC BY 4.0 — free to share and adapt with attribution.
关于本站 · 免责声明
🍄 Mushroom Research Blog 是非营利、免费公开的个人科技观察博客与公众号 XStack18,不接受商业合作、不代表任何企业或机构立场,也不谋求商业利益。我们以个人视角客观中立地记录和分析 AI、Web3 等领域的最新模型发布与技术动态——不止转述新闻标题或二手信息,而是给出有独立思考的深入分析,希望帮更多人获得有价值的一手科技认知。
⚠️ 文中介绍的开源代码与模型,仅供学习交流与技术借鉴。它们大多仍处于早期阶段,有待进一步研究和验证,请勿直接用于工作或生产环境;如需采用,请先自行充分测试,并核实其许可证与安全性。
Open-source code and models featured here are shared for learning and reference only. Most are early-stage and still need further study and verification — please don't use them directly in your work or in production. Test them thoroughly and check their licenses and security first.
- 本站文章均为作者基于公开信息的个人研究与观点整理,不代表文中提及的任何公司、产品、模型的官方立场,未与其构成商业关联或合作关系。
- 科技行业信息更新极快,我们尽力保证内容准确、及时,但不对完整性、实时性做绝对保证,具体请以相关企业/项目官方公告为准。
- 文中引用的第三方商标、产品名称、图片、数据等版权归原权利人所有,我们会尽量注明来源;如你认为存在版权疑问或侵权,请通过下方邮箱联系我们,收到通知后会尽快核实处理(更正、加注来源或删除)。
- 文章内容仅为技术科普与个人观点,不构成投资、法律或其他专业建议,据此进行任何决策的后果需自行判断和承担。
📮 侵权 / 勘误 / 合作咨询:[email protected]
💬 评论与讨论
使用 GitHub 账号登录后发表评论