
Voicely
io.github.StulkovLD由 GitHub 帳號 StulkovLD 發布v1.4.2更新於 Oct 27, 2026
Offline speech-to-text on macOS: transcribe audio/video files, read dictations and calls.
概覽
Voicely 的本機 macOS MCP 伺服器,讓助理在本機轉寫音訊與影片檔案,並讀取已儲存的聽寫與通話紀錄。
- 可以做什麼
- 轉寫音訊或影片檔案,可選擇啟用講者分離
- 依時間新到舊列出已儲存的聽寫、通話與檔案轉寫紀錄
- 依 id 或 last、last-call 等別名讀取某份轉寫
- 讀取最近一次通話的轉寫內容
- 適用情境
- 適合在 Mac 上想讓助理把錄音變成文字,或查閱自己先前的聽寫與通話內容的情境,例如從訪談檔案整理待辦事項、依上次通話草擬計畫。也適合不想使用雲端語音服務的人。
- 執行需求
- 需要 macOS 14 以上、Apple Silicon 機型,並已安裝 Voicely 應用程式且其命令列工具位於 PATH 中;伺服器以本機 stdio 程序方式透過 voicely mcp 指令啟動。應用程式需取得麥克風與輔助使用權限,錄製通話另需螢幕錄製權限。語音模型約 470 MB,首次使用時下載;不需帳號或 API 金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Voicely,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Voicely
Free, open-source, offline dictation and transcription for macOS — with a local MCP server that gives Claude Code, Codex and Cursor ears.
[Voicely — Speak. It types. Open source, offline, free.]
- Dictate anywhere. Press
Option+Space, speak, press it again — the text lands wherever your cursor is, terminals and VS Code included. - Calls and files. Record a call (system audio + mic, no virtual audio device) and get a speaker-separated transcript; turn any audio or video file into text.
- Agent-native.
voicely connectregisters a local MCP server, so your agent can transcribe files and read your calls and dictations. - On-device only. NVIDIA Parakeet V3 through CoreML, 25 languages. No account, no cloud, no subscription. MIT.
macOS 14+ on Apple Silicon. Like Superwhisper, MacWhisper or Wispr Flow — but free and MIT-licensed, 100% on-device, and built to hand text to your AI agent.
Free, forever
Tools that do this usually ask for a monthly subscription or a one-time payment. Voicely is free, forever: MIT-licensed, and every line of it is in this repository. It is made by one person, in one room, who uses it every day. If it saves you time, a ⭐ helps others find it.
Install
One command. There is no DMG to download and nothing to drag into Applications:
Or through the Homebrew tap: brew install --cask stulkovld/voicely/voicely.
The script downloads the current build, verifies its SHA-256 and its signing certificate in a private staging directory, installs it transactionally — the previous version stays as a backup until the new one passes every gate, and any failure rolls back cleanly — then launches the app. Re-running it updates in place and keeps your transcripts, model and settings.
The public build is signed with Voicely's own certificate rather than an Apple Developer ID, and it is not notarized by Apple. The certificate is the same for every release, so macOS keeps your Microphone and Accessibility permissions when you update. If an older copy left permission entries behind, the installer clears them and Voicely asks again by itself.
First launch
- Find the Voicely icon in the menu bar.
- Allow Microphone, then switch Voicely on in the Accessibility list that opens. Voicely waits for both and continues by itself.
- Confirm the speech model download (Parakeet V3, about 470 MB). The first prepare step takes about a minute; later launches are fast.
- Screen Recording is requested only when you first use Record Call.
Requirements: macOS 14 or newer on Apple Silicon.
Transport, not translation
Voicely moves what you said to where you work. It never rewrites, summarizes or "improves" what you meant — word-level truth is kept next to every transcript.
Direct transport — dictation, Option+Space
Press the hotkey, speak, press it again. A floating glass pill shows the live waveform while you talk. The text lands wherever your caret is: native Mac fields through Accessibility, checked by reading the caret back; Chrome, VS Code, Claude and every other Chromium or Electron app through the clipboard and ⌘V — your clipboard is put back right after the app has read the text, and the transcript is marked so clipboard managers don't keep it; terminals through typed text. If no app takes the text, it waits on the clipboard and the pill says "Press ⌘V". The Output menu can pin dictation to the clipboard permanently; secure fields are save-only, always. Dictations are saved to ~/Documents/Voicely/dictations/; where each one went, and how, is logged without the words in ~/Library/Logs/Voicely/insertion.jsonl.
Careful packaging — calls and files
Calls (menu bar → Record Call). Voicely records system audio (through ScreenCaptureKit — no virtual audio device needed) and your microphone, mixes them into one track, transcribes the mix and diarizes it globally. An echo can't duplicate a sentence, and several people on one mic separate into distinct voices. "You" is identified by matching diarized voices against your microphone's own activity. The transcript reads as speaker turns and is saved to ~/Documents/Voicely/calls/<id>/ as markdown, word-level JSONL and WAV.
Files. Any audio or video file becomes a transcript, with optional speaker diarization: voicely transcribe <file> from the terminal, or the transcribe_file tool from an agent. Results land in ~/Documents/Voicely/files/.
Either way the result is text in one tap. Hand it to your agent yourself — paste it into Claude Code, save it as a note — or let the agent read it through MCP, below.
Your AI knows what you know
The voicely CLI and a local MCP server make every capability agent-native. After installing the app, expose the CLI on your PATH and register the server with the agents you use:
Claude Desktop and other MCPB-aware clients can install the server in one click from voicely-<version>.mcpb on the latest release. Voicely is listed in the official MCP Registry as io.github.StulkovLD/voicely.
Teach the agent the whole playbook with the skill:
voicely mcp speaks standard stdio MCP (JSON-RPC 2.0, fully offline) and exposes four tools:
voicely connect uses each harness's own mcp add command and never hand-edits a config file it doesn't own. Restart the agent afterward and ask it: "transcribe ~/Downloads/interview.m4a and pull the action items", "look at my last call and draft a project plan", "what did I dictate earlier?". The skill covers bootstrap from zero, online video via yt-dlp (YouTube / TikTok / Instagram) and "watching" a video by pairing word-level timestamps with extracted frames. Everything stays on the machine.
Manual config — register voicely mcp as a stdio server. The exact file differs per harness; the shape is always command: voicely, args: ["mcp"]:
There is no daemon: the server loads the speech model itself on the first transcribe_file call.
Build from source
macOS 14+ on Apple Silicon and the Xcode Command Line Tools (xcode-select --install):
In SPM the CLI product is VoicelyCLI, not
voicely: on case-insensitive APFS avoicelyproduct would collide with the app binaryVoicely. Thevoicelycommand is created bysetup, in a directory with no such collision.
Speech model
Parakeet TDT 0.6B v3 (NVIDIA, CC-BY-4.0), running on-device through FluidAudio's CoreML port: about 470 MB on disk, 25 European languages including English and Russian — switching languages mid-sentence works — natively punctuated, roughly 30× realtime on Apple Silicon. Speaker diarization uses FluidAudio's pyannote community-1 segmentation and WeSpeaker embeddings, also on-device. Models download on first use; no Hugging Face account or token is required.
Transcripts
Everything is plain files under ~/Documents/Voicely/ — readable by you, your agent and any other tool.
Dictation (dictations/):
Call (calls/<id>/transcript.md): one block per speaker turn; your own microphone is always You. Word-level timing lives in transcript.jsonl next to it; the audio is kept as mix.wav (what was transcribed) plus the raw mic.wav and system.wav.
Architecture
Stack: Swift 6 + AppKit + FluidAudio (Parakeet TDT v3 CoreML + diarization) + ScreenCaptureKit (system audio). All processing happens locally. No data leaves your machine.
Autostart on login
System Settings → General → Login Items → + → add Voicely.app.
Acknowledgements
- Parakeet TDT 0.6B v3 by NVIDIA (CC-BY-4.0) — the speech model.
- FluidAudio (Apache-2.0) — CoreML ports of Parakeet and the on-device diarization pipeline.
- Diarization models — pyannote segmentation and WeSpeaker embeddings (CC-BY-4.0).
- WhisperKit (MIT) — the on-device inference library this project grew up on.
License
MIT
來源:README.md,提交 76daae3
工具
0版本歷史
1- v1.4.2最新Sep 23, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分