From c90d2627df06c80ea1204e60f3003b2198e316a9 Mon Sep 17 00:00:00 2001 From: elpatron Date: Fri, 6 Mar 2026 19:47:37 +0100 Subject: [PATCH] Documentation in English Made-with: Cursor --- .cursor/rules/readme-maintenance.mdc | 18 +++---- HotKeet/PLATFORM.md | 76 +++++++++++++-------------- README.md | 78 ++++++++++++++-------------- parakeet-cli/README.md | 8 ++- 4 files changed, 89 insertions(+), 91 deletions(-) diff --git a/.cursor/rules/readme-maintenance.mdc b/.cursor/rules/readme-maintenance.mdc index ebb5b82..eed34e6 100644 --- a/.cursor/rules/readme-maintenance.mdc +++ b/.cursor/rules/readme-maintenance.mdc @@ -1,16 +1,16 @@ --- -description: README.md fortlaufend pflegen bei relevanten Änderungen +description: Keep README.md up to date when making relevant changes alwaysApply: true --- -# README-Wartung +# README Maintenance -Bei Änderungen am Projekt die `README.md` im Repo-Root aktualisieren, wenn betroffen: +When changing the project, update `README.md` in the repo root if affected: -- **Neue Features** → Abschnitt „Schnellstart“ oder „Konfiguration“ ergänzen -- **Geänderte Pfade** (Config, Build) → Tabelle/Text anpassen -- **Neue Abhängigkeiten** → Voraussetzungen aktualisieren -- **Plattform-Änderungen** → Tabelle oder Verweis auf PLATFORM.md -- **Projektstruktur** → Verzeichnisbaum anpassen +- **New features** → Add to "Quick Start" or "Configuration" section +- **Changed paths** (config, build) → Update table/text +- **New dependencies** → Update prerequisites +- **Platform changes** → Update table or reference to PLATFORM.md +- **Project structure** → Adjust directory tree -Die README soll für neue Nutzer verständlich und aktuell bleiben. +The README should remain clear and up to date for new users. diff --git a/HotKeet/PLATFORM.md b/HotKeet/PLATFORM.md index 66f372e..e8ce4e8 100644 --- a/HotKeet/PLATFORM.md +++ b/HotKeet/PLATFORM.md @@ -1,59 +1,59 @@ -# HotKeet – Plattform-Unterstützung +# HotKeet – Platform Support -## Übersicht +## Overview -| Plattform | Status | Hinweise | -|-----------|--------|----------| -| **Windows** | ✅ Voll unterstützt | Primäre Zielplattform | -| **Linux** | ⚠️ Lauffähig mit Anpassungen | Tray, Audio, Hotkeys funktionieren | -| **macOS** | ⚠️ Lauffähig mit Anpassungen | Tray-Events müssen im Main-Thread laufen | +| Platform | Status | Notes | +|----------|--------|-------| +| **Windows** | ✅ Fully supported | Primary target platform | +| **Linux** | ⚠️ Runs with adjustments | Tray, audio, hotkeys work | +| **macOS** | ⚠️ Runs with adjustments | Tray events must run in main thread | ## Windows -- System-Tray mit Icon -- PlaySound/MessageBeep für Signaltöne -- WM_CLOSE → Minimieren ins Tray -- Konfiguration: `%LOCALAPPDATA%\HotKeet\settings.json` -- Parakeet-Standardpfade: `C:\voice2text\` +- System tray with icon +- PlaySound/MessageBeep for audio feedback +- WM_CLOSE → minimize to tray +- Configuration: `%LOCALAPPDATA%\HotKeet\settings.json` +- Parakeet default paths: `C:\voice2text\` ## Linux -### Voraussetzungen +### Prerequisites -- **Tray**: `libappindicator3` oder `libayatana-appindicator3` (für System-Tray) -- **Audio**: `cpal` nutzt ALSA/PulseAudio -- **Hotkeys**: `rdev` benötigt evtl. Root oder Input-Gruppe für globale Hotkeys +- **Tray**: `libappindicator3` or `libayatana-appindicator3` (for system tray) +- **Audio**: `cpal` uses ALSA/PulseAudio +- **Hotkeys**: `rdev` may require root or input group for global hotkeys -### Konfiguration +### Configuration -- Pfad: `~/.config/HotKeet/settings.json` (oder `$XDG_CONFIG_HOME/HotKeet/`) -- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli` -- Modell Standard: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8` +- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`) +- Parakeet-CLI default: `/usr/local/bin/parakeet-cli` +- Model default: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8` -### Bekannte Einschränkungen +### Known Limitations -- **Wayland**: Tray-Support kann je nach Desktop-Umgebung variieren -- **Signaltöne**: Terminal-Bell (`\x07`) statt System-Sounds -- **Fokus-Wiederherstellung**: `target_hwnd` (SetForegroundWindow) nur unter Windows +- **Wayland**: Tray support may vary by desktop environment +- **Audio feedback**: Terminal bell (`\x07`) instead of system sounds +- **Focus restoration**: `target_hwnd` (SetForegroundWindow) Windows only ## macOS -### Voraussetzungen +### Prerequisites -- **Tray**: `tray-item` nutzt Cocoa; macOS erfordert, dass UI-Events im Main-Thread verarbeitet werden -- **Audio**: `cpal` nutzt CoreAudio -- **Hotkeys**: `rdev` – ggf. Berechtigungen für Eingabemonitoring nötig +- **Tray**: `tray-item` uses Cocoa; macOS requires UI events in main thread +- **Audio**: `cpal` uses CoreAudio +- **Hotkeys**: `rdev` – may need permissions for input monitoring -### Konfiguration +### Configuration -- Pfad: `~/.config/HotKeet/settings.json` (bzw. `$XDG_CONFIG_HOME/HotKeet/`) -- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli` +- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`) +- Parakeet-CLI default: `/usr/local/bin/parakeet-cli` -### Bekannte Einschränkungen +### Known Limitations -- **Tray**: Unter macOS müssen Tray-Events im Main-Thread laufen; ggf. Anpassung nötig -- **Signaltöne**: Terminal-Bell statt System-Sounds -- **Fokus**: Kein HWND-Äquivalent +- **Tray**: On macOS, tray events must run in main thread; adjustment may be needed +- **Audio feedback**: Terminal bell instead of system sounds +- **Focus**: No HWND equivalent ## Build @@ -68,8 +68,8 @@ cargo build --release cargo build --release ``` -**Hinweis**: Die `.cargo/config.toml` enthält Windows-spezifische Linker-Flags und wird unter Linux/macOS ignoriert. +**Note**: `.cargo/config.toml` contains Windows-specific linker flags and is ignored on Linux/macOS. -## Migration von mediSchnack-dictate +## Migration from mediSchnack-dictate -Alte Konfiguration unter `%LOCALAPPDATA%\medischnack\dictate-settings.json` oder `%LOCALAPPDATA%\hotkeet\settings.json` wird nicht automatisch übernommen. Bei Bedarf manuell nach `HotKeet\settings.json` kopieren. +Old configuration under `%LOCALAPPDATA%\medischnack\dictate-settings.json` or `%LOCALAPPDATA%\hotkeet\settings.json` is not migrated automatically. Copy manually to `HotKeet\settings.json` if needed. diff --git a/README.md b/README.md index 86d34a0..1a0aef3 100644 --- a/README.md +++ b/README.md @@ -1,77 +1,77 @@ # HotKeet -Push-to-Talk Diktier-App mit Offline-Spracherkennung. Hotkey gedrückt = aufnehmen, losgelassen = stoppen, transkribieren, einfügen. +Push-to-Talk dictation app with offline speech recognition. Hold hotkey = record, release = stop, transcribe, paste. -## Übersicht +## Overview -| Komponente | Beschreibung | -|------------|--------------| -| **HotKeet** | GUI-App: Aufnahme, Transkription, Texteinfügung per Hotkey | -| **parakeet-cli** | CLI für Parakeet v3 Speech-to-Text (transcribe-rs) | +| Component | Description | +|-----------|-------------| +| **HotKeet** | GUI app: recording, transcription, text insertion via hotkey | +| **parakeet-cli** | CLI for Parakeet v3 Speech-to-Text (transcribe-rs) | -## Schnellstart +## Quick Start -### Voraussetzungen +### Prerequisites - Rust (1.70+) -- **parakeet-cli** muss gebaut und erreichbar sein (im PATH oder Pfad konfigurieren) -- Parakeet-Modell (z.B. `parakeet-tdt-0.6b-v3-int8`) +- **parakeet-cli** must be built and available (in PATH or configure path) +- Parakeet model (e.g. `parakeet-tdt-0.6b-v3-int8`) ### Build ```bash -# parakeet-cli zuerst bauen +# Build parakeet-cli first cd parakeet-cli cargo build --release -# HotKeet bauen +# Build HotKeet cd ../HotKeet cargo build --release -# oder unter Windows: build.cmd +# or on Windows: build.cmd ``` -### Erste Schritte +### First Steps -1. HotKeet starten – läuft im Tray -2. Rechtsklick auf Tray-Icon → **Einstellungen** -3. **parakeet-cli** und **Modellpfad** per „Durchsuchen…“ auswählen (oder leer lassen = Standard) -4. **Mikrofon** wählen -5. **Speichern** +1. Start HotKeet – runs in system tray +2. Right-click tray icon → **Settings** +3. Select **parakeet-cli** and **model path** via "Browse…" (or leave empty = default) +4. Choose **microphone** +5. **Save** -Standard-Hotkey: **Ctrl+Shift+D** (drücken = Aufnahme, loslassen = Transkription + Einfügen) +Default hotkey: **Ctrl+Shift+D** (hold = record, release = transcribe + paste) -## Konfiguration +## Configuration -| Einstellung | Beschreibung | -|-------------|-------------| -| **Hotkey** | Globaler Push-to-Talk (z.B. Ctrl+Shift+D) | -| **Eingabequelle** | Companion-App oder Mikrofon | -| **parakeet-cli Pfad** | Leer = im PATH (Standard: parakeet-cli) | -| **Modellpfad** | Leer = Standardpfad (plattformabhängig) | -| **Einfügemethode** | Auto | Tastaturpuffer | Zwischenablage | +| Setting | Description | +|---------|-------------| +| **Hotkey** | Global Push-to-Talk (e.g. Ctrl+Shift+D) | +| **Input source** | Companion app or microphone | +| **parakeet-cli path** | Empty = in PATH (default: parakeet-cli) | +| **Model path** | Empty = default path (platform-dependent) | +| **Paste method** | Auto | Keyboard buffer | Clipboard | -**Speicherort:** `%LOCALAPPDATA%\HotKeet\settings.json` (Windows) bzw. `~/.config/HotKeet/settings.json` (Linux/macOS) +**Storage location:** `%LOCALAPPDATA%\HotKeet\settings.json` (Windows) or `~/.config/HotKeet/settings.json` (Linux/macOS) -## Plattformen +## Platforms -| Plattform | Status | -|-----------|--------| -| **Windows** | ✅ Voll unterstützt | -| **Linux** | ⚠️ Lauffähig (Tray: libappindicator) | -| **macOS** | ⚠️ Lauffähig | +| Platform | Status | +|----------|--------| +| **Windows** | ✅ Fully supported | +| **Linux** | ⚠️ Runs (Tray: libappindicator) | +| **macOS** | ⚠️ Runs | Details: [HotKeet/PLATFORM.md](HotKeet/PLATFORM.md) -## Projektstruktur +## Project Structure ``` HotKeet/ -├── HotKeet/ # Diktier-App (Rust, egui) -├── parakeet-cli/ # Transkriptions-CLI (Rust, ONNX) +├── HotKeet/ # Dictation app (Rust, egui) +├── parakeet-cli/ # Transcription CLI (Rust, ONNX) ├── LICENSE # MIT └── README.md ``` -## Lizenz +## License [MIT License](LICENSE) diff --git a/parakeet-cli/README.md b/parakeet-cli/README.md index 9cdd456..4de771f 100644 --- a/parakeet-cli/README.md +++ b/parakeet-cli/README.md @@ -1,18 +1,16 @@ # parakeet-cli -CLI für Parakeet v3 Speech-to-Text (transcribe-rs). Wird von mediSchnack als natives Offline-Modell genutzt. +CLI for Parakeet v3 Speech-to-Text (transcribe-rs). Used by HotKeet as native offline model. ## Build ```bash -cd mediSchnack/parakeet-cli +cd parakeet-cli cargo build --release ``` -**Hinweis:** Bei Rust < 1.88 muss `ort` auf eine kompatible Version gepinnt werden: +**Note:** With Rust < 1.88, pin `ort` to a compatible version: ```bash cargo update -p ort -p ort-sys --precise 2.0.0-rc.10 ``` - -Die `parakeet-cli.exe` wird beim mediSchnack-Build automatisch nach `bin/` kopiert, sofern sie unter `parakeet-cli/target/release/` existiert.