Update README for 1.3.0
Document the warm whisper-server, live mic-level HUD, and custom dictionary; add them to the feature list and Settings; note the loopback-only server and the one-time model load at startup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
17
README.md
17
README.md
@@ -12,17 +12,26 @@ A simple menu bar app for voice dictation using OpenAI Whisper (local, offline).
|
|||||||
|
|
||||||
## macOS
|
## macOS
|
||||||
|
|
||||||
|
### What's new in 1.3.0
|
||||||
|
|
||||||
|
- ⚡ **Warm transcription server** — the Whisper model stays loaded in a background `whisper-server`, so each dictation is a fast local call (~0.5s) instead of reloading the 1.5–1.6 GB model on every utterance
|
||||||
|
- 📊 **Live mic-level HUD** while recording, which warns ("No audio input?") if the microphone stays silent
|
||||||
|
- 📖 **Custom dictionary** — an editable *Heard → Replacement* table that fixes names/jargon in the transcript and also biases recognition
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
- 🎤 Global hotkey (⌃⌥D) to start/stop recording
|
- 🎤 Global hotkey (⌃⌥D) to start/stop recording
|
||||||
|
- ⚡ Fast transcription via a warm whisper-server (model stays loaded — no per-dictation reload), with automatic fallback to `whisper-cli`
|
||||||
|
- 📊 Live mic-level meter while recording, with a "no audio input" warning
|
||||||
|
- 📖 Custom dictionary (heard → replacement) that also biases recognition
|
||||||
- 🔒 Fully offline - uses local Whisper model
|
- 🔒 Fully offline - uses local Whisper model
|
||||||
- ⚡ Automatic paste into any focused app
|
- ⌨️ Automatic paste into any focused app
|
||||||
- 📋 Clipboard preservation - your copied content is restored after paste
|
- 📋 Clipboard preservation - your copied content is restored after paste
|
||||||
- ⚙️ Settings window with model selection dropdown
|
- ⚙️ Settings window with model selection dropdown
|
||||||
- 📥 Built-in model downloader with progress indicator
|
- 📥 Built-in model downloader with progress indicator
|
||||||
- 🚀 Launch at login support
|
- 🚀 Launch at login support
|
||||||
- 🔊 Sound feedback (optional)
|
- 🔊 Sound feedback (optional)
|
||||||
- 📦 Self-contained - whisper-cli bundled in app
|
- 📦 Self-contained - whisper-cli and whisper-server bundled in the app
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
@@ -75,6 +84,7 @@ make install
|
|||||||
Click the menu bar icon → Settings to configure:
|
Click the menu bar icon → Settings to configure:
|
||||||
- **Language**: Auto-detect or 31 supported languages
|
- **Language**: Auto-detect or 31 supported languages
|
||||||
- **Model**: Select from installed models or download new ones
|
- **Model**: Select from installed models or download new ones
|
||||||
|
- **Dictionary**: Add *Heard → Replacement* pairs to fix names/jargon (use `\n` for a newline); the replacement terms also improve recognition
|
||||||
- **Sound feedback**: Toggle audio feedback on/off
|
- **Sound feedback**: Toggle audio feedback on/off
|
||||||
- **Launch at login**: Start automatically when you log in
|
- **Launch at login**: Start automatically when you log in
|
||||||
|
|
||||||
@@ -93,6 +103,8 @@ Download models directly from the app or manually:
|
|||||||
|
|
||||||
Models are stored in `~/.whisper-models/`
|
Models are stored in `~/.whisper-models/`
|
||||||
|
|
||||||
|
> With the warm server (1.3.0+), the selected model loads once at startup (a few seconds); after that each dictation skips the reload, so the speeds above are roughly the per-dictation transcription time.
|
||||||
|
|
||||||
### Audio Feedback
|
### Audio Feedback
|
||||||
|
|
||||||
- 🔔 **Tink** - Recording started
|
- 🔔 **Tink** - Recording started
|
||||||
@@ -114,6 +126,7 @@ Grant these in System Settings → Privacy & Security:
|
|||||||
## Security
|
## Security
|
||||||
|
|
||||||
- All processing is done locally - no data leaves your device
|
- All processing is done locally - no data leaves your device
|
||||||
|
- The bundled `whisper-server` is bound to `127.0.0.1` (loopback only) and is never exposed on the network
|
||||||
- Audio files are stored in private temp directory and deleted after transcription
|
- Audio files are stored in private temp directory and deleted after transcription
|
||||||
- Clipboard is cleared after paste (transcript doesn't remain accessible)
|
- Clipboard is cleared after paste (transcript doesn't remain accessible)
|
||||||
- Original clipboard content is preserved and restored after paste
|
- Original clipboard content is preserved and restored after paste
|
||||||
|
|||||||
Reference in New Issue
Block a user