結論
VibeVoiceは、Microsoftが提供するオープンソースの音声AIファミリーで、3つのモデル(TTS、ストリーミングTTS、ASR)がMITライセンスでローカル実行可能です。本記事では、VibeVoiceのインストール、利用方法、API統合まで、開発者が即実践できる手順を解説します。
はじめに
Microsoftは2026年初頭にVibeVoiceをオープンソース音声AIフレームワークとしてリリースしました。TTS(テキスト読み上げ)とASR(音声認識)モデルを含み、全てローカルで実行可能です。
VibeVoiceの3モデルは下記の通りです。
- VibeVoice-1.5B:最大90分/4話者の対話音声TTS生成
- VibeVoice-Realtime-0.5B:300msレイテンシのストリーミングTTS
- VibeVoice-ASR:50+言語対応、話者識別・タイムスタンプ付きASR(最大60分)
TTSモデルのリリース後、音声クローニング悪用により一時リポジトリが非公開になりましたが、AI免責事項音声と透かし機能追加後に公開再開。ASRはAzure AI Foundryクラウドでも利用可能です。
この記事ではVibeVoiceのインストール、TTS・ASR利用、API統合、Apidogによる音声AIエンドポイントテスト方法を実践的に説明します。
VibeVoiceの仕組み:アーキテクチャ概要
トークナイザーの画期的な進歩
VibeVoiceの中核は7.5 Hzの超低フレームレート音声トークナイザー。一般的な音声モデルの1/7〜1/13のレートで、長時間(90分)の音声シーケンス処理を実現。
- アコースティックトークナイザー: 24kHz音声を3,200倍ダウンサンプリング。SigmaVAE変種(3.4億パラメータ)
- セマンティックトークナイザー: ASRタスクで学習し言語意味を捕捉
次トークン拡散
LLM(Qwen2.5-1.5B)+拡散ヘッド(1.23億パラメータ)。DDPM+Classifier-Free Guidanceで高忠実度音響を生成します。
- パラメータ総数: 30億
トレーニングアプローチ
カリキュラム学習で4K~64Kトークンに段階的拡張。トークナイザーは固定、LLM/拡散ヘッドのみ更新し、短尺機能維持+長尺対応が可能。
VibeVoiceモデルの仕様
| モデル | パラメーター | 目的 | 最大長 | 言語 | ライセンス |
|---|---|---|---|---|---|
| VibeVoice-1.5B | 3B | テキスト読み上げ | 90分 | 英語、中国語 | MIT |
| VibeVoice-Realtime-0.5B | 約0.5B | ストリーミングTTS | 長尺 | 英語、中国語 | MIT |
| VibeVoice-ASR | 約9B | 音声認識 | 60分 | 50+言語 | MIT |
VibeVoice-1.5B (TTS)
| 仕様 | 値 |
|---|---|
| LLMベース | Qwen2.5-1.5B |
| コンテキスト長 | 64Kトークン |
| 最大話者数 | 4人同時 |
| 音声出力 | 24kHz WAV モノラル |
| テンソル型 | BF16 |
| 形式 | Safetensors |
| HuggingFaceダウンロード数 | 62,630/月 |
| コミュニティフォーク数 | 12種類のファインチューニング済み |
VibeVoice-ASR
| 仕様 | 値 |
|---|---|
| アーキテクチャ | Qwen2.5 |
| パラメーター | 約9B |
| 音声処理 | 60分/1パス |
| フレームレート | 7.5 Hz |
| 平均WER | 7.77%(英語データセット平均) |
| LibriSpeech Clean WER | 2.20% |
| TED-LIUM WER | 2.57% |
| 言語 | 50+ |
| 出力 | 構造化(話者+時間+内容) |
| 入力 | 16kHz+ WAV, FLAC, MP3 |
インストールとセットアップ
前提条件
- Python 3.8以降
- CUDA対応NVIDIA GPU
- TTS: VRAM 7-8GB以上
- ASR: VRAM 24GB以上(A100/H100推奨)
- RAM 32GB以上(ASRは64GB推奨)
- CUDA 11.8以降(12.0以降推奨)
VibeVoice TTSをインストール
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -r requirements.txt
初回実行時にHuggingFaceから自動ダウンロード。手動ダウンロードも可能。
from huggingface_hub import snapshot_download
snapshot_download(
"microsoft/VibeVoice-1.5B",
local_dir="./models/VibeVoice-1.5B",
local_dir_use_symlinks=False
)
pip経由でインストール(コミュニティパッケージ)
pip install vibevoice
ASR用にインストール
git clone https://github.com/microsoft/VibeVoice.git
cd VibeVoice
pip install -r requirements-asr.txt
クラウド推論はAzure AI Foundryでもデプロイ可能。
VibeVoice-1.5Bで音声を生成する
単一話者での生成
テキストスクリプト(例: script.txt)を用意。
Alice: Welcome to the Apidog developer podcast. Today we're covering API testing strategies for 2026.
推論実行:
python VibeVoice \
--model_path microsoft/VibeVoice-1.5B \
--txt_path script.txt \
--speaker_names Alice \
--cfg_scale 1.5
出力はoutputs/内に.wavファイルとして生成。
複数話者のポッドキャスト生成
最大4人まで話者を指定可能。podcast_script.txt例:
Alice: Welcome back to the show. Today we have two API experts joining us.
Bob: Thanks for having me. I've been working on REST API design patterns for the past five years.
Carol: And I focus on GraphQL performance optimization. Happy to be here.
Alice: Let's start with the debate everyone wants to hear. REST versus GraphQL for microservices.
Bob: REST gives you clear resource boundaries. Each endpoint maps to a specific resource.
Carol: GraphQL gives you flexibility. One endpoint, and the client decides what data it needs.
python VibeVoice \
--model_path microsoft/VibeVoice-1.5B \
--txt_path podcast_script.txt \
--speaker_names Alice Bob Carol \
--cfg_scale 1.5
全体を通して各話者の音声特性を維持。
音声クローニング(ゼロショット)
音声要件:
- WAV(モノラル)/ 24kHz / 30-60秒の明瞭な音声
変換例:
ffmpeg -i source_recording.m4a -ar 24000 -ac 1 reference_voice.wav
GradioデモUIで音声クローニング:
python demo/gradio_demo.py
http://127.0.0.1:7860 にアクセスし参照音声をアップロード→音声生成。
VibeVoice-Realtime-0.5Bによるストリーミング
低遅延音声出力が必要な場合:
python demo/streaming_inference_from_file.py \
--model_path microsoft/VibeVoice-Realtime-0.5B \
--txt_path script.txt \
--speaker_name Alice
リアルタイム用途は0.5B、品質重視は1.5B利用がおすすめ。
PythonでVibeVoiceを使用する
パイプラインAPI
from transformers import pipeline
from huggingface_hub import snapshot_download
model_path = snapshot_download("microsoft/VibeVoice-1.5B")
pipe = pipeline(
"text-to-speech",
model=model_path,
no_processor=False
)
script = [
{"role": "Alice", "content": "How do you handle API versioning?"},
{"role": "Bob", "content": "We use URL path versioning. v1, v2, and so on."},
]
input_data = pipe.processor.apply_chat_template(script)
generate_kwargs = {
"cfg_scale": 1.5,
"n_diffusion_steps": 50,
}
output = pipe(input_data, generate_kwargs=generate_kwargs)
本番環境向けFastAPIラッパー
OpenAI互換TTS APIとして使えるFastAPIラッパーを利用可能。
git clone https://github.com/ncoder-ai/VibeVoice-FastAPI.git
cd VibeVoice-FastAPI
docker compose up
API例:
curl -X POST http://localhost:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "vibevoice-1.5b",
"input": "Your API documentation should be a conversation, not a monologue.",
"voice": "alice"
}' \
--output speech.wav
ApidogでOpenAI互換リクエスト形式そのままテスト可能です。
VibeVoice-ASRで音声認識を使用する
基本的な文字起こし
python asr_inference.py \
--model_path microsoft/VibeVoice-ASR \
--audio_path meeting_recording.wav
構造化出力形式
VibeVoice-ASRは、話者/開始・終了時刻/内容の構造化JSONを返します。
{
"segments": [
{
"speaker": "Speaker 1",
"start": 0.0,
"end": 4.2,
"text": "Let's review the API endpoints for the new release."
},
{
"speaker": "Speaker 2",
"start": 4.5,
"end": 8.1,
"text": "I've added three new endpoints for the billing module."
}
]
}
MCPサーバーとしてのASR
AIコーディングツール向けMCPサーバーとしても利用可能。
pip install vibevoice-mcp-server
vibevoice-mcp serve
会議/録音音声→リアルタイムで文字起こし→コーディングエージェントと連携。
VibeVoice-ASRとWhisperの使い分け
| ユースケース | 最適な選択肢 | 理由 |
|---|---|---|
| 長時間会議(30-60分) | VibeVoice-ASR | 60分1パス、話者識別 |
| 複数話者インタビュー | VibeVoice-ASR | ダイアライゼーション内蔵 |
| タイムスタンプ付きポッドキャスト | VibeVoice-ASR | 「話者/時間/内容」形式 |
| 多言語コンテンツ | VibeVoice-ASR | 50+言語対応 |
| 騒がしい短いクリップ | Whisper | ノイズ耐性優秀 |
| エッジ/モバイル展開 | Whisper | モデルサイズ小、端末幅広い |
| 英語以外の専門言語 | Whisper | 多言語ファインチューニング成熟 |
Apidogで音声AI APIをテストする
VibeVoice FastAPIラッパーやAzure AI Foundryエンドポイント、独自API構築時もApidogで容易にテスト可能です。
TTSエンドポイントをテストする
- Apidogで新規POSTリクエストを作成(VibeVoice FastAPIサーバー宛)
- OpenAI互換JSONボディを設定
{
"model": "vibevoice-1.5b",
"input": "Test speech synthesis with proper intonation and pacing.",
"voice": "alice",
"response_format": "wav"
}
- レスポンスヘッダーで
audio/wavを確認 - WAVを保存し、音質をチェック
ASRエンドポイントをテストする
-
multipart/form-dataで音声ファイルを送信 - レスポンスJSONで話者ID・タイムスタンプ・文字起こしテキストを検証
オーディオAPIコントラクトを検証する
- ASRはバイナリファイルアップロード
- TTSはJSONボディ
- 構造化レスポンス検証
- 環境変数でローカル/クラウド切り替え
本番前にApidogで音声AI統合を必ずテストしましょう。
安全性と責任ある利用
Microsoftは以下の安全策を追加しています。
- 可聴AI免責事項:自動でAI生成音声が含まれる
- 知覚できない透かし:第三者が検証可能なマーカー
- 推論ログ記録:悪用検出のための集計ログ
- MITライセンス:商用利用OKだが、本番投入は自己責任
許可されること
- 研究/学術用途
- 内部プロトタイプ・テスト
- AI開示付きポッドキャスト
- アクセシビリティ実装
許可されないこと
- 明示的同意なき声の模倣
- ディープフェイクや偽装
- ライブディープフェイク
- 音楽・効果音生成
知っておくべき制限事項
TTSの言語サポートは英中のみ。他言語は不可。 ASRは50+言語対応。
ASRモデルは24GB以上のVRAM必須。 TTSは7-8GBあればOK。
重複トーク処理は不可。 TTSはターン制のみ。
Qwen2.5由来のバイアスあり。 予期せぬ出力にも注意。
研究レベルソフトウェア。 本番品質を想定せず、エッジケースには注意。
Azure AI FoundryへのVibeVoice-ASRのデプロイ
GPU管理不要なチーム向けに、Azure AI FoundryからVibeVoice-ASRのマネージドAPIエンドポイントを利用可能。HTTPSで音声ファイルを送信し、ローカル同様の構造化文字起こしを取得できます。
運用SLAやスケーリングが必要な場合はAzure AI Foundryのモデルカタログを参照し、Apidogでエンドポイントテストを事前実施してください。
コミュニティとエコシステム
- 1.5Bモデル月間ダウンロード 62,630+
- HuggingFace「いいね」2,280+
- Spaces 79+
- ファインチューニング済みバリアント12種類
- 量子化モデル4種
-
vibevoice-community/VibeVoiceで活発なフォーク
主なコミュニティプロジェクト:
- VibeVoice-FastAPI: Docker対応REST APIラッパー
- VibeVoice MCP Server: AIコーディングツール向け統合
- Apple Silicon対応: MシリーズMac用スクリプト
- 量子化モデル: VRAM削減用GGUF等形式
よくある質問
VibeVoiceは無料で使えますか?
MITライセンスで3モデルすべて無料利用可能。Azure AI Foundryのクラウド推論は別料金。
VibeVoiceはApple Silicon Macで動作しますか?
コミュニティ提供スクリプトあり。性能はCUDA GPUに劣るが利用可能。
VibeVoiceとElevenLabsの比較は?
VibeVoiceはローカル実行でAPIコスト不要。ElevenLabsは高品質・多音声・簡単セットアップだがクラウド有料。本番品質・使いやすさ重視ならElevenLabs、プライバシー/オフライン重視ならVibeVoice。
GitHubリポジトリが一時的に無効化されたのは?
音声クローニング悪用検出で一時停止。可聴免責・透かし追加後に復活。コミュニティ開発は停止中も継続。
VibeVoiceをカスタム音声でファインチューニングできますか?
はい。HuggingFaceで12種公開。学習には24kHzモノラルWAV(30-60秒)とGPUが必要。
出力オーディオ形式は?
24,000HzモノラルWAV。ffmpegで他形式に変換可能。
VibeVoice-ASRはWhisperの代替になる?
話者識別付き長尺音声なら最適。Whisperは短尺・ノイズ耐性・エッジ展開向き。
VibeVoiceはリアルタイム音声チャット対応?
VibeVoice-Realtime-0.5Bはチャンク遅延300msのストリーミングTTSが可能。全二重会話向けではないため、より高度なリアルタイム用途はAzure OpenAI等を検討。
Apidogで今すぐ音声AI API統合をテストし、開発に活用しましょう。






Top comments (0)