Lattice
연구를 위한 작업공간
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Local voice dictation for macOS. Hold Right Option, speak, and write in any app. SwiftUI + WhisperKit. Early public beta.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗You already have somewhere to write. justwisper gives you another way to get the words there.
Focus a text field, hold Right ⌥, and talk. A small floating bar follows along. Release the key and the final transcript is inserted into the app you were using. Double-tap for hands-free dictation.
Speech recognition runs on your Mac using WhisperKit and Core ML. There’s no account, subscription, or app telemetry. Models and tokenizer files download during setup; once cached, dictation works offline.
Illustrated walkthrough with sample content, not a recording-speed benchmark. Download the short MP4.
| Teach it your words | Expand the things you say often |
|---|---|
| Galley — compact | Column — room to think |
|---|---|
Ticker and Caption (just the floating words, no bar) are also available in Settings. All four styles can be repositioned.
These images render the real SwiftUI views with fictional data. No personal dictation history is included. How the assets are made.
If the supported first-launch flow doesn’t work, see Troubleshooting. Release assets include a SHA-256 checksum so you can verify the downloaded file.
| Action | Shortcut |
|---|---|
| Push-to-talk | Hold Right ⌥; release to finish |
| Hands-free | Quickly double-tap Right ⌥; tap once to finish |
| Cancel | Esc or the overlay’s × |
| Recover a cancelled take | Undo during the brief recovery window |
| Move the overlay | Drag it |
| Reset overlay position | Double-click the overlay, or reset it in Settings |
The trigger is the right-hand Option key, not the right mouse button. Keep the app running in the menu bar to keep the model in memory.
| Model | Language | Best starting point for |
|---|---|---|
| Tiny | English | The smallest model and lighter inference work |
| Base | English | Everyday dictation |
| Small · default | English | Trying a larger English model when Base misses words |
| Turbo | Multilingual | Dictating in languages beyond English |
Model download sizes and speed vary by variant. The app shows an estimated size before selection. Your selection survives relaunches. A full quit unloads the model from memory; reopening loads the cached files again.
Audio is captured in memory and processed locally. The app does not intentionally save audio recordings to disk. Completed transcript history, vocabulary, snippets, and per-app formatting rules are stored under ~/Library/Application Support/Wispr/.
Insertion first uses macOS Accessibility. A clipboard-based paste is the fallback, so clipboard managers may see that text. The destination app controls what happens to text after insertion. Current builds log word counts and timings rather than transcript text. Older logs can contain transcripts; review diagnostics before sharing.
Read the storage and network details →
This is an early release, not a promise of perfect recognition. Accuracy depends on the model, language, microphone, and background noise. Apple Silicon is the supported release target; Intel builds are not part of the tested distribution.
Some apps and secure text fields block automatic insertion. Copy the completed transcript from History if needed. The interface’s live preview shows recent audio; the final transcript includes the complete take. Apple Intelligence polish requires a compatible Mac and an available system model.
Found a rough edge? Report it with your Mac, macOS version, app version, and reproduction steps. Please remove personal transcript text from logs.
git clone https://github.com/dhirajcdry/justwisper.git
cd justwisper
./setup-signing.sh # once per Mac
./build.sh
open /Applications/justwisper.app
./build.sh signs and replaces /Applications/justwisper.app. It stops any running copy before installation and leaves no app bundle in the project folder. Local builds reuse the justwisper Local signing identity. Its generated keychain password stays in ignored, owner-only .signing/ storage, so future builds unlock it automatically. Installed builds refuse ad-hoc signing to prevent permission resets.
Building requires Swift 6.2+ (Xcode 26+) because of the locked dependencies; running the app still targets macOS 14+. Run ./setup-signing.sh once to configure stable local signing, then use ./build.sh for updates. This creates a local development identity; it is not Apple Developer ID signing or notarization.
swift test # regression suite; no microphone required
./package.sh # Apple Silicon DMG in dist/
The real-model smoke test and screenshot renderer are opt-in. See Contributing, asset generation, and the release guide.
The app is native SwiftUI, with a small set of focused components:
Right Option → gesture state → mic capture → WhisperKit → cleanup → text insertion
│ │
live preview local history
Start with AppModel.swift for orchestration, HotkeyMonitor.swift for gestures, and WhisperEngine.swift for the local inference pipeline.
For help, see Support. For planned work, see the Roadmap. Please follow our community conduct.
Contributions that make the everyday dictation loop more reliable are especially welcome. The contributor guide explains how to build, test, and send a change.
Built by Dhiraj Chaudhary. App code is MIT licensed; dependencies, models, and fonts retain their own licenses. Third-party notices.
justwisper is an independent project inspired by push-to-talk dictation. It is not affiliated with Wispr Flow, Apple, or OpenAI.