Voicely について
Voicelyは、通話や音声・動画ファイルを扱うmacOS向けのオープンソース音声入力・文字起こしアプリです。音声処理はデバイス上で行われ、エージェントが文字起こしを参照できるMCPサーバーも備えています。
主な機能
- 01ホットキーによる音声入力とテキスト挿入
- 02話者を分離した通話録音
- 03音声・動画ファイルの文字起こし
- 04デバイス上での音声認識と処理
- 05プレーンファイルでの文字起こし保存
活用シーン
- 01エディターやターミナルに音声入力
- 02話者ごとに通話内容を確認
- 03音声・動画ファイルを検索可能なテキストに変換
- 04エージェントに通話や音声入力の記録を参照させる
MCP 対応
ローカルのstdio MCPサーバーが、ファイルの文字起こし、記録一覧、指定記録の取得、最新通話記録の取得ツールを提供します。voicely connectで対応するエージェント環境に登録できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Voicely
macOS 向けの無料オープンソース・オフライン音声入力と文字起こしツールです。ローカル MCP サーバーを備え、Claude Code、Codex、Cursor に耳をもたらします。

- どこでも音声入力。
Option+Spaceを押して話し、もう一度押すと、カーソルのある場所にテキストが入力されます。ターミナルや VS Code でも使えます。 - 通話とファイル。 通話を録音して(仮想オーディオデバイス不要で、システム音声とマイクを録音)、話者ごとに分けた文字起こしを作成できます。あらゆる音声ファイルや動画ファイルをテキストに変換できます。
- エージェント対応。
voicely connectでローカル MCP サーバーを登録すると、エージェントがファイルを文字起こししたり、通話や音声入力の内容を読み取ったりできます。 - デバイス上で完結。 CoreML 経由で NVIDIA Parakeet V3 を実行し、25 言語に対応しています。アカウント、クラウド、サブスクリプションは不要です。MIT ライセンスです。
curl -fsSL https://voicely.art/install.sh | sh
# or
brew install --cask stulkovld/voicely/voicely
Apple Silicon 搭載の macOS 14 以降が必要です。Superwhisper、MacWhisper、Wispr Flow のように使えますが、無料で MIT ライセンス、100%デバイス上で処理し、AI エージェントにテキストを渡すことを前提に設計されています。
ずっと無料
同様のツールは、通常、月額サブスクリプションや買い切り料金が必要です。Voicely はずっと無料です。MIT ライセンスで、すべてのコードがこのリポジトリに公開されています。毎日使っている一人の開発者が、一室で開発しています。時間の節約に役立ったら、⭐ を付けてほかの人にも見つけてもらえるよう応援してください。
インストール
コマンドを 1 つ実行するだけです。ダウンロードする DMG も、「アプリケーション」フォルダにドラッグする作業もありません。
curl -fsSL https://voicely.art/install.sh | sh
Homebrew tap を使う場合は、brew install --cask stulkovld/voicely/voicely を実行してください。
スクリプトは最新ビルドをダウンロードし、非公開のステージングディレクトリで SHA-256 と署名証明書を検証してから、トランザクション形式でインストールします。新しいバージョンがすべてのチェックを通過するまで、以前のバージョンはバックアップとして保持されます。失敗した場合は、正常にロールバックされます。その後、アプリを起動します。再実行すると、文字起こしデータ、モデル、設定を保持したまま上書き更新されます。
公開ビルドは Apple Developer ID ではなく Voicely 独自の証明書で署名されており、Apple による公証を受けていません。すべてのリリースで同じ証明書を使用するため、更新後も macOS のマイクとアクセシビリティの権限が保持されます。以前のコピーによって権限のエントリが残っている場合、インストーラーがそれらを削除し、Voicely が自動的に再度確認を求めます。
初回起動
- メニューバーにある Voicely アイコンを探します。
- マイクを許可し、開いたアクセシビリティのリストで Voicely をオンにします。Voicely は両方の許可を待ち、準備ができると自動的に続行します。
- 音声モデルのダウンロード(Parakeet V3、約 470 MB)を確認します。初回の準備には約 1 分かかりますが、次回以降の起動は高速です。
- 画面収録の許可は、初めて通話を録音するときにのみ求められます。
必要条件:Apple Silicon 搭載の macOS 14 以降。
翻訳ではなく、伝達
Voicely は、話した内容を作業中の場所へ届けます。意図した内容を書き換えたり、要約したり、「改善」したりすることはありません。すべての文字起こしで、言葉を一語ずつそのまま保ちます。
ダイレクト転送 — ディクテーション、Option+Space
ホットキーを押して話し、もう一度押します。話している間、浮かぶガラスのピルに波形がリアルタイムで表示されます。テキストはキャレットの位置に入力されます。ネイティブの Mac フィールドではアクセシビリティ経由で入力し、キャレットを読み戻して確認します。Chrome、VS Code、Claude、その他すべての Chromium または Electron アプリでは、クリップボード経由で ⌘V を実行します。アプリがテキストを読み取った直後にクリップボードを元に戻し、クリップボードマネージャーに保存されないよう、文字起こし結果に印を付けます。ターミナルではテキストを入力します。どのアプリにもテキストが入力されない場合は、クリップボードに残り、ピルに「⌘V を押してください」と表示されます。出力メニューから、ディクテーションを常にクリップボードに保存するよう固定できます。セキュアフィールドでは常にファイルのみに保存されます。ディクテーションは ~/Documents/Voicely/dictations/ に保存されます。保存先と保存方法は、内容を含めずに ~/Library/Logs/Voicely/insertion.jsonl に記録されます。
丁寧なパッケージング — 通話とファイル
通話(メニューバー → 通話を録音)。Voicely はシステム音声(ScreenCaptureKit 経由。仮想オーディオデバイスは不要です)とマイク音声を録音し、1 つのトラックにミックスして、ミックス音声を文字起こしし、全体を通して話者を識別します。エコーによって文が重複することはなく、1 つのマイクに複数人が話しても、それぞれの声を区別できます。「あなた」は、話者識別された声とマイク自体のアクティビティを照合して特定します。文字起こし結果は話者ごとの発話として表示され、Markdown、単語単位の JSONL、WAV として ~/Documents/Voicely/calls/<id>/ に保存されます。
ファイル。 音声ファイルまたは動画ファイルを文字起こしできます。オプションで話者を識別することもできます。ターミナルから voicely transcribe <file> を実行するか、エージェントから transcribe_file ツールを使用します。結果は ~/Documents/Voicely/files/ に保存されます。
どちらの場合も、ワンタップで結果をテキストとして取得できます。Claude Code に貼り付けたり、メモとして保存したりして、ご自身でエージェントに渡すことも、以下の MCP 経由でエージェントに読み取らせることもできます。
あなたの AI は、あなたが知っていることを把握しています
voicely CLI とローカル MCP サーバーによって、あらゆる機能をエージェントから利用できるようになります。アプリをインストールしたら、CLI を PATH に追加し、使用するエージェントにサーバーを登録してください。
/Applications/Voicely.app/Contents/Helpers/voicely setup # symlinks `voicely` into /usr/local/bin or ~/.local/bin, no sudo
voicely connect # registers the MCP server with every installed harness
voicely connect claude # or one by name: claude, codex, cursor, hermes, openclaw
Claude Desktop やその他の MCPB 対応クライアントは、最新リリースにある voicely-<version>.mcpb からワンクリックでサーバーをインストールできます。Voicely は、公式 MCP Registry に io.github.StulkovLD/voicely として登録されています。
スキルを使って、エージェントにプレイブック全体を学習させましょう。
mkdir -p ~/.claude/skills/voicely && \
curl -fsSL https://voicely.art/skill/SKILL.md -o ~/.claude/skills/voicely/SKILL.md
voicely mcp は標準の stdio MCP(JSON-RPC 2.0、完全オフライン)に対応し、4 つのツールを公開します。
| ツール | 機能 |
|---|---|
transcribe_file | 音声/動画ファイルを書き起こします(話者ダイアライゼーションは任意) |
list_transcripts | 保存された文字起こし(ディクテーション/通話/ファイル)を新しい順に一覧表示します |
get_transcript | ID またはエイリアス(last、last-call、…)で文字起こしを読み込みます |
get_last_call | 最新の通話の文字起こしを読み込みます |
voicely connect は各ハーネス独自の mcp add コマンドを使い、自身が管理していない設定ファイルを手動で編集することはありません。その後エージェントを再起動し、次のように尋ねてください。「~/Downloads/interview.m4a を文字起こしして、アクション項目をまとめて」、「直近の通話を確認して、プロジェクト計画を作成して」、「さっきディクテーションした内容は何?」。スキルでは、ゼロからのセットアップ、yt-dlp によるオンライン動画(YouTube / TikTok / Instagram)、および単語単位のタイムスタンプと抽出したフレームを組み合わせて動画を「視聴」する方法を扱います。すべてマシン上で完結します。
手動設定 — voicely mcp を stdio サーバーとして登録します。ファイルの場所はハーネスごとに異なりますが、形式は常に command: voicely、args: ["mcp"] です。
| ハーネス | 場所 | 方法 |
|---|---|---|
| Claude Code | プラグインまたは claude mcp add | claude mcp add voicely -- voicely mcp(または同梱プラグイン) |
| Codex | ~/.codex/config.toml | [mcp_servers.voicely]command = "voicely"args = ["mcp"] |
| Cursor | ユーザー設定 | cursor --add-mcp '{"name":"voicely","command":"voicely","args":["mcp"]}' |
| Hermes | ~/.hermes/config.yaml | hermes mcp add voicely --command voicely --args mcp |
| OpenClaw | openclaw.json | openclaw mcp set voicely --command voicely --args mcp |
| その他 | MCP 設定 | {"mcpServers":{"voicely":{"command":"voicely","args":["mcp"]}}} |
デーモンはありません。サーバーは最初の transcribe_file 呼び出し時に音声モデルを読み込みます。
ソースからビルド
Apple Silicon 搭載の macOS 14 以降、および Xcode Command Line Tools(xcode-select --install)が必要です。
git clone https://github.com/StulkovLD/Voicely.git
cd Voicely
swift build -c release --product Voicely
swift build -c release --product VoicelyCLI
.build/release/Voicely # the menu-bar app
.build/release/VoicelyCLI setup # exposes the `voicely` command
SPM では CLI のプロダクト名は
voicelyではなく VoicelyCLI です。大文字と小文字を区別しない APFS では、voicelyというプロダクト名がアプリのバイナリVoicelyと衝突するためです。voicelyコマンドは、衝突しないディレクトリ内でsetupによって作成されます。
音声モデル
Parakeet TDT 0.6B v3(NVIDIA、CC-BY-4.0)は、FluidAudio の CoreML ポートを介してデバイス上で動作します。ディスク上のサイズは約 470 MB で、英語やロシア語を含む 25 のヨーロッパ言語に対応しています。文の途中での言語切り替えも可能で、句読点はネイティブに付与され、Apple Silicon ではリアルタイムの約 30 倍の速度で動作します。話者ダイアライゼーションには、FluidAudio の pyannote community-1 によるセグメンテーションと WeSpeaker の埋め込みを使用し、こちらもデバイス上で処理します。モデルは初回使用時にダウンロードされます。Hugging Face アカウントやトークンは不要です。
文字起こし
すべて ~/Documents/Voicely/ 以下にプレーンファイルとして保存されます。あなたやエージェント、その他のツールから読み取れます。
ディクテーション(dictations/):
---
type: dictation
date: 2026-03-19T22:30:00+00:00
source_app: Telegram
---
Your transcribed text here.
通話(calls/<id>/transcript.md):話者のターンごとに 1 ブロックで、自分のマイクは常に You です。単語単位のタイミングは隣接する transcript.jsonl に保存され、音声は mix.wav(文字起こしに使用したもの)に加えて、未加工の mic.wav と system.wav として保持されます。
---
type: call
date: 2026-08-19T18:02:11+03:00
source_app: zoom.us
duration: 12:40
speakers: You + 2
---
[00:08] You
Hey, how's the project going?
[00:11] Speaker 1
Almost done, pushing to prod tonight.
[00:17] Speaker 2
I'll review the PR after lunch.
アーキテクチャ
Option+Space ──> MicRecorder ──> Parakeet V3 (CoreML, on-device) ──> CursorInjector
│ AX insert (native) → ⌘V, clipboard restored → typed text
v │
AudioOverlay v
(liquid glass pill) TranscriptStore
(~/Documents/Voicely/…)
Record Call ──> mic + ScreenCaptureKit ──> mixdown ──> Parakeet V3 ──> FluidAudio diarization ──> speaker-turn markdown
(one track) ("You" by mic activity) + word-level JSONL + WAV
スタック: Swift 6 + AppKit + FluidAudio(Parakeet TDT v3 CoreML + 話者ダイアライゼーション)+ ScreenCaptureKit(システムオーディオ)。すべての処理はローカルで行われます。データがデバイスの外部に送信されることはありません。
ログイン時に自動起動
「システム設定」→「一般」→ ログイン項目 → + → Voicely.app を追加します。
謝辞
- NVIDIA による Parakeet TDT 0.6B v3(CC-BY-4.0)— 音声モデルです。
- FluidAudio(Apache-2.0)— Parakeet の CoreML ポートとオンデバイスの話者ダイアライゼーションパイプラインです。
- 話者ダイアライゼーションモデル — pyannote のセグメンテーションと WeSpeaker の埋め込み(CC-BY-4.0)です。
- WhisperKit(MIT)— このプロジェクトの基盤となったオンデバイス推論ライブラリです。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。