Voicebox は、ElevenLabs のオープンソース代替 を目指すデスクトップアプリケーション。音声クローニング、テキスト読み上げ(TTS)、オーディオエフェクト、マルチトラック編集をひとつの GUI に統合している。
技術スタックは以下の3層構成:
| 層 | 技術 | 役割 |
|---|---|---|
| フロントエンド | React 18 + TypeScript + TanStack Router/Query + Tailwind | エディタUI・波形表示・タイムライン |
| バックエンド | Python FastAPI + SQLAlchemy (SQLite) + PyTorch/MLX | TTS推論・モデル管理・REST API (90+エンドポイント) |
| デスクトップシェル | Tauri v2 (Rust) | ネイティブウィンドウ・マイク/システム音声キャプチャ・自動更新 |
6つのTTSエンジンを切り替えて使える:
[laugh] [sigh] 等の感情タグ対応| 観点 | ElevenLabs (代表的SaaS) | Voicebox |
|---|---|---|
| コスト | 月額 $5〜$200 の従量課金 | 完全無料 (MIT ライセンス) |
| プライバシー | 音声データがクラウドに送信される | ローカル完結 — モデルもデータもデバイス上 |
| エンジン選択 | プロプライエタリ1種のみ | 6エンジンを用途別に切替可能 |
| エフェクト | ピッチ・速度程度 | 8種類 (リバーブ/コーラス/コンプレッサー等) + プリセット保存 |
| マルチボイス編集 | タイムラインなし | Stories エディタ でDAW風マルチトラック編集・ミックス書出し |
| 長文対応 | 制限あり | 最大50,000文字、自動チャンク分割+クロスフェード接合 |
| デスクトップ体験 | Webのみ | Tauri (Rust) によるネイティブアプリ(Electronより軽量) |
| API連携 | 有料APIキー必要 | localhost:17493 に認証なしでREST/SSE接続可能 |
要するに、「クラウドに音声データを渡さず、無料で、複数のOSSモデルを試しながら音声制作できる」 点が最大の差別化ポイント。ポッドキャスト制作、ゲームの台詞生成、アクセシビリティツール等に向く。
┌─────────────────────────────────────────────────────┐
│ 1. インストール & 起動 │
│ • macOS/Windows: .dmg/.msi をダウンロードして起動 │
│ • Docker: docker compose up → localhost:17493 │
│ • 開発: just setup && just dev │
│ → Python バックエンドが自動起動、React UI が接続 │
└──────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ 2. ボイスプロファイル作成 [Voices タブ] │
│ • マイクで 10〜30秒 録音、または音声ファイルをアップロード│
│ • 発話内容のテキスト(リファレンステキスト)を入力 │
│ • 保存 → 音声埋め込み(embedding)がローカルに保存 │
└──────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ 3. 音声生成 [メインエディタ] │
│ • テキスト入力 → プロファイル選択 → エンジン選択 │
│ • 「Generate」クリック │
│ • 初回はモデルを HuggingFace から自動DL (数GB) │
│ • SSE でリアルタイム進捗表示 → 完了後に波形プレビュー │
└──────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ 4. エフェクト適用(任意) [Effects タブ] │
│ • リバーブ / ピッチシフト / コンプレッサー等を重ね掛け │
│ • プリセット保存 → プロファイルごとのデフォルト設定可 │
│ • 元音声は常に保持(非破壊編集) │
└──────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ 5. マルチボイス構成(任意) [Stories タブ] │
│ • 複数プロファイルの音声をタイムラインに配置 │
│ • トリミング・並べ替え → ステレオ WAV にミックス書出し │
│ • ポッドキャストや会話シーンの一括制作に最適 │
└──────────────────────┬──────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ 6. エクスポート / API 連携 │
│ • WAV ダウンロード(右クリック → Export) │
│ • REST API 経由で外部アプリから生成: │
│ POST http://localhost:17493/generate │
│ { "text": "...", "profile_id": "...", │
│ "engine": "qwen", "language": "en" } │
└─────────────────────────────────────────────────────┘
GPU は自動検出される(Apple Silicon → MLX / NVIDIA → CUDA / AMD → ROCm / CPU フォールバック)。モデル管理タブからロード・アンロード・ダウンロードを GUI で操作でき、VRAM を手動で解放することも可能。