Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
**Ghost Pepper** is a **macOS menu-bar app for on-device speech-to-text and meeting transcription**, written in Swift. Hold Control, speak, release — the transcript is cleaned up by a local LLM and pasted into whatever text field has focus. Nothing is sent to a cloud API. The repository was created on **20 March 2026** and has grown to roughly **3,052 stars and 182 forks**, making it the most-starred project in this batch. The latest release is **v2.4.4**, shipped 27 July 2026. It requires **macOS 14.0+ on Apple Silicon (M1 or later)**. Local dictation apps are a crowded category. What distinguishes this one is the breadth of the model menu and the seriousness of its privacy documentation. ## Model Selection Seven speech models ship, spanning three different inference runtimes: | Model | Size | Best for | |---|---|---| | Whisper tiny.en | ~75 MB | Fastest, English only | | **Whisper small.en** (default) | ~466 MB | Best accuracy, English only | | Whisper small (multilingual) | ~466 MB | Multi-language support | | Parakeet v3 | ~1.4 GB | 25 languages, via FluidAudio | | Qwen3-ASR 0.6B int8 | ~900 MB | 50+ languages, macOS 15+ required | | Nemotron Speech Streaming 0.6B 8-bit | ~633 MB | Low-latency English streaming | | Nemotron 3.5 ASR Streaming 0.6B 8-bit | ~721 MB | Low-latency multilingual streaming | Whisper runs through **WhisperKit**, Parakeet through **FluidAudio**, and the Nemotron streaming models through **MLX Audio**. Offering all three runtimes in one app is unusual — most local dictation tools pick one and ship it. The practical consequence is that users can trade size, latency, and language coverage against each other without switching apps: a 75 MB English model for speed, or a 900 MB Qwen3-ASR for 50+ languages. A second local model handles cleanup. **Qwen 3.5** is offered at three sizes — 0.8B (~535 MB, ~1-2 s, default), 2B (~1.3 GB, ~4-5 s), and 4B (~2.8 GB, ~5-7 s) — served through LLM.swift. It strips filler words and resolves self-corrections, and the cleanup prompt is user-editable. ## Meeting Transcription Beyond push-to-talk dictation, the app records calls and produces **notes, a transcript, and an AI-generated summary saved as markdown** on the local filesystem. Audio capture uses **AVAudioEngine plus ScreenCaptureKit**, transcription is chunked, and summarization runs on the same local Qwen model. There is no cloud round-trip and no sync target. ## Privacy Audit The README carries a feature-by-feature audit table asserting local-only execution for speech-to-text, text cleanup, audio recording, meeting transcription and storage, summary generation, OCR and screen capture (via Apple's Vision framework), and file storage. Analytics are **local-only counters in UserDefaults** powering an in-app usage panel, with the README explicitly naming what is absent: no Firebase, no Mixpanel, no Sentry, no tracking SDK. More useful than the table is the reproduction path: a committed **`PRIVACY_AUDIT.md`** containing the exact prompt and file-level results, with an invitation to point a coding agent at the repository and re-run the review independently. Publishing the audit methodology rather than only its conclusion is a meaningfully stronger claim than a privacy badge. Optional cloud integrations exist — Zo AI chat, Trello, and Granola meeting import — but are **disabled by default and require the user's own API keys**. Model downloads from Hugging Face are a one-time exception to the local-only rule. ## Deployment Distribution is a signed DMG from GitHub Releases, or a build from source in Xcode. Two permissions are required: **Microphone** for capture, and **Accessibility** for the global hotkey and paste-via-simulated-keystrokes. For managed fleets, the README documents pre-approving Accessibility through an **MDM PPPC payload** (Jamf, Kandji, Mosaic) with the bundle ID, Team ID, and the `com.apple.security.accessibility` permission — a detail most hobby projects omit and IT departments require. ## Caveats **Platform lock-in is total.** macOS 14+ on Apple Silicon only. No Intel Mac support, no Windows, no Linux. The Qwen3-ASR option additionally requires macOS 15+. **The license is asserted but not committed.** The README states MIT and displays an MIT badge, but **there is no LICENSE file in the repository**, and GitHub's API reports no detected license. For personal use this is academic; for anyone vendoring the code or shipping a fork, an uncommitted license is a real ambiguity worth resolving with the maintainer first. **Issue load is heavy.** 62 open issues against 3,052 stars, maintained by a single developer. Response capacity is the risk, not code quality. **Gatekeeper friction on first launch.** The README documents an "Apple could not verify" warning on recent macOS requiring a manual Privacy & Security override — a one-time step, but one that will generate support questions in any non-technical deployment. **Accessibility is a broad grant.** The permission that enables paste-anywhere also permits reading and controlling other applications. The published audit is the mitigation, and it is a good one, but the grant itself is wide by design. ## Verdict Ghost Pepper's contribution is less any single model than the **assembly**: seven ASR models across three runtimes, a tiered local cleanup LLM, meeting capture, and an audit users can re-run themselves — packaged as a menu-bar app that asks for two permissions and no account. Mac users on Apple Silicon who want dictation and meeting notes without a subscription or a cloud transcript store should install it directly. Teams deploying it across managed devices get the MDM path documented but should first settle the missing LICENSE file, and anyone on Intel Macs or non-Apple platforms is out of scope entirely.
ggml-org
Pure C/C++ port of OpenAI Whisper for edge deployment
CJ Pais
A free, open-source, cross-platform speech-to-text app that transcribes your voice entirely offline — press a shortcut, speak, and have the text pasted into any app.