{"id":50777906,"url":"https://github.com/v2matosevic/talkty-mac","last_synced_at":"2026-06-12T01:03:41.567Z","repository":{"id":362298015,"uuid":"1258268173","full_name":"v2matosevic/talkty-mac","owner":"v2matosevic","description":"Local, private speech-to-text for macOS — Apple Silicon + Metal, menu-bar app. Press a hotkey, speak, get text typed at your cursor.","archived":false,"fork":false,"pushed_at":"2026-06-11T22:30:48.000Z","size":1932,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-12T00:10:26.842Z","etag":null,"topics":["apple-silicon","dictation","macos","menu-bar","metal","on-device","privacy","speech-to-text","swift","whisper"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/v2matosevic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-03T12:26:11.000Z","updated_at":"2026-06-11T22:30:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/v2matosevic/talkty-mac","commit_stats":null,"previous_names":["v2matosevic/talkty-mac"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/v2matosevic/talkty-mac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v2matosevic%2Ftalkty-mac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v2matosevic%2Ftalkty-mac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v2matosevic%2Ftalkty-mac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v2matosevic%2Ftalkty-mac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/v2matosevic","download_url":"https://codeload.github.com/v2matosevic/talkty-mac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/v2matosevic%2Ftalkty-mac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34224103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-silicon","dictation","macos","menu-bar","metal","on-device","privacy","speech-to-text","swift","whisper"],"created_at":"2026-06-12T01:03:40.621Z","updated_at":"2026-06-12T01:03:41.552Z","avatar_url":"https://github.com/v2matosevic.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Talkty for macOS\n\n**Local speech-to-text for macOS, powered by Whisper.** Native Apple Silicon\nrebuild of the original Windows app — Metal-accelerated, menu-bar resident, fully\non-device. No internet, no telemetry, audio never leaves your Mac.\n\nPress a global hotkey, speak, get text on your clipboard (and optionally\nauto-pasted at the cursor).\n\n## Features\n\n- **100% local** — whisper.cpp with Metal on Apple Silicon; nothing leaves the device\n- **Fast** — RTF ~0.01–0.1 on an M-series GPU (an 11 s clip transcribes in ~0.1 s)\n- **Menu-bar app** — press the hotkey from anywhere; a floating pill shows the live waveform\n- **Type at the cursor** — optionally inserts text right where you're typing\n  (clipboard-safe keystroke injection) — ideal for editors and terminals\n- **Recording volume ducking** — fades background audio down while you speak so the\n  mic captures you cleanly, then fades it back\n- **Quiet-mic friendly** — boost-only auto-gain levels each take before transcription,\n  and a mic input volume slider lives right in Settings\n- **Smart post-processing** — re-joins false sentence breaks, strips Whisper\n  hallucinations (“Thanks for watching”, `[MUSIC]`…), applies a custom coding vocabulary\n- **In-app model manager** — download Whisper models (Fast / Balanced / Accurate) with resume\n- **Configurable** — global hotkey, model, microphone, language, vocabulary, ducking, launch-at-login\n\n## Requirements\n\n- Apple Silicon Mac (M1 or later), macOS 14+\n- ~150 MB + the model you choose (75 MB – 3.1 GB)\n\n## Install\n\n1. Download `Talkty.dmg` from the [latest release](https://github.com/v2matosevic/talkty-mac/releases/latest).\n2. Open it and drag **Talkty** into **Applications**.\n3. **First launch:** the app is self-signed (not yet notarized), so Gatekeeper\n   will block it the first time. Either **right-click → Open** and confirm, or run:\n   ```bash\n   xattr -dr com.apple.quarantine /Applications/Talkty.app\n   ```\n4. Look for the **mic glyph in the menu bar**. Grant **Microphone** when prompted;\n   grant **Accessibility** only if you turn on type-at-cursor. The global hotkey\n   itself needs no special permission.\n\n\u003e Notarized builds (no Gatekeeper prompt) and a Homebrew cask are on the roadmap.\n\n## Build from source\n\n```bash\nbrew install cmake                 # one-time build dependency\nScripts/bootstrap.sh               # vendor whisper.cpp (pinned) + build Metal static libs\nScripts/make_app.sh release        # build + assemble + sign dist/Talkty.app\nopen dist/Talkty.app\n```\n\nFor stable Microphone/Accessibility grants across rebuilds, run\n`Scripts/dev_identity.sh` once (creates a local self-signed code-signing identity);\n`make_app.sh` then signs with it automatically. `make_app.sh release --install`\nalso copies the build into `/Applications`. Open `Package.swift` in Xcode to edit.\n\n## Models\n\n| Tier | Model | Size | Notes |\n|------|-------|------|-------|\n| Fast | tiny.en / base.en | 75 / 142 MB | English, quick notes |\n| Balanced | small.en | 466 MB | English everyday |\n| Balanced | **large-v3-turbo** ★ | 1.6 GB | 99+ languages, the all-round pick |\n| Accurate | medium.en | 1.5 GB | English, high accuracy |\n| Accurate | large-v3 | 3.1 GB | 99+ languages, highest accuracy |\n\nModels download from HuggingFace into `~/Library/Application Support/Talkty/Models/`.\n\n### Optional: Neural Engine acceleration\n\nTalkty is built with Core ML, so it can run Whisper's **encoder on the Apple Neural\nEngine** (lower power than Metal-only). It's opt-in per model — generate the encoder once:\n\n```bash\nScripts/make_coreml.sh base.en        # or large-v3-turbo, large-v3, …\n```\n\nThat pulls torch/coremltools via `uv` (no Xcode needed) and installs\n`ggml-\u003cmodel\u003e-encoder.mlmodelc` next to the model. whisper picks it up automatically and\nfalls back to Metal when it's absent. The decoder always runs on Metal.\n\n## Architecture\n\nSwift 6 + SwiftUI over AppKit, whisper.cpp (Metal, embedded shader) as the only\nengine. See `CLAUDE.md` for the developer guide, the subsystem map, and the\nhard-won gotchas (clean-`_exit` teardown, first-load Metal compile, link order).\n\n```\nSources/CWhisper     C bridge to whisper.h/ggml.h\nSources/TalktyKit    UI-agnostic logic (engine, audio, post-processing, services, models)\nSources/Talkty       The app (AppKit/SwiftUI shell, overlay, windows, state machine)\nTests/TalktyTests    Zero-dependency test harness (runs under Command Line Tools)\nScripts/             bootstrap, build_whisper, make_app, make_dmg, make_icon, dev_identity\n```\n\n## Contributing\n\nIssues and PRs welcome. Tests run with `.build/debug/TalktyTests` after\n`swift build` (no Xcode required — Command Line Tools + `cmake` is enough).\nKeep `TalktyKit` UI-agnostic; the app layer owns all windows. See `CLAUDE.md`.\n\n## License\n\n[MIT](LICENSE) © 2026 Marko Matošević\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv2matosevic%2Ftalkty-mac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fv2matosevic%2Ftalkty-mac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fv2matosevic%2Ftalkty-mac/lists"}