Commitok összehasonlítása
13 Commit-ok
feature/os
...
v1.4.1
| Szerző | SHA1 | Dátum | |
|---|---|---|---|
|
|
c2bd30bbf5 | ||
|
|
8bbea20dcc | ||
|
|
6b6d9342a9 | ||
|
|
78caac8d04 | ||
|
|
fef0cd4ade | ||
|
|
3890cd8ab4 | ||
|
|
0983ba0fde | ||
|
|
b8f4a222f8 | ||
|
|
71178c81bd | ||
|
|
4584d30e02 | ||
|
|
29d0c0e503 | ||
|
|
fdf8bf9743 | ||
|
|
aa241f55c8 |
57
README.md
57
README.md
@@ -12,21 +12,46 @@ A simple menu bar app for voice dictation using OpenAI Whisper (local, offline).
|
||||
|
||||
## macOS
|
||||
|
||||
### What's new in 1.4.1
|
||||
|
||||
- 🎨 **Native icons instead of emoji** — the menu bar icon, recording overlay, download window, menus and Settings now use macOS SF Symbols: sharp at any size, matching light/dark menu bars, and the menu bar microphone turns red while recording
|
||||
|
||||
### What's new in 1.4.0
|
||||
|
||||
- 💬 **Live preview while recording** — the recording overlay shows what you're saying as you speak, using macOS's on-device dictation model (works in Hungarian too). It's a preview: the pasted text still comes from Whisper, so it can differ slightly. Toggle it in Settings.
|
||||
|
||||
### What's new in 1.3.1
|
||||
|
||||
- 🪶 **Quantized models** — *Large v3 Turbo q5_0* keeps the transcription server at ~0.7 GB RAM instead of ~1.75 GB, at the same speed (also Small q5_1, Medium q5_0, Turbo q8_0 and Large v3 q5_0)
|
||||
- 📥 **Download progress window** — progress bar, size, speed, time remaining, Cancel/Retry; progress also shows in the menu bar and Settings
|
||||
- 🔥 **Model warm-up at recording start** — if the model was paged out after a pause, it starts loading as soon as you start talking, not after you stop; the HUD tells you when a transcription is slower because the model is still loading
|
||||
|
||||
### 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
|
||||
|
||||
- 🎤 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
|
||||
- 💬 Live transcript preview in the recording overlay (on-device Apple dictation model; Whisper still produces the pasted text)
|
||||
- 📖 Custom dictionary (heard → replacement) that also biases recognition
|
||||
- 🔒 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
|
||||
- ⚙️ Settings window with model selection dropdown
|
||||
- 📥 Built-in model downloader with progress indicator
|
||||
- 📥 Built-in model downloader with a progress window (speed, time remaining, cancel/retry)
|
||||
- 🪶 Quantized model options for much lower memory use
|
||||
- 🚀 Launch at login support
|
||||
- 🔊 Sound feedback (optional)
|
||||
- 📦 Self-contained - whisper-cli bundled in app
|
||||
- 📦 Self-contained - whisper-cli and whisper-server bundled in the app
|
||||
|
||||
### Requirements
|
||||
|
||||
- macOS 13.0+
|
||||
- macOS 26 (Tahoe) or later
|
||||
- Apple Silicon (M1/M2/M3) or Intel Mac
|
||||
|
||||
### Quick Install (Download)
|
||||
@@ -64,9 +89,9 @@ make install
|
||||
### Usage
|
||||
|
||||
1. Launch WhisperDictate from Applications
|
||||
2. Look for the 🎤 icon in your menu bar
|
||||
2. Look for the microphone icon in your menu bar
|
||||
3. Press **⌃⌥D** (Control + Option + D) to start recording
|
||||
4. Speak (icon changes to 🔴)
|
||||
4. Speak (the menu bar microphone turns red)
|
||||
5. Press **⌃⌥D** again to stop and transcribe
|
||||
6. Text is automatically pasted where your cursor is
|
||||
|
||||
@@ -74,8 +99,10 @@ make install
|
||||
|
||||
Click the menu bar icon → Settings to configure:
|
||||
- **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 (✓ marks models already downloaded)
|
||||
- **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
|
||||
- **Live preview while recording**: Show a rough live transcript in the recording overlay (on by default)
|
||||
- **Launch at login**: Start automatically when you log in
|
||||
|
||||
### Whisper Models
|
||||
@@ -91,8 +118,22 @@ Download models directly from the app or manually:
|
||||
| Large v3 Turbo | 1.6 GB | ~4 sec | Best | **Recommended** - fast like Medium, accurate like Large |
|
||||
| Large v3 | 3.1 GB | ~8 sec | Maximum | Difficult audio, max accuracy |
|
||||
|
||||
**Quantized variants** (q5/q8) have much smaller weights, so the model uses far less memory, with a small accuracy trade-off:
|
||||
|
||||
| Model | Size | Full-size equivalent |
|
||||
|-------|------|----------------------|
|
||||
| Small q5_1 | 181 MB | Small (466 MB) |
|
||||
| Medium q5_0 | 514 MB | Medium (1.5 GB) |
|
||||
| Large v3 Turbo q5_0 | 547 MB | Large v3 Turbo (1.6 GB) — measured ~0.7 GB RAM vs ~1.75 GB, same speed |
|
||||
| Large v3 Turbo q8_0 | 833 MB | Large v3 Turbo (1.6 GB) — near-identical accuracy |
|
||||
| Large v3 q5_0 | 1.0 GB | Large v3 (3.1 GB) |
|
||||
|
||||
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.
|
||||
>
|
||||
> The server keeps the whole model in memory while it runs. If macOS pages it out after a long pause, 1.3.1+ starts loading it back as soon as you start recording, and the HUD shows *"Loading model into memory…"* if that takes a moment.
|
||||
|
||||
### Audio Feedback
|
||||
|
||||
- 🔔 **Tink** - Recording started
|
||||
@@ -114,6 +155,8 @@ Grant these in System Settings → Privacy & Security:
|
||||
## Security
|
||||
|
||||
- All processing is done locally - no data leaves your device
|
||||
- The live preview uses macOS's on-device dictation model (SpeechAnalyzer); it needs no extra permission beyond the microphone
|
||||
- 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
|
||||
- Clipboard is cleared after paste (transcript doesn't remain accessible)
|
||||
- Original clipboard content is preserved and restored after paste
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
APP_NAME = WhisperDictate
|
||||
APP_BUNDLE = $(APP_NAME).app
|
||||
VERSION = 1.2.1
|
||||
VERSION = 1.4.1
|
||||
|
||||
# Directories
|
||||
SRC_DIR = src
|
||||
@@ -11,7 +11,7 @@ BUNDLE_DIR = $(APP_BUNDLE)/Contents
|
||||
|
||||
# Compiler settings
|
||||
SWIFT = swiftc
|
||||
SWIFT_FLAGS = -O -framework Cocoa -framework AVFoundation -framework Carbon -framework CoreGraphics -framework ServiceManagement
|
||||
SWIFT_FLAGS = -O -framework Cocoa -framework AVFoundation -framework Speech -framework Carbon -framework CoreGraphics -framework ServiceManagement
|
||||
|
||||
.PHONY: all clean build bundle install run dmg
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.2.1</string>
|
||||
<string>1.4.1</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>2</string>
|
||||
<string>6</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>13.0</string>
|
||||
<key>LSUIElement</key>
|
||||
|
||||
1214
macos/src/main.swift
1214
macos/src/main.swift
A különbségek nem kerülnek megjelenítésre, mivel a fájl túl nagy
Load Diff
Reference in New Issue
Block a user