株式会社ホコサキ

VoiceboxをセルフホストしてElevenLabsの代わりになるか試した

天京祐輔
天京祐輔
VoiceboxをセルフホストしてElevenLabsの代わりになるか試した

ElevenLabsの月額料金が気になりはじめたエンジニアが、ある時点で必ず行き着くのが「OSS で代替できないか」という問いです。音声合成・クローンの領域では、ここ1〜2年でローカル動作するツールが急速に充実してきました。その中でも Voiceboxjamiepine/voicebox)は、単なるTTSスクリプトではなく「音声I/Oのフルスタック」を謳うアプリとして注目を集めています。

実際にセットアップして動かすと、最初に驚くのは敷居の低さです。Pythonのインストールすら不要で、macOSならtar.gzを展開して起動するだけ。ただし、そこから「本番で使えるか」を判断するまでには、いくつかの詰まりポイントと、正直に言うと「ここはまだ商用に勝てない」と感じる部分の両方がありました。

Voiceboxとは何か——構成と依存関係を把握する

Voiceboxは、Jamie Pine氏が開発したローカルファーストの音声スタジオです。MITライセンスで公開されており、GitHubスターは8,000を超えています。「ElevenLabsとWisprFlowを1つのアプリで代替する」というのが開発者の掲げるコンセプトで、音声合成・ボイスクローン・ディクテーションを統合しています。

技術スタックは少し変わっています。フロントエンドはSvelteKitで書かれており、それをTauri(Rust製のデスクトップアプリフレームワーク)でラップしたデスクトップアプリです。音声処理のバックエンドはPythonサイドカーとして動作し、アプリ本体とは分離されています。ユーザーはPythonを意識せずにバイナリをインストールするだけで使えますが、内部ではPyInstallerでバンドルされたPythonプロセスが裏で動いています。

TTSエンジンは7種類を切り替え可能という設計で、メインエンジンとして採用されているのはAlibaba製のQwen3-TTSです。23言語対応を謳い、数秒の音声サンプルからボイスクローンができます。STT(音声認識)側はWhisperを使っており、ディクテーション機能の基盤になっています。

Apple Siliconユーザーにとって特筆すべき点は、MLXバックエンドが使えることです。AppleのMetalを活用した統合メモリアーキテクチャにより、PyTorchバックエンドと比較して4〜5倍高速な推論が可能とされています。M1以降のMacを持っているなら、クラウドGPUを借りなくてもローカルで十分な速度が出ます。

「ElevenLabsの代替」として何が嬉しいかというと、音声データをクラウドに送らない点と、文字数課金がない点です。ボイスクローンのサンプルも生成した音声も、すべてローカルで完結します。大量生成しても追加コストが発生しません。ただし「代替」という言葉には罠があります。日本語の音質・固有名詞のアクセント制御・APIの安定性・保守工数——これらの現実については、後の節で具体的に触れます。

セットアップの実際——ローカルからクラウドGPUまで

Voiceboxの最大の敷居の低さは、Pythonのインストールが不要な点です。macOSとWindowsはバイナリ配布があり、ダウンロードしてインストーラーを実行するだけで起動します。

動作環境の選択肢と最低スペックの目安は以下のとおりです。

  • macOS(Apple Silicon M1以上):MLXバックエンドで高速推論。.app.tar.gzを展開して起動するだけ。現時点で最もセットアップが楽な環境
  • macOS(Intel):動作はするが、MLX加速は使えないためCPU推論になり速度は落ちる
  • Windows(CUDA対応GPU・VRAM 8GB以上目安):MSIインストーラーで導入可能。ただしデフォルトはCPUサイドカーで動作し、GPU推論を有効にするには追加手順が必要
  • Linux(AppImage):執筆時点でLinuxビルドはGitHub Actionsの制約によりまだリリースされていない。クラウドGPUインスタンスで動かしたい場合は、自前でビルドするかリリースを待つ必要がある

WindowsでCUDA推論を有効にする際の落とし穴があります。CUDAバイナリはアプリに同梱されておらず、%APPDATA%/com.voicebox.app/backends/ に別途配置する必要があります。デフォルト状態ではCPUサイドカーで動くため、「GPUがあるのになぜ遅い?」と詰まるポイントです。

VoiceboxにはREST APIエンドポイントが公開されており、外部スクリプトやWebアプリからHTTPで叩ける設計になっています。GUIを使わなくてもAPIとして音声生成を呼び出せる点が、ワークフロー組み込みの要です。ポート番号はアプリ起動後に確定します。設定ファイルや起動ログで確認できますが、外部スクリプトから叩く際はプロセス管理と合わせて設計する必要があります。

# テキストから音声を生成する基本的なリクエスト
curl -X POST http://localhost:{PORT}/tts \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Hello, this is a test narration.",
    "profile_id": "abc123",
    "language": "en"
  }'

{PORT} は起動ログまたはアプリのUI設定画面で確認してください。このエンドポイントを叩けば、任意のスクリプトやWebアプリから音声生成を組み込めます。

3つのユースケースで見る実用の限界点

① ナレーション生成——スクリプトからMP3まで

動画制作や研修コンテンツのナレーションを自動生成するユースケースは、Voiceboxが最も「使えそう」に見えるシナリオです。スクリプトをテキストで用意し、APIかGUIからTTSを実行してMP3を得る流れは確かにシンプルです。

問題は日本語の品質です。Qwen3-TTSは23言語対応を謳っていますが、固有名詞の読み精度とアクセント制御に課題があります。VOICEVOXやNijiVoiceは辞書登録やアクセント制御をフルサポートしているのに対し、Qwen3-TTSベースの日本語は英語ベースのアクセントが混入しやすく、技術用語や人名で読み誤りが出やすい傾向があります。

英語コンテンツなら実用域に入ります。SaaSのチュートリアル動画や英語圏向けマーケティング素材のような英語ナレーション大量生成ワークフローでは、ElevenLabsのCreatorプラン($22/月・100,000文字)と比較して品質の差は縮まります。日本語メインのコンテンツであれば、VOICEVOXやAzure AI Speechの方が現時点では現実的な選択肢です。

② ボイスクローン——ブランドボイスの統一と法的な注意点

Voiceboxのボイスクローンは、数秒の音声サンプルから複製できる手軽さが特徴です。ElevenLabsのInstant Voice Cloneが30秒〜5分のサンプルを推奨しているのと比べると、参入障壁は低いです。

MITライセンスなので商用利用自体は可能です。ただし、技術的に「できる」ことと、法的・倫理的に「やっていい」ことは別の話です。他者の声をクローンする場合、本人の同意取得は必須であり、これはVoiceboxを使おうとElevenLabsを使おうと変わりません。自社のナレーターやタレントのブランドボイスを統一したい場合は、事前に書面での同意と利用範囲の合意を取っておく必要があります。

自分自身の声をクローンしてナレーションを量産するユースケースでは、ローカル完結という点で明確な優位性があります。クローンサンプルがクラウドに送られないため、声のデータ管理を自社で完結できます。

③ ディクテーション——Whisper連携とドキュメント作成フローへの組み込み

Voiceboxのディクテーション機能は、グローバルホットキーで任意のテキストフィールドに書き起こすという設計です。ブラウザのフォームでも、コードエディタでも、ホットキーを押して話すと音声がテキストに変換されて入力されます。バックエンドはWhisperなので、オフラインで動作します。

これはWisprFlowの代替として機能します。月額課金のディクテーションツールを使っているエンジニアにとっては、置き換えの価値が高いユースケースです。ドキュメント作成・Slackへのメッセージ入力・コードコメントの口述など、キーボードを離れたい場面で使えます。

MCPエージェントに音声を与えるという用途も公式に想定されています。以下はVoiceboxのAPIを使ってエージェントに音声出力させる簡易スクリプトの例です。

import httpx
import asyncio

async def speak_as_agent(text: str, profile_id: str, port: int):
    """MCPエージェントの応答をVoiceboxで音声出力する"""
    async with httpx.AsyncClient() as client:
        response = await client.post(
            f"http://localhost:{port}/tts",
            headers={
                "Content-Type": "application/json",
                "X-Voicebox-Client-Id": "mcp-agent"
            },
            json={
                "text": text,
                "profile_id": profile_id,
                "language": "en"
            }
        )
        # レスポンスは音声バイナリ(WAV/MP3)
        with open("output.wav", "wb") as f:
            f.write(response.content)

asyncio.run(speak_as_agent("Task completed successfully.", "your-profile-id", 8765))

クローンした声でエージェントが喋る構成をローカルで完結させられます。音声インターフェースを持つエージェントを構築したいが、音声データを外部に送りたくないという要件にはフィットします。

ElevenLabsと使い分けるための判断軸

VoiceboxとElevenLabsを比較するとき、「どちらが優れているか」という問いの立て方は実用的ではありません。要件によって答えが変わるからです。

まずコストの話から整理します。ElevenLabsはCreatorプランが$22/月・100,000文字、Proプランが$99/月・500,000文字です。少量であればFreeプラン(10,000文字/月)やStarterプラン($5/月・30,000文字)でも賄えます。一方Voiceboxは文字数課金がない代わりに、クラウドGPUで動かす場合はインスタンス費用がかかります。常時起動で運用すると月額コストはElevenLabsのProプランを超えることも十分あり得ます。バッチ処理でスポットインスタンスを使う設計にするか、Apple SiliconのMacをローカルサーバーとして使うかで、コスト構造は大きく変わります。

保守工数はコストと切り離せません。Voiceboxはまだ開発初期のプロジェクトであり、Linuxビルドが未リリースである点からも分かるように、本番環境での安定運用には一定の覚悟が必要です。アップデートへの追従・依存モデルの更新・障害対応——これらは商用サービスでは自動的に解決されることです。「OSSだから安い」は前提にしない方がいいです。

その上で、判断を分ける軸を挙げます。

  • データ主権:音声サンプルや生成データをオンプレに閉じたい要件があるなら、Voiceboxに明確な優位性がある。これが最も強い採用理由になる
  • 生成ボリューム:月間の生成量が多く、かつローカルまたはスポットGPUで賄えるなら、長期的にコストが逆転する可能性がある
  • 日本語品質要件:日本語メインのコンテンツには現時点でVoiceboxは厳しい。VOICEVOXやAzure AI Speechを検討する方が現実的
  • 保守リソース:OSS運用に割ける工数がチームにあるかどうか。ない場合は商用サービスの方がトータルコストは低くなりやすい
  • レイテンシ要件:リアルタイム対話や即時応答が必要な用途では、ElevenLabsのAPIの方が現時点で安定している

正直なところ、今すぐ本番投入できると感じたのはディクテーション用途だけです。英語ナレーションのバッチ生成はApple Silicon環境があれば試す価値があります。ボイスクローンは技術的には動くが、日本語品質と法的整理の両方を先に済ませる必要があります。「ElevenLabsの完全代替」というより、「データを外に出せない要件があるときの現実的な選択肢」として捉えるのが今の正確な評価です。


株式会社ホコサキは、山口県宇部を拠点にWeb制作・業務システム開発・AI活用支援を手がけています。音声AIのワークフロー組み込みや、OSSと商用サービスの使い分けを含むAI導入の相談も受け付けています。興味があればお問い合わせページからどうぞ。

    VoiceboxをセルフホストしてElevenLabsの代わりになるか試した | 株式会社ホコサキ