OmniVoice-Studio の始め方ガイド
OmniVoice Studio は、クラウド依存や高額なサブスクリプションを解消し、ローカル環境で動作するオープンソースの音声 AI ツールとして登場し、646言語に対応した無料の代替手段を提供している。
キーポイント
完全ローカル実行とプライバシー保護
ElevenLabs と異なり、生成プロセスがユーザーのハードウェア上で完結するため、データが外部サーバーに送信されず、機密性や所有権を完全に守る。
圧倒的な多言語対応と無料利用
32言語の ElevenLabsに対し、646もの言語をサポートしており、個人利用であれば完全無料で API キー不要に音声クローンや合成が可能である。
活発なオープンソース開発とベータ版
GitHub で 7.1k のスターを獲得し、2026 年 5 月に最新版がリリースされたが、現在はアクティブなベータ段階であり、安定性を求める場合はソースからのビルド推奨。
完全なローカル実行とプライバシー
OmniVoice Studio はクラウドに依存せず、すべての処理をユーザーの端末内(CUDA、Apple Silicon MPS、AMD ROCm または CPU)で完結させます。これにより、音声データが外部に送信されることなく、高いセキュリティとプライバシーが保証されます。
高度なハードウェア自動検出機能
起動時に自動的に GPU や CPU を検知し、最適な環境(NVIDIA CUDA、Apple Silicon MPS など)へ処理をルーティングします。VRAM が 8GB 未満の場合でも TTS モデルが CPU にオフロードされるため、低スペック機でも動作可能です。
4 つのオープンソース技術による統合
WhisperX(文字起こし)、Demucs(音声分離)、OmniVoice(ゼロショット TTS)、Pyannote(話者識別)という 4 つの主要な AI コンポーネントを組み合わせ、多言語・多話者の高品質な吹き替えを実現しています。
GPUなしでの動作とApple Siliconの最適化
OmniVoice StudioはCPUのみでも動作可能ですが、TTS合成や動画文字起こしはGPUありより約3倍遅くなります。特にApple Silicon MacではMLX最適化によりNeural Engineを活用し、CPU経路より2倍の処理速度を発揮します。
重要な引用
"OmniVoice Studio is built on a different premise: everything runs on your hardware."
"The project describes itself as 'the open-source ElevenLabs alternative,' and that's accurate, though the language coverage alone makes the comparison interesting: ElevenLabs supports 32 languages. OmniVoice Studio supports 646."
"OmniVoice Studio is in active beta. Things can break between releases."
"Nothing leaves your machine"
"GPU acceleration is auto-detected at launch. You don't configure anything"
One thing worth knowing: you do not need a GPU to use OmniVoice Studio. The entire pipeline runs on CPU.
影響分析・編集コメントを表示
影響分析
このツールは、音声合成市場における「クラウド依存」という構造的問題に対するローカル実行という解決策を示しており、特にプライバシー意識の高い開発者や企業にとって重要な選択肢となる。また、646言語という圧倒的な多言語対応は、ニッチな言語圏のコンテンツ制作や、リソース制約のある環境での利用を可能にし、AI の民主化を加速させる可能性を秘めている。
編集コメント
クラウドサービスへの依存から脱却し、ローカル環境で高品質な音声生成を実現する「OmniVoice Studio」の登場は、プライバシーとコスト意識の高い層にとって大きな追い風となる。ただしベータ版である点や、大規模言語モデルをローカルで動かすためのハードウェア要件には注意が必要だ。
image**
# イントロダクション
テキストを ElevenLabs に貼り付けて「生成」ボタンを押すと、文字数カウンターがカウントダウンしていくのが見えます。無料枠はテストを終える前に使い果たしてしまいます。クリエイタープランは月額 22 ドル、プロプランは 99 ドルです。さらに、生成したオーディオファイルはすべてあなたのマシンから離れ、相手のサーバーに保存されます。コンテンツが機密性を持っていたり、独自のものであったりする場合、これは大きな問題になります。
OmniVoice Studio は全く異なる前提で構築されています:すべての処理をあなたのハードウェア上で行います。ボイスクローン、動画吹き替え、リアルタイム文字起こし、音声デザイン——すべてがローカル環境完結です。個人利用なら無料で、API キーも不要、使用制限もありません。このプロジェクトは「オープンソース版 ElevenLabs」と自称していますが、これは事実を正確に表しています。ただし、言語対応数という点では比較自体が興味深いものになります:ElevenLabs は 32 か国語に対応しているのに対し、OmniVoice Studio はなんと 646 か国語をサポートしています。
このプロジェクトは GitHub でスター 7,100 個、フォーク 1,100 個を突破しました。最新リリースである v0.2.7 は 2026 年 5 月 3 日に公開され、macOS、Windows、Linux のための事前構築済みインストーラーが含まれています。この記事では、インストールから最初のオーディオ生成に至るまでの全プロセスを解説します。
必ず JSON 形式で返してください。translation フィールドのみ。他のフィールドは一切追加しないこと — 余計なフィールドを書こうとして本文がトークン上限で打ち切られる事故を防ぐため:
{"
ベータ版に関する注意: OmniVoice Studio は現在、活発に開発中のベータ版です。リリース間隔で不具合が発生する可能性があります。最新の修正を適用するには、プリビルドのインストーラーを使用するよりも、ソースコードからクローンして bun run desktop-prod を実行することが推奨されます。
OmniVoice Studio とは何か、そしてなぜ作られたのか
最もシンプルな説明はこれです。OmniVoice Studio は、外部に一切接続しないプロフェッショナル向けの音声 AI デスクトップアプリを提供します。アカウント作成も不要、サブスクリプションの契約も不要、推論処理中にもクラウドへの通信は一切行われません。参照用のオーディオファイル、スクリプト、生成されたファイルはすべて、あなたのマシン上に留まります。
ElevenLabs との機能と価格を直接比較すると以下のようになります。
| 機能 | ElevenLabs | OmniVoice Studio |
|---|---|---|
| 料金 | 月額 $5〜$330(文字数課金) | 個人利用は無料 |
| ボイスクローニング | 3 秒のクリップ | 3 秒のクリップ、ゼロショット対応 |
| ボイスデザイン | 性別、年齢 | 性別、年齢、アクセント、ピッチ、スタイル、方言 |
| 対応言語数 | 32 | 646 |
| 動画吹き替え | クラウドのみ | ローカル環境で完全実行可能 |
| データプライバシー | オーディオがクラウドへ送信される | データはマシンから一切流出しない |
| API キー | 必須 | 不要 |
| GPU サポート | なし(クラウド依存) | CUDA、Apple Silicon MPS、AMD ROCm、CPU |
| デスクトップアプリ | 非対応 | macOS、Windows、Linux に対応 |
裏側では、OmniVoice Studio は Tauri をベースにしたデスクトップアプリケーションです。これは React フロントエンドと FastAPI バックエンド(97 の API エンドポイントを備える)をラップする Rust ベースのフレームワークです。永続的な状態管理には SQLite が使用されています。実際の処理を担当する AI パイプラインは、以下の 4 つのオープンソースコンポーネントで構築されています。
- WhisperX:文字列化(トランスクリプション)、単語レベルでの音声認識、およびアライメント処理を担います。
Demucs(Meta 提供)はボーカル分離を担い、音声と音楽・背景ノイズを分離します。
k2-fsa の OmniVoice はゼロショット拡散型テキスト読み上げ(TTS)エンジンです。3 秒のクリップだけで 646 カ国語に対応するボイスクローニングを実現するモデルです。
Pyannote は話者 diarization を処理し、複数話者の録音において「誰が何を言ったか」を特定します。これにより、吹き替えパイプラインでの自動音声割り当てが可能になります。
GPU 加速は起動時に自動的に検出されます。ユーザーが設定する必要はありません。OmniVoice がハードウェアを読み取り、CUDA(NVIDIA)、MPS(Apple Silicon)、ROCm(AMD)、または CPU に適切にルーティングします。VRAM が 8 GB 未満の場合、TTS モデルはトランスクリプション中に自動的に CPU へオフロードされます。パイプラインは動作し続けますが、速度は低下します。
システム要件
インストール前に、お使いのマシンが最小仕様に満たしているか確認してください。これらの仕様を下回る環境でもアプリは起動しますが、パフォーマンスに支障が出ます。
| コンポーネント | 最小要件 | 推奨要件 |
|---|---|---|
| OS | Windows 10 (21H2+)、macOS 12+、Ubuntu 20.04+ | 最新の 64 ビット OS のいずれか |
| RAM | 8 GB | 16 GB 以上 |
| VRAM | 4 GB(不足時は TTS が自動的に CPU にオフロード) | 8 GB 以上(NVIDIA RTX 3060 以降推奨) |
| ディスク | 空き容量 10 GB(モデルとキャッシュ用) | SSD で 20 GB 以上 |
| Python | 3.10+(uv で管理) | 3.11〜3.12 |
| GPU | オプション(CPU でも動作可能) | NVIDIA CUDA、Apple Silicon MPS、AMD ROCm のいずれか |
知っておいてほしい重要な点があります。OmniVoice Studio を利用する際に、GPU は必須ではありません。パイプライン全体を CPU だけで実行可能です。
GPU なしでの TTS(テキスト読み上げ)合成は、おおよそ 3 倍の時間がかかりますし、長時間の動画文字起こしも遅くなりますが、短い音声クローンや音声入力用途であれば、CPU パスでも十分に実用できます。特に Apple Silicon を搭載した Mac は、GPU なしのユーザーにとって最適な環境です。この場合、アプリは自動的に Apple Neural Engine と Metal Performance Shaders を活用した MLX 最適化版の Whisper や TTS バックエンドを選択し、CPU パスと比較して約 2 倍のスループットを発揮します。
# OmniVoice Studio のインストール方法
**ご自身の OS に該当するセクションを選び、上から順に手順を実行してください。プラットフォーム間でインストール順序は共通しており、「リポジトリのクローン」「Bun を用いたフロントエンド依存関係のインストール」「起動」の 3 ステップです。異なる点は各 OS の事前準備(Prerequisites)のみとなります。
// macOS でのインストール方法
事前準備要件:
- macOS 12 (Monterey) 以降 — Apple Silicon または Intel 対応
- Python 3.11 以上
- Bun(フロントエンド構築に使用する JavaScript ランタイム)
- Xcode Command Line Tools
- FFmpeg
以下の順序でインストールしてください。
1. Homebrew を経由して Python をインストール(複数のバージョンを管理する場合は pyenv も利用可能)
brew install python@3.11
2. Bun のインストール
curl -fsSL https://bun.sh/install | bash
3. Xcode Command Line Tools のインストール
xcode-select --install
4. FFmpeg のインストール(ダビングおよびキャプチャパイプラインで使用)
brew install ffmpeg
その後、リポジトリをクローンして実行します。
リポジトリのクローン
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
フロントエンド依存関係のインストール
bun install
アプリの起動
bun run desktop-prod
初回起動は、その後の起動に比べて時間がかかります。Tauri シェルの構築、Python の仮想環境(uv を経由)の作成、すべての Python 依存関係の同期、そしてモデル重みのダウンロード(約 2.4GB)が行われるためです。スプラッシュ画面では各ステップの進行状況がリアルタイムで表示されます。完了すると、フル機能の UI が開きます。
事前ビルドされた DMG ユーザーの方へ:
Releases ページ から最新の DMG ファイルをダウンロードし、マウントして OmniVoice Studio を /Applications フォルダにドラッグ&ドロップしてください。
初回起動時に「アプリが破損しており開けません」というエラーが表示される場合は、macOS の Gatekeeper が署名されていないアプリを検知している可能性があります。開発者 ID による署名とノタライゼーションのパイプラインは v0.4 で追跡されます。現時点では、ターミナルで以下の単一コマンドを実行して隔離属性を削除してください。
Gatekeeper の隔離属性を削除します。
インストール後に一度だけ実行してください。このアプリはオープンソースです。
実行前に Releases ページの .dmg.sha256 ファイルと SHA-256 チェックサムを照合して、ダウンロードが安全であることを確認できます。
xattr -cr "/Applications/OmniVoice Studio.app"
// Windows へのインストール
事前準備:
- Windows 10 (21H2 以降) または Windows 11 (x64)
- Python 3.11 以上
- Microsoft C++ Build Tools (pyannote.audio や、必要に応じて torch の再ビルドに必須)
- Bun
- FFmpeg
これらは通常の(管理者権限を必要としない)PowerShell からインストールしてください。
Python を winget でインストール
winget install Python.Python.3.11
Microsoft C++ ビルドツールのインストール
https://visualstudio.microsoft.com/visual-cpp-build-tools/ からダウンロードしてください。
インストール時には「Desktop development with C++」ワークロードを選択します。
Bun のインストール
powershell -c "irm bun.sh/install.ps1 | iex"
FFmpeg のインストール(winget 経由)
winget install Gyan.FFmpeg
その後、PowerShell 上で以下のコマンドを実行してクローンし、起動します。
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun install
bun run desktop-prod
Windows 固有の注意(Triton/torch.compile のメモリ不足エラーについて): Windows では、特定の TTS エンジン(特に CosyVoice パス)が最初の音声合成呼び出し時に torch.compile カーネルのコンパイルを開始します。VRAM が 16 GB 未満のマシンでは、この段階で OutOfMemoryError: CUDA out of memory というエラーが発生し、音声生成が行われる前にプロセスが停止する可能性があります。
解決策は、設定 → パフォーマンス で「Disable torch.compile (Windows)」をオンにすることです。コマンドラインから起動する場合は、以下の環境変数を事前に設定してください。
最初の合成時のメモリ不足(OOM)を防ぐため torch.compile を無効化します(Windows のみ)。
これにより eager-mode カーネルパスにフォールバックしますが、ピークスループットは若干低下します。ただし、VRAM が少ないマシンでもエンジンが正常に起動できるようになります。
$env:TORCH_COMPILE_DISABLE = "1"
bun run desktop-prod
事前ビルドされた MSI を使用する方: リリースページ から最新の MSI ファイルをダウンロードし、インストーラーを実行してください。その後、スタートメニューから OmniVoice Studio を起動できます。
// Linux でのインストール
前提条件(Debian/Ubuntu):
Python のインストール
sudo apt install python3.11
Bun のインストール
curl -fsSL https://bun.sh/install | bash
FFmpeg のインストール
sudo apt install ffmpeg
Tauri デスクトップシェルで必要な GTK/WebKit 依存関係のインストール
sudo apt install \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libssl-dev \
libxdo-dev \
build-essential
Fedora ユーザー向けの前提条件:
sudo dnf install python3.11 ffmpeg-free
curl -fsSL https://bun.sh/install | bash
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel openssl-devel
クローンして実行する:
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun install
bun run desktop-prod
事前ビルドされた AppImage ユーザー向け:
リリースページから AppImage をダウンロードし、以下を実行してください:
chmod +x OmniVoice.Studio_*.AppImage
./OmniVoice.Studio_*.AppImage
Fedora 44 以降や Ubuntu 24.04 で白い画面が表示される場合は、以下の環境変数を設定してください:
WEBKIT_DISABLE_COMPOSITING_MODE=1 ./OmniVoice.Studio_*.AppImage
新しいディストリビューションで白い画面が表示されるのは、WebKitGTK 2.44/2.46 のコンポジット機能に関する回帰問題が原因です。v0.3 以降の AppImage はこれを自動検知し、フラグを自動的に設定します。ソースコードからのインストールの場合のみ、手動で環境変数を設定する手順が必要になります。
事前ビルドされた .deb ファイル ユーザー向け:
sudo apt install ./OmniVoice.Studio_*.amd64.deb
omnivoice-studio
Docker(バックエンド専用):
デスクトップ GUI が必要な場合を除き、ヘッドレスサーバーでの利用やチーム展開を想定した Docker パッケージも用意されています。これは FastAPI バックエンドと、その 97 の API エンドポイントのみを実行するものです。
Clone the repo if you haven't already
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
Build and start the backend container
docker compose -f deploy/docker-compose.yml up
バックエンド API は http://localhost:8000 で利用可能です。完全な API リファレンスはリポジトリ内の docs/ ディレクトリにあります。このパスは、デスクトップセッションを実行せずにパイプラインに OmniVoice の機能を統合する際に役立ちます。
# Hugging Face トークンの設定
**
基本機能の利用には必須ではありませんが、以下の 2 つの機能には必要です。1 つ目は話者分離(pyannote/speaker-diarization-3.1 モデルは Hugging Face でゲートされています)で、2 つ目は大規模な音声デザインエンジンです。
無料の Hugging Face アカウント と読み取り専用トークンが必要です。取得できたら以下のいずれかを行ってください。
オプション 1 — アプリ経由(推奨):設定 → API キーを開き、hf_... で始まるトークンを貼り付けて保存します。アプリはこのトークンを OmniVoice の暗号化された SQLite ストアと、標準的な huggingface_hub の場所に記録するため、アプリが起動するすべてのサブプロセスが自動的にこのトークンを利用できるようになります。
オプション 2 — 環境変数:
macOS / Linux -- ~/.zshrc または ~/.bashrc に追加
export HF_TOKEN=hf_your_token_here
source ~/.zshrc
Windows PowerShell -- ユーザースコープの環境変数に書き込み
setx は 1024 文字を超える値を切り捨て、現在のシェルセッションにも反映されないため使用しないでください。
[Environment]::SetEnvironmentVariable("HF_TOKEN", "hf_your_token_here", "User")
モデルをダウンロードする前に、Hugging Face のモデルページで利用規約に同意する必要があります。pyannote/speaker-diarization-3.1 にアクセスし、ゲート付きモデルへのアクセスリクエストを受け入れてください。これは一度きりの手順です。
# 音声のクローン作成
**
音声クローンは OmniVoice の中核機能であり、多くの人がこのツールをインストールする主な理由となっています。これを実現しているのは k2-fsa が開発した OmniVoice モデルで、646 か国語に対応した拡散ベースの TTS システムです。ファインチューニングを必要としないゼロショット方式を採用しており、推論時に参照クリップを提供するだけで、その場で話者の声に自動的に適応します。
音声クローンの作成手順は以下の通りです:**
「Voice Clone」タブへ移動してください。参照用オーディオには 2 つの選択肢があります。1 つ目はアプリ内のマイクボタンをクリックして直接録音する方法、もう 1 つ目は既存のオーディオファイルをアップロードする方法です。どちらの方法でも、明瞭な音声であれば 3〜10 秒程度あれば十分です。
その後、以下の手順を実行します:
- 参照用オーディオクリップをアップロードするか、録音する
- ドロップダウンメニューから対象言語を選択する(646 か国語対応)
- テキストフィールドに合成したいテキストを入力または貼り付ける
- 「Generate」ボタンをクリックする
OmniVoice はローカル環境で処理を行い、生成されたオーディオをプレビューとして再生します。エクスポートボタンから MP3、WAV、FLAC 形式での出力も可能です。
良いリファレンスクリップの条件: バックグラウンドノイズは音質を最も損なう要因です。静かな部屋で録音され、話者が自然に喋っているクリップは、電話通話中の雑音の多い断片よりも高品質なクローンを実現します。バックグラウンド音楽が含まれるクリップは避けてください。もしそれしかない場合は、リファレンスとして使用する前に「Vocal Isolation」タブ(後述)でノイズ除去処理を施してください。
出力音が少し不自然に聞こえる場合(ロボットのような子音やリズムのズレなど)、エンジン自体の問題だと判断する前に、より長い、あるいは別のリファレンスクリップを試してみてください。ゼロショットモデルは、入力される音声データの品質に敏感です。
# 動画の吹き替え
吹き替えパイプラインは、OmniVoice Studio が行う処理の中で最も複雑な機能ですが、その動作をエンドツーエンドで確認すると本当に感心させられます。YouTube の URL またはローカルのファイルから動画を読み込むと、システムが自動的に音声の文字起こしを行い、指定した言語へ翻訳します。その後、元の話者の声をクローンして合成し、吹き替え音声を MP4 ファイルにマックス(統合)します。すべてをローカル環境で完結させるため、データは外部にアップロードされません。
このパイプラインでは、文字起こしに WhisperX を、話者分離(どの声が誰のものか特定する処理)に Pyannote を、音声合成に OmniVoice モデルを使用します。また、Demucs を用いて元の音声を背景音から分離することで、吹き替えトラックの下で背景音を維持・再生できるようにしています。
動画の吹き替え手順:
- 「Dub」タブへ移動し、YouTube の URL を貼り付けるか、「アップロードボタン」をクリックしてローカルファイルを選択します。対象言語を選び、「Start Dub」をクリックしてください。
進行状況バーには、各工程の実行状態が表示されます。YouTube の動画ダウンロード、文字起こし、話者分離、翻訳、音声合成、そしてマックス処理です。GPU を搭載したマシンで 5 分程度の動画を処理する場合、パイプライン全体にかかる時間は通常 8〜12 分かかります。CPU のみでの実行ではさらに時間がかかります。
完了すると、ダビングされた MP4 ファイルは、SRT サブタイトルファイル、分離された音声トラック(ステム)、元の文字起こしテキストと共に「プロジェクト」パネルに表示されます。
バッチ処理:複数の動画がある場合は、各動画で「キューに追加」をクリックしてすべてをキューに入れ、「すべて実行」をクリックします。コンダクターは GPU 実行を使用してジョブを順次処理し、各ジョブごとにリアルタイムの進行状況バーを表示します。処理中に新しいジョブを追加することも可能です。
ボイスのデザイン
**
参照となる音声クリップがない場合、ゼロから新しいボイスを作成するのが「ボイスデザイン」です。「Voice Design(ボイスデザイン)」タブに移動すると、性別、年齢、アクセント、ピッチ、速度、感情、方言などを調整するためのスライダーやコントロールが表示されます。
設計プロセスは反復的に行います。コントロールを調整してプレビューをクリックし、聴いてから再度調整します。A/B 比較ボタンを使えば、現在の設定をバージョン A として固定し、さらに調整してバージョン B を作成できます。同じサンプルテキストを再生しながら切り替えることで、記憶に頼らずに両方のボイスを直接比較することが可能です。
気に入った声ができたら、名前とタグを付けて「Voice Gallery」に保存しましょう。保存された声は「Voice Clone」タブのターゲットとして利用可能になり、毎回参照音声を用意しなくても、設計済みの声で新しいオーディオを合成できるようになります。
# 音声入力ウィジェットを使う
音声入力ウィジェットは、アプリ間を行き来することなくシステム全体で動作する文字起こしツールです。グローバルなホットキーは、macOS では「Cmd+Shift+Space」、Windows と Linux では「Ctrl+Shift+Space」に設定されています。
どのアプリケーションからでも(コードエディタ、ブラウザのテキストフィールド、メモアプリなど)このホットキーを押すと、枠のない小さな浮動ウィンドウが現れます。話し始めると、ウィジェットはローカルの WebSocket 接続を介して WhisperX の ASR エンジンに音声ストリームを送り込み、リアルタイムで文字起こしを行います。そして、ウィジェットを開く前にフォーカスされていたアプリケーションに結果を自動貼り付け、ウィンドウは自動的に消えます。
トリガーから話しかけ、貼り付けるまでの一連の流れは数秒で完了します。ウィンドウの切り替えも、コピー&ペーストの手間も不要です。
- ホットキーの設定: 「Cmd+Shift+Space」が他のアプリケーションと競合する場合は、「設定」→「音声入力」を開き、競合しない別の組み合わせにホットキーバインディングを変更してください。新しいバインドはアプリを再起動しなくても即座に有効になります。
ウィジェットが対応していない機能について:このウィジェットは、通話履歴のトランスクリプトを保存しません。各アクティベーションごとに音声を変換して貼り付け、その直後に音声を破棄します。より長いセッションで、作成された全文を確認・編集したい場合は、メインの「Transcription」タブをご利用ください。こちらではファイルへの記録が可能で、全文を自由に編集できるトランスクリプト画面が表示されます。
TTS エンジンの選択
OmniVoice Studio には、6 つの TTS(テキスト読み上げ)エンジンが標準搭載されています。デフォルトの「OmniVoice」は 600 以上の言語に対応し、音声クローニングや指示に基づく生成も可能です。他のエンジンは特定の用途のために用意されており、設定画面の「TTS Engine」から、あるいは環境変数 OMNIVOICE_TTS_BACKEND を指定することで、わずか 10 秒で切り替えられます。
| エンジン | 対応言語 | クローニング | おすすめ用途 |
|---|---|---|---|
| OmniVoice (デフォルト) | 600+ | あり | 汎用エンジンとしてあらゆる用途に |
| CosyVoice 3 | 9 + 18 の方言 | あり | スタイル制御を備えた指示生成 |
| MLX-Audio | 複数 | 状況による | Apple Silicon (M シリーズ) 専用、最高速度 |
| VoxCPM2 | 30 | あり | クロスプラットフォーム対応のクローニング、強いアクセントカバー |
| MOSS-TTS-Nano | 20 | あり | パワーの低いマシンでの高速クローニング |
| KittenTTS | 英語のみ | なし | CPU のみで動作する軽量エンジン、ほぼリアルタイム処理 |
必ず JSON 形式で返してください。translation フィールドのみ。他のフィールドは一切追加しないこと — 余計なフィールドを書こうとして本文がトークン上限で打ち切られる事故を防ぐため:
{"translation": "リライト全文"}
GPU を搭載していないマシン上で英語のみを使用する場合、KittenTTS と MOSS-TTS-Nano は CPU 上でもほぼリアルタイムで動作します。Apple Silicon ユーザーには、Apple Neural Engine を直接活用した M シリーズハードウェア向けに最速の推論を実現する MLX-Audio への切り替えをお勧めします。また、声質をスライダーで調整するのではなく、自然言語でスタイルを指定して生成したい場合は CosyVoice 3 が最適です。
システム全体で設定を変更したい場合は、環境変数経由で切り替えてください:
CosyVoice 3 をアクティブな TTS バックエンドとして OmniVoice Studio を実行する
有効値: omnivoice, cosyvoice, mlx-audio, voxcpm2, moss-tts-nano, kittenTTS
export OMNIVOICE_TTS_BACKEND=cosyvoice
bun run desktop-prod
Windows の同等コマンド
$env:OMNIVOICE_TTS_BACKEND = "cosyvoice"
bun run desktop-prod
カスタムエンジンの追加: OmniVoice は組み込みのバックエンドレジストリを使用しています。独自の TTS エンジンを導入するには、backend/services/tts_backend.py 内の TTSBackend をサブクラス化し、ファイル末尾の_REGISTRY ディクショナリに登録します。インターフェースの詳細は README に約 50 行の Python コードとして記載されています。完全な開発セットアップについては、CONTRIBUTING ガイド を参照してください。
# MCP サーバー経由での OmniVoice Studio の利用
OmniVoice Studio は Model Context Protocol (MCP) サーバーを同梱しており、これによりデスクトップアプリを開かなくても、Claude Desktop や Cursor、あるいは MCP に対応した他のクライアントから TTS(音声合成)や吹き替え機能を呼び出すことができます。
これは、AI のコーディングセッション内で直接音声データを生成したい場合や、すでに MCP 対応ツール上で稼働しているパイプラインの一部として音声生成を自動化したい場合に特に役立ちます。
OmniVoice Studio が起動している間、MCP サーバーは localhost:8765 で公開されています。これを Claude Desktop に接続するには、以下の設定を claude_desktop_config.json ファイルに追加してください。
{
"mcpServers": {
"omnivoice": {
"command": "npx",
"args": ["-y", "@omnivoice/mcp-server"],
"env": {
"OMNIVOICE_API_URL": "http://localhost:8765"
}
}
}
}
接続が完了すると、Claude Desktop は OmniVoice のツールを直接呼び出せるようになります。例えば、「この段落をイギリス英語の女性声で音声生成して」と入力するだけで、Claude がリクエストをローカルの API に転送し、音声を合成した上でファイルパスを返してくれます。
MCP サーバーは、TTS 生成、参照ファイルを用いたボイスクローン、吹き替えジョブの作成といったコア機能を、すべての MCP クライアントが検出・実行可能な名前付きツールとして公開しています。ツールの詳細なスキーマについては、リポジトリ内の docs/ ディレクトリをご確認ください。
# 結論
OmniVoice Studio は、ローカルファーストの音声 AI としての実用性を示す好例です。クラウドツールが悪いからではなく、646 の言語に対応し、利用制限がなく、オーディオデータが端末外に出ないという利点が組み合わさることで、真に異なる価値を生み出しているからです。
セットアップは一度きりの投資で済みます。インストール手順を踏むだけで済み、2.4 GB のモデルダウンロードと、必要に応じて Hugging Face のトークン取得を行えば完了です。その後は単にツールを使うだけです。
現在はアクティブなベータ版であり、いくつかの部分はまだ荒削りですが、コアとなるパイプライン(クローン作成、吹き替え、音声入力、デザイン)は機能しており、コミュニティも活発に対応しています。リリースも公開以来定期的に更新されています。オーディオデータを扱い、データの所在を重視する開発者、コンテンツクリエイター、研究者にとって、ローカル環境に導入する価値は十分にあります。
Shittu Olumide はソフトウェアエンジニアであり技術ライターです。最先端の技術を駆使して説得力のある物語を紡ぐことに情熱を注いでおり、細部への鋭い眼と複雑な概念を平易に説明する能力を持っています。また Twitter でも活動しています。
原文を表示

**
# Introduction
You paste a paragraph of text into ElevenLabs**, press Generate, and watch the character counter tick down. The free tier is gone before you finish testing. The Creator plan is $22 a month. The Pro plan is $99. And every audio file you generate leaves your machine and ends up on their servers, which matters the moment your content is sensitive, proprietary, or simply yours.
OmniVoice Studio is built on a different premise: everything runs on your hardware. Voice cloning, video dubbing, real-time dictation, voice design — all of it local, all of it free for personal use, no API key required, no usage counter. The project describes itself as "the open-source ElevenLabs alternative," and that's accurate, though the language coverage alone makes the comparison interesting: ElevenLabs supports 32 languages. OmniVoice Studio supports 646.
The project has accumulated 7.1k GitHub stars and 1.1k forks. The latest release, v0.2.7, shipped May 3, 2026, includes pre-built installers for macOS, Windows, and Linux. This article covers the full path from install to your first generated audio.
Beta notice: OmniVoice Studio is in active beta. Things can break between releases. For the most current fixes, cloning from source and running bun run desktop-prod is the recommended path over pre-built installers.
# What OmniVoice Studio Is and Why It Was Built
**
The simplest framing is this: OmniVoice Studio gives you a professional voice AI desktop app that never phones home. No accounts, no subscriptions, no cloud calls during inference. Your reference audio, your scripts, your generated files — they stay on your machine.
Here is how the feature set and pricing compare directly to ElevenLabs:
Feature**
ElevenLabs
OmniVoice Studio
Pricing
$5–$330/month, per-character billing
Free for personal use
Voice Cloning
3-second clip
3-second clip, zero-shot
Voice Design
Gender, age
Gender, age, accent, pitch, style, dialect
Languages
32
646
Video Dubbing
Cloud-only
Fully local
Data Privacy
Audio sent to the cloud
Nothing leaves your machine
API Keys
Required
Not needed
GPU Support
N/A (cloud)
CUDA, Apple Silicon MPS, AMD ROCm, CPU
Desktop App
No
macOS, Windows, Linux
Under the hood, OmniVoice Studio is a Tauri desktop application — a Rust-based framework that wraps a React frontend and a FastAPI backend with 97 API endpoints. Persistent state lives in SQLite. The AI pipeline is built on four open-source components that do the actual work:
- WhisperX handles transcription, word-level speech recognition, and alignment.
- Demucs (from Meta) handles vocal isolation, separating speech from music and background noise.
- OmniVoice from k2-fsa is the zero-shot diffusion text-to-speech (TTS) engine — the model that makes cloning work from a 3-second clip across 646 languages.
- Pyannote handles speaker diarization, identifying who said what in a multi-speaker recording, which is what makes automatic voice assignment in the dubbing pipeline possible.
GPU acceleration is auto-detected at launch. You don't configure anything: OmniVoice reads your hardware and routes accordingly to CUDA (NVIDIA), MPS (Apple Silicon), ROCm (AMD), or CPU. If you have under 8 GB VRAM, the TTS model offloads to the CPU automatically during transcription. The pipeline still runs, just slower.
# System Requirements
**
Before installing, check that your machine meets the minimum specs. The app will run below these, but you will notice it.
Component**
Minimum
Recommended
OS
Windows 10 (21H2+), macOS 12+, Ubuntu 20.04+
Any modern 64-bit OS
RAM
8 GB
16 GB+
VRAM
4 GB (TTS auto-offloads to CPU if less)
8 GB+ (NVIDIA RTX 3060+)
Disk
10 GB free (models + cache)
20 GB+ SSD
Python
3.10+ (managed by uv)
3.11–3.12
GPU
Optional (CPU works)
NVIDIA CUDA, Apple Silicon MPS, AMD ROCm
One thing worth knowing: you do not need a GPU to use OmniVoice Studio. The entire pipeline runs on CPU. TTS synthesis is roughly 3x slower without a GPU, and transcription of long videos will take longer, but for short voice clones and dictation, the CPU path is perfectly usable. Apple Silicon Macs are the sweet spot for GPU-less users; the app automatically picks MLX-optimized Whisper and TTS backends that use the Apple Neural Engine and Metal Performance Shaders, giving roughly 2x the throughput of the CPU path.
# Installing OmniVoice Studio
**
Pick the section for your operating system and follow it from top to bottom. The install sequence is the same across platforms: clone, install frontend dependencies with Bun, and launch. The differences are in the prerequisites.
// Installing on macOS
Prerequisites:**
- macOS 12 (Monterey) or newer — Apple Silicon or Intel
- Python 3.11+
- Bun (the JavaScript runtime used to build the frontend)
- Xcode Command Line Tools
- FFmpeg
Install them in order:
# 1. Install Python via Homebrew (or use pyenv if you manage multiple versions)
brew install python@3.11
# 2. Install Bun
curl -fsSL https://bun.sh/install | bash
# 3. Install Xcode Command Line Tools
xcode-select --install
# 4. Install FFmpeg (used by the dubbing and capture pipelines)
brew install ffmpegThen clone and run:
# Clone the repository
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
# Install frontend dependencies
bun install
# Launch the app
bun run desktop-prodThe first launch is slower than every subsequent one. It builds the Tauri shell, creates the Python virtual environment via uv, syncs all Python dependencies, and downloads model weights — approximately 2.4 GB. The splash screen shows live progress for each step. Once it completes, the full UI opens.
Pre-built DMG users: Download the latest DMG from the Releases page, mount it, and drag OmniVoice Studio into /Applications. If the first launch shows "app is damaged and can't be opened," that is macOS Gatekeeper reacting to an unsigned app. The developer-ID signing and notarization pipeline is tracked for v0.4. For now, clear the quarantine attribute with a single terminal command:
# Remove the Gatekeeper quarantine attribute.
# Run this once after installing. The app is open source -- verify the
# SHA-256 checksum on the Releases page against the .dmg.sha256 file
# before running this if you want to confirm the download is clean.
xattr -cr "/Applications/OmniVoice Studio.app"// Installing on Windows
Prerequisites:
- Windows 10 (21H2 or newer) or Windows 11, x64
- Python 3.11+
- Microsoft C++ Build Tools (required by pyannote.audio and occasional torch wheel rebuilds)
- Bun
- FFmpeg
Install them from a regular (non-admin) PowerShell:
# Install Python via winget
winget install Python.Python.3.11
# Install Microsoft C++ Build Tools
# Download from https://visualstudio.microsoft.com/visual-cpp-build-tools/
# Select "Desktop development with C++" workload during install
# Install Bun
powershell -c "irm bun.sh/install.ps1 | iex"
# Install FFmpeg via winget
winget install Gyan.FFmpegThen clone and run (still in PowerShell):
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun install
bun run desktop-prodWindows-specific note (Triton/torch.compile OOM): On Windows, certain TTS engines (notably CosyVoice paths) trigger torch.compile kernel compilation on the first synthesis call. On machines with under 16 GB VRAM, this can OOM before any audio renders, surfacing as OutOfMemoryError: CUDA out of memory. The fix is in Settings → Performance: toggle "Disable torch.compile (Windows)" on. From the command line, set the environment variable before launching:
# Disable torch.compile to avoid OOM on first synthesis (Windows only).
# This falls back to the eager-mode kernel path -- slightly slower peak
# throughput, but the engine actually loads on low-VRAM machines.
$env:TORCH_COMPILE_DISABLE = "1"
bun run desktop-prodPre-built MSI users: Download the latest MSI from the Releases page, run the installer, and find OmniVoice Studio in the Start menu.
// Installing on Linux
Prerequisites (Debian/Ubuntu):
# Install Python
sudo apt install python3.11
# Install Bun
curl -fsSL https://bun.sh/install | bash
# Install FFmpeg
sudo apt install ffmpeg
# Install GTK/WebKit dependencies required by the Tauri desktop shell
sudo apt install \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libssl-dev \
libxdo-dev \
build-essentialPrerequisites (Fedora):
sudo dnf install python3.11 ffmpeg-free
curl -fsSL https://bun.sh/install | bash
sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel openssl-develClone and run:
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun install
bun run desktop-prodPre-built AppImage users:
# Download the AppImage from the Releases page, then:
chmod +x OmniVoice.Studio_*.AppImage
./OmniVoice.Studio_*.AppImage
# If you see a white screen on Fedora 44+ or Ubuntu 24.04, set this:
WEBKIT_DISABLE_COMPOSITING_MODE=1 ./OmniVoice.Studio_*.AppImageThe white screen on newer distros is a compositing regression in WebKitGTK 2.44/2.46. v0.3+ of the AppImage autodetects this and sets the flag automatically. The manual environment variable path is the fallback for source installs.
Pre-built .deb users:
sudo apt install ./OmniVoice.Studio_*.amd64.deb
omnivoice-studioDocker (backend only):
For headless server use or team deployments where the desktop GUI isn't needed, OmniVoice Studio ships a Docker path that runs just the FastAPI backend and its 97 API endpoints:
# Clone the repo if you haven't already
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
# Build and start the backend container
docker compose -f deploy/docker-compose.yml upThe backend API is then available at http://localhost:8000. The full API reference lives in the repo's docs/ directory. This path is useful when integrating OmniVoice capabilities into a pipeline without running a desktop session.
# Setting Up Your Hugging Face Token
**
This step is optional for basic use, but required for two features: speaker diarization (the pyannote/speaker-diarization-3.1 model is gated on Hugging Face) and the larger voice-design engines.
You need a free Hugging Face account and a read token. Once you have one:
Option 1 — Through the app (recommended): Open Settings → API Keys**, paste your hf_... token, and save. The app writes it to OmniVoice's encrypted SQLite store and to the canonical huggingface_hub location, so every subprocess the app spawns picks it up automatically.
Option 2 — Environment variable:
# macOS / Linux -- add to ~/.zshrc or ~/.bashrc
export HF_TOKEN=hf_your_token_here
source ~/.zshrc
# Windows PowerShell -- writes to user-scope environment
# Use this, not setx. setx truncates values over 1024 chars and
# doesn't propagate to the current shell session.
[Environment]::SetEnvironmentVariable("HF_TOKEN", "hf_your_token_here", "User")You also need to accept the model terms on the Hugging Face model page before downloading. Visit pyannote/speaker-diarization-3.1 and accept the gated model access request. This is a one-time step.
# Cloning a Voice
**
Voice cloning is the core feature and the one most people install OmniVoice for. The model powering it is OmniVoice from k2-fsa — a diffusion-based TTS system trained on 646 languages that operates zero-shot, meaning there is no fine-tuning step. You provide a reference clip at inference time, and the model adapts to the speaker's voice on the fly.
How to clone a voice:****
Navigate to the Voice Clone** tab. You have two options for the reference audio: record directly in the app by clicking the microphone button, or upload an existing audio file. Either way, 3 to 10 seconds of clear speech is enough.
Then:
- Upload or record your reference audio clip.
- Select the target language from the dropdown (646 available).
- Type or paste the text you want synthesized in the text field.
- Click Generate.
OmniVoice processes locally, generates the audio, and plays it back for preview. You can export to MP3, WAV, or FLAC from the export button.
What makes a good reference clip: Background noise is the biggest quality killer. A clip recorded in a quiet room, with the speaker speaking naturally, will clone better than a noisy excerpt from a phone call. Avoid clips with background music; if that's all you have, run it through the Vocal Isolation tab first (covered below) to strip the background before using it as a reference.
If the output sounds slightly off — robotic consonants, wrong rhythm — try a longer or different reference clip before assuming an engine issue. The zero-shot model is sensitive to the quality of the reference audio.
# Dubbing a Video
**
The dubbing pipeline is the most complex thing OmniVoice Studio does, and watching it run end-to-end is genuinely impressive. You give it a video — either a YouTube URL or a local file — and it transcribes the speech, translates it to your target language, clones the original speaker voices, synthesizes the dubbed audio in the cloned voices, and muxes everything back into an MP4. Locally. No upload.
The pipeline uses WhisperX for transcription, Pyannote for speaker diarization (identifying which voice belongs to which speaker), the OmniVoice model for synthesis, and Demucs to separate the original speech from background audio so the background can be preserved under the dubbed track.
How to dub a video:**
- Navigate to the Dub tab. Paste a YouTube URL or click the upload button to select a local file. Choose the target language. Click Start Dub.
- The progress bar shows each stage as it runs: download (for YouTube), transcription, diarization, translation, synthesis, and mux. For a 5-minute video on a machine with a GPU, the full pipeline typically takes 8 to 12 minutes. CPU-only will take longer.
- When complete, the dubbed MP4 is available in the Projects panel alongside the SRT subtitle file, the isolated stems, and the original transcription.
- Batch queue: If you have multiple videos, drop them all into the queue by clicking Add to Queue for each one, then click Run All. The conductor processes them sequentially using GPU execution with a live progress bar per job. You can add more jobs while the queue is running.
# Designing a Voice
**
Voice design is for creating a new voice from scratch when you don't have a reference clip. Navigate to the Voice Design** tab, and you'll find sliders and controls for gender, age, accent, pitch, speed, emotion, and dialect.
The design process is iterative: adjust the controls, hit Preview, listen, adjust again. The A/B Comparison button lets you lock one voice configuration as version A, tune the controls further to create version B, and toggle between them while the same sample text plays, so you're comparing voices directly rather than relying on memory.
Once you're satisfied with a voice, save it to your Voice Gallery with a name and tags. Saved voices are then available as targets in the Voice Clone tab — you can synthesize new audio in a saved designed voice without needing a reference clip each time.
# Using the Dictation Widget
**
The dictation widget is a system-wide transcription tool that works from any application without switching windows. The global hotkey is Cmd+Shift+Space on macOS and Ctrl+Shift+Space on Windows and Linux.
Press the hotkey from any app — your code editor, a browser text field, a notes app, anywhere. A small frameless floating window appears. Start speaking. The widget streams your speech through WhisperX's ASR engine over a local WebSocket connection, transcribes in real time, auto-pastes the result into whatever application was focused before the widget opened, and disappears.
The entire flow — trigger, speak, paste — takes a few seconds. There is no window switching, no copy-paste step.
- Configuring the hotkey: If Cmd+Shift+Space conflicts with another application on your system, open Settings → Dictation and change the hotkey binding to any combination that doesn't clash. The new binding takes effect immediately without restarting the app.
- What the widget does not do: It does not keep a transcription history. Each activation transcribes and pastes, then discards the audio. For longer transcription sessions where you want to review and edit a full transcript, use the main Transcription tab instead — that records to a file and shows a full editable transcript.
# Choosing a TTS Engine
OmniVoice Studio ships six TTS engines. The default, OmniVoice, covers 600+ languages and handles voice cloning and instructed generation. The others exist for specific reasons, and switching takes ten seconds via Settings → TTS Engine** or the OMNIVOICE_TTS_BACKEND environment variable.
Engine
Languages
Clone
Best For
OmniVoice (default)
600+
Yes
Everything — the general-purpose engine
CosyVoice 3
9 + 18 dialects
Yes
Instructed generation with style control
MLX-Audio
Multi
Varies
Apple Silicon only, maximum speed on M-series
VoxCPM2
30
Yes
Cross-platform cloning with strong accent coverage
MOSS-TTS-Nano
20
Yes
Fast cloning on lower-powered machines
KittenTTS
English only
No
Lightweight CPU-only English TTS, near real-time
For English-only use on a machine without a GPU, KittenTTS and MOSS-TTS-Nano run near real-time on CPU. For Apple Silicon, switching to MLX-Audio gives you the fastest inference available on M-series hardware using the Apple Neural Engine directly. CosyVoice 3 is the choice when you want instructed generation — describing the voice style in natural language rather than dialing sliders.
Switch via the environment variable if you want to set it system-wide:
# Run OmniVoice Studio with CosyVoice 3 as the active TTS backend.
# Valid values: omnivoice, cosyvoice, mlx-audio, voxcpm2, moss-tts-nano, kittenTTS
export OMNIVOICE_TTS_BACKEND=cosyvoice
bun run desktop-prod
# Windows equivalent
$env:OMNIVOICE_TTS_BACKEND = "cosyvoice"
bun run desktop-prodAdding a custom engine: OmniVoice uses a built-in backend registry. To plug in your own TTS engine, subclass TTSBackend in backend/services/tts_backend.py and add it to the _REGISTRY dictionary at the bottom of that file. The README documents the interface as roughly 50 lines of Python. The CONTRIBUTING guide covers the full development setup.
# Using OmniVoice Studio via the MCP Server
**
OmniVoice Studio ships a Model Context Protocol (MCP) server, which means you can call its TTS and dubbing capabilities from Claude Desktop, Cursor**, or any MCP-compatible client — without opening the desktop app at all.
This is useful when you want to generate voice audio from inside an AI coding session or automate voice generation as part of a pipeline that's already running in an MCP-capable tool.
The MCP server is exposed on localhost:8765 when OmniVoice Studio is running. To connect it to Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"omnivoice": {
"command": "npx",
"args": ["-y", "@omnivoice/mcp-server"],
"env": {
"OMNIVOICE_API_URL": "http://localhost:8765"
}
}
}
}Once connected, Claude Desktop can call OmniVoice tools directly. For example, you can type "Generate audio of this paragraph in a female voice with a British accent," and Claude will route the request to OmniVoice's local API, synthesize the audio, and return the file path.
The MCP server exposes the core capabilities — TTS generation, voice cloning with a reference file, and dubbing job creation — as named tools that any MCP client can discover and invoke. See the docs/ directory in the repo for the full tool schema.
# Conclusion
**
OmniVoice Studio makes a practical case for local-first voice AI. Not because cloud tools are bad, but because 646 languages, no usage meter, and audio that never leaves your machine add up to something genuinely different. The setup — one install sequence, a 2.4 GB model download, and an optional Hugging Face token — is a one-time investment. Everything after that is just using the tool.
It's in active beta, and some edges are rough. But the core pipeline — cloning, dubbing, dictation, design — works, the community is responsive, and releases have been coming regularly since launch. For developers, content creators, and researchers who work with audio and care about where their data goes, it's worth having locally.
Shittu Olumide** is a software engineer and technical writer passionate about leveraging cutting-edge technologies to craft compelling narratives, with a keen eye for detail and a knack for simplifying complex concepts. You can also find Shittu on Twitter.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み