[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-85228":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":12,"stars7d":12,"stars30d":12,"stars90d":14,"forks30d":14,"starsTrendScore":15,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},85228,"Wisp","ppXD\u002FWisp","ppXD","Local, real-time, cross-platform meeting transcription — on-device, private, model-swappable.",null,"Rust",80,12,5,0,36,66.44,"MIT License",false,"main",[],"2026-06-17 15:04:30","\u003Cdiv align=\"center\">\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"branding\u002Fwisp-wordmark-reverse.svg\">\n  \u003Cimg src=\"branding\u002Fwisp-wordmark.svg\" alt=\"Wisp\" width=\"300\">\n\u003C\u002Fpicture>\n\n### Local-first, real-time meeting transcription — on-device, private, GPU-accelerated.\n\nYour microphone **and** the meeting's audio become a live, per-speaker transcript with an AI copilot beside it — entirely on your machine. No cloud. No upload. No account.\n\n\u003Cbr>\n\n[![CI](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FppXD\u002FWisp?include_prereleases&sort=semver&label=release&color=c96442)](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Freleases)\n[![Platforms](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-macOS%20·%20Windows-1a1915)](#-install)\n[![Built with Rust](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRust-stable-c96442?logo=rust&logoColor=white)](https:\u002F\u002Fwww.rust-lang.org)\n[![Tauri v2](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTauri-v2-1a1915?logo=tauri&logoColor=ffc131)](https:\u002F\u002Ftauri.app)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-5f8c6a)](#-license)\n\n**English** · [简体中文](README.zh-Hans.md)\n\n\u003Cbr>\n\n[![Download for macOS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDownload-macOS%20·%20Apple%20Silicon-1a1915?style=for-the-badge&logo=apple&logoColor=white)](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Freleases)\n&nbsp;\n[![Download for Windows](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDownload-Windows%20x64-0078D6?style=for-the-badge&logo=windows&logoColor=white)](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Freleases)\n\n\u003Cbr>\n\n\u003Cimg src=\"branding\u002Fscreenshot-live.png\" alt=\"Wisp — live transcription with per-speaker labels and the realtime AI Assist copilot\" width=\"860\">\n\n\u003C\u002Fdiv>\n\n---\n\n**Wisp** turns any conversation into a clean, timestamped, speaker-labelled transcript in real time — and runs a live AI assistant alongside it. Every byte of audio and every model stays on your device by default. It installs in seconds, needs **zero** extra setup (no virtual audio drivers, no kernel extensions), and is tuned to the metal on each platform — Metal + the Neural Engine on Apple Silicon, native loopback on Windows.\n\n> 🔒 **Private by design** · ⚡ **Optimized to the architecture** · 🎛️ **Yours to configure** · 🪶 **Install-and-go**\n\n## ✨ Highlights\n\n| | |\n|---|---|\n| 🎙️ **Live + AI copilot** | Sub-second streaming transcript with per-speaker labels, plus an AI assistant that summarizes, extracts action items, and coaches in real time |\n| 🔒 **100% on-device** | Audio and models never leave your machine. Cloud engines are strictly opt-in, with your own keys |\n| 🍎 **Apple-Silicon-native** | Metal GPU inference, Apple Neural Engine via Core ML, Unified Memory zero-copy, and on-device Apple SpeechAnalyzer |\n| 🔌 **Zero dependencies** | One-click system-audio capture — **no BlackHole**, no kernel extensions, no virtual devices |\n| 🎛️ **Truly customizable** | Choose, configure, and **delete** models freely. Language, accuracy\u002Fspeed, decoding params — all in your hands |\n| 📄 **SOTA file transcription** | Accurate batch transcription with diarization, word-level timestamps, custom vocabulary, and structured export |\n| 🧠 **Private searchable memory** | Every meeting auto-saved to a local library you can search by **meaning**, not just keywords — on-device embeddings (Qwen3, BGE-M3, multilingual E5) with hybrid keyword + semantic ranking |\n| 🪶 **Tiny footprint** | An 8–22 MB installer; multi-GB models stream in only when you ask for them |\n\n---\n\n## 🎙️ The live meeting copilot\n\nThis is the heart of Wisp — and it's fast.\n\n- **Streaming transcript, sub-second.** Words appear as they're spoken (live partials → finalized lines), each timestamped. No \"press stop to see the result.\"\n- **Knows who's talking.** On-device diarization labels every line live — **You** vs **Them**, or **Speaker 1 \u002F 2 \u002F 3** — with running speaker centroids that stay stable across a long call.\n- **Captures *both* sides.** Your microphone and the meeting's system audio are fused onto a single timeline, with **WebRTC AEC3 echo cancellation** so the remote voices don't bleed back through your mic. One click — no loopback driver to install.\n- **🤖 AI Assist — your second brain in the call.** A live copilot panel that streams as it thinks:\n  - **Rolling summaries**, **action items**, **decisions**, and **open questions** that update as the meeting unfolds\n  - **Follow-up email** drafts, ready to send\n  - **Real-time hints** and service-industry templates — sales coaching, support guidance, live sentiment\u002Ftone monitoring\n  - Diarization-aware context so it knows *who* said *what*, with controlled cadence so it's helpful, not noisy\n\n> Bring your own LLM endpoint (local or cloud) — the assistant is model-agnostic and fully parameterized (temperature, penalties, max tokens, and more).\n\n## 📄 State-of-the-art file transcription\n\nDrop in any audio or video file and get a transcript you can trust:\n\n- **Accuracy-first by default** — Whisper **large-v3-turbo**, with heavier or quantized variants a click away.\n- **Speaker diarization** — *who* said *what*, with **word-level timestamps** and per-word speaker attribution.\n- **Custom vocabulary \u002F term biasing** — feed in names, products, and jargon so they transcribe correctly.\n- **Cleaner audio in** — neural denoising and VAD gating drop non-speech before the model sees it.\n- **Optional local LLM cleanup** — tidy punctuation and disfluencies without leaving the device.\n- **Structured Markdown export** — summary, speakers, and a timestamped timeline, ready to share.\n- **Live progress** even on opaque decode phases, so you're never staring at a frozen bar.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"branding\u002Fscreenshot-file.png\" alt=\"Wisp — file transcription with the AI Notes sidebar open beside the transcript\" width=\"860\">\n\u003C\u002Fp>\n\n## 🧠 A private, searchable memory\n\nEvery meeting Wisp transcribes is saved to a **local notes library** — and you can search across all of them by *meaning*, fully on-device.\n\n- **Semantic + keyword, fused.** Search *\"the budget discussion\"* and Wisp finds the right note even if those exact words were never spoken — SQLite FTS5 keyword matching fused with vector similarity (hybrid). Every hit shows *why* it matched: keyword highlights and a semantic confidence score.\n- **SOTA local embeddings — your pick.** Download, switch, and delete on-device embedding models right in Settings:\n  - **Qwen3-Embedding 0.6B** — a state-of-the-art instruction-tuned **decoder** embedder\n  - **BGE-M3** — 1024-dim, 100+ languages, strong CJK\n  - plus **GTE multilingual**, **Multilingual E5** (small \u002F base \u002F large), and **BGE-Chinese**\n  \n  Switching models re-indexes your library **atomically** — an interrupted or failed switch never corrupts the existing index.\n- **Nothing leaves the device.** Notes are embedded and searched locally through ONNX Runtime. Prefer a hosted embedder for a job? OpenAI-compatible cloud models are **opt-in**, with your own key.\n\n## 🔒 Local-first & genuinely private\n\nTranscription, diarization, denoising, and VAD all run **on-device** through `sherpa-onnx` and Metal\u002FANE — no audio ever touches a network. Models are pulled from Hugging Face **only when you choose to install them**, then cached locally.\n\nNeed a hosted model for a specific job? Cloud engines (OpenAI, Gemini, Groq, Qwen, Speechmatics) are available as **opt-in** — you add your own key, stored locally, and Wisp stays local everywhere else.\n\n## 🍎 Tuned for Apple Silicon\n\nWisp doesn't just \"run on a Mac\" — it's optimized to the architecture:\n\n- **Metal GPU inference** — the Whisper engine (whisper.cpp) executes on the GPU via Metal for large speedups over CPU.\n- **Apple Neural Engine** — the Whisper encoder runs through **Core ML** so the heaviest stage lands on the **ANE**, freeing the GPU and CPU.\n- **Unified Memory Architecture** — Apple Silicon's shared memory means **zero-copy** handoff between CPU, GPU, and ANE: no PCIe round-trips, lower latency, less power.\n- **Apple SpeechAnalyzer** — on macOS 26, Wisp can use Apple's built-in on-device speech framework (ANE-accelerated, **zero model download**) as a first-class engine.\n- **ScreenCaptureKit** — native, permissioned system-audio capture with no kernel extension.\n\nThe engine, model, and decoding cadence are **auto-selected to your machine** (cores, RAM, GPU\u002FNeural-Engine tier), so it's fast out of the box and tunable when you want control.\n\n## 🎛️ Yours to configure — not the other way around\n\nNo mandatory engine downloads. No forced multi-gigabyte \"summary engine\" gating you before you can start. Wisp runs immediately, and **you** decide what to add:\n\n- **Pick any model** from the catalog — speed-first or accuracy-first — and switch per mode (Live vs File).\n- **Delete models** you don't need, right from the picker, to reclaim disk in one click.\n- **Configure everything** — transcription language, accuracy\u002Fspeed profile, VAD gating, denoising, decoding thresholds, diarization, custom vocabulary — instead of being locked to one preset.\n- **Honest picker** — models your machine can't run are clearly marked, with size and hardware hints *before* you download.\n\n## 🔌 Zero setup, no dependencies\n\n- **macOS:** system audio via **ScreenCaptureKit** — *no BlackHole, no Loopback, no virtual audio device.*\n- **Windows:** system audio via native **WASAPI loopback**.\n- Microphone + meeting audio captured together, echo-cancelled, with one click. Install the app and start — that's the whole setup.\n\n## 🪶 And more\n\n- **Dictation** — global push-to-talk speech-to-text injected into *any* app via native text insertion.\n- **Tiny installers** — 8 MB (Windows) \u002F 22 MB (macOS); the ML runtime is the floor, models stream on demand.\n- **Multilingual UI** — English, 简体中文, 繁體中文.\n- **Cross-platform** — macOS (Apple Silicon) and Windows (x64), one codebase.\n\n---\n\n## 📦 Install\n\nGrab the latest build from **[Releases](https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp\u002Freleases)**:\n\n### macOS (Apple Silicon)\n1. Download `Wisp_\u003Cversion>_aarch64.dmg`, open it, and drag **Wisp** to Applications.\n2. The build is currently unsigned, so clear the quarantine flag once:\n   ```sh\n   xattr -cr \u002FApplications\u002FWisp.app\n   ```\n3. Launch Wisp. Grant **Microphone** and **Screen Recording** (for system audio) when prompted.\n\n> Apple Silicon only (M1 or newer). Intel Macs are not supported — the GPU\u002FNeural-Engine and system-audio paths require the modern Apple-Silicon SDKs.\n\n### Windows (x64)\n1. Download `Wisp_\u003Cversion>_x64-setup.exe` and run it.\n2. Launch Wisp and grant microphone access when prompted.\n\n---\n\n## 🛠️ Build from source\n\nRequires **Rust** (stable), **Node** 20+, and platform build tools (Xcode + `meson`\u002F`ninja` on macOS; MSVC on Windows).\n\n```sh\ngit clone --recurse-submodules https:\u002F\u002Fgithub.com\u002FppXD\u002FWisp.git\ncd Wisp\u002Fapp\nnpm install\nnpm run tauri dev      # run the app\nnpm run tauri build    # produce an installer\n```\n\n## 💻 Platform support\n\n| Platform | Status | Transcription | GPU | System audio | Echo cancel |\n|---|---|---|---|---|---|\n| **macOS** (Apple Silicon) | ✅ Released | sherpa-onnx · whisper.cpp · Apple SpeechAnalyzer | Metal + ANE | ScreenCaptureKit | WebRTC AEC3 |\n| **Windows** (x64) | ✅ Released | sherpa-onnx | DirectML (auto) · CPU fallback | WASAPI loopback | cross-stream dedup |\n\n## 📄 License\n\n[MIT](LICENSE) © Wisp contributors.\n\n\u003Cdiv align=\"center\">\u003Csub>Built with Rust · Tauri · sherpa-onnx · whisper.cpp\u003C\u002Fsub>\u003C\u002Fdiv>\n",2,"2026-06-17 04:12:45","CREATED_QUERY"]