Documentation in English
Made-with: Cursor
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
78
README.md
78
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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user