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
|
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
|
- **New features** → Add to "Quick Start" or "Configuration" section
|
||||||
- **Geänderte Pfade** (Config, Build) → Tabelle/Text anpassen
|
- **Changed paths** (config, build) → Update table/text
|
||||||
- **Neue Abhängigkeiten** → Voraussetzungen aktualisieren
|
- **New dependencies** → Update prerequisites
|
||||||
- **Plattform-Änderungen** → Tabelle oder Verweis auf PLATFORM.md
|
- **Platform changes** → Update table or reference to PLATFORM.md
|
||||||
- **Projektstruktur** → Verzeichnisbaum anpassen
|
- **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 |
|
| Platform | Status | Notes |
|
||||||
|-----------|--------|----------|
|
|----------|--------|-------|
|
||||||
| **Windows** | ✅ Voll unterstützt | Primäre Zielplattform |
|
| **Windows** | ✅ Fully supported | Primary target platform |
|
||||||
| **Linux** | ⚠️ Lauffähig mit Anpassungen | Tray, Audio, Hotkeys funktionieren |
|
| **Linux** | ⚠️ Runs with adjustments | Tray, audio, hotkeys work |
|
||||||
| **macOS** | ⚠️ Lauffähig mit Anpassungen | Tray-Events müssen im Main-Thread laufen |
|
| **macOS** | ⚠️ Runs with adjustments | Tray events must run in main thread |
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
- System-Tray mit Icon
|
- System tray with icon
|
||||||
- PlaySound/MessageBeep für Signaltöne
|
- PlaySound/MessageBeep for audio feedback
|
||||||
- WM_CLOSE → Minimieren ins Tray
|
- WM_CLOSE → minimize to tray
|
||||||
- Konfiguration: `%LOCALAPPDATA%\HotKeet\settings.json`
|
- Configuration: `%LOCALAPPDATA%\HotKeet\settings.json`
|
||||||
- Parakeet-Standardpfade: `C:\voice2text\`
|
- Parakeet default paths: `C:\voice2text\`
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
|
|
||||||
### Voraussetzungen
|
### Prerequisites
|
||||||
|
|
||||||
- **Tray**: `libappindicator3` oder `libayatana-appindicator3` (für System-Tray)
|
- **Tray**: `libappindicator3` or `libayatana-appindicator3` (for system tray)
|
||||||
- **Audio**: `cpal` nutzt ALSA/PulseAudio
|
- **Audio**: `cpal` uses ALSA/PulseAudio
|
||||||
- **Hotkeys**: `rdev` benötigt evtl. Root oder Input-Gruppe für globale Hotkeys
|
- **Hotkeys**: `rdev` may require root or input group for global hotkeys
|
||||||
|
|
||||||
### Konfiguration
|
### Configuration
|
||||||
|
|
||||||
- Pfad: `~/.config/HotKeet/settings.json` (oder `$XDG_CONFIG_HOME/HotKeet/`)
|
- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`)
|
||||||
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
- Parakeet-CLI default: `/usr/local/bin/parakeet-cli`
|
||||||
- Modell Standard: `/usr/local/share/voice2text/models/parakeet-tdt-0.6b-v3-int8`
|
- 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
|
- **Wayland**: Tray support may vary by desktop environment
|
||||||
- **Signaltöne**: Terminal-Bell (`\x07`) statt System-Sounds
|
- **Audio feedback**: Terminal bell (`\x07`) instead of system sounds
|
||||||
- **Fokus-Wiederherstellung**: `target_hwnd` (SetForegroundWindow) nur unter Windows
|
- **Focus restoration**: `target_hwnd` (SetForegroundWindow) Windows only
|
||||||
|
|
||||||
## macOS
|
## macOS
|
||||||
|
|
||||||
### Voraussetzungen
|
### Prerequisites
|
||||||
|
|
||||||
- **Tray**: `tray-item` nutzt Cocoa; macOS erfordert, dass UI-Events im Main-Thread verarbeitet werden
|
- **Tray**: `tray-item` uses Cocoa; macOS requires UI events in main thread
|
||||||
- **Audio**: `cpal` nutzt CoreAudio
|
- **Audio**: `cpal` uses CoreAudio
|
||||||
- **Hotkeys**: `rdev` – ggf. Berechtigungen für Eingabemonitoring nötig
|
- **Hotkeys**: `rdev` – may need permissions for input monitoring
|
||||||
|
|
||||||
### Konfiguration
|
### Configuration
|
||||||
|
|
||||||
- Pfad: `~/.config/HotKeet/settings.json` (bzw. `$XDG_CONFIG_HOME/HotKeet/`)
|
- Path: `~/.config/HotKeet/settings.json` (or `$XDG_CONFIG_HOME/HotKeet/`)
|
||||||
- Parakeet-CLI Standard: `/usr/local/bin/parakeet-cli`
|
- 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
|
- **Tray**: On macOS, tray events must run in main thread; adjustment may be needed
|
||||||
- **Signaltöne**: Terminal-Bell statt System-Sounds
|
- **Audio feedback**: Terminal bell instead of system sounds
|
||||||
- **Fokus**: Kein HWND-Äquivalent
|
- **Focus**: No HWND equivalent
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
@@ -68,8 +68,8 @@ cargo build --release
|
|||||||
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
|
# 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 |
|
| Component | Description |
|
||||||
|------------|--------------|
|
|-----------|-------------|
|
||||||
| **HotKeet** | GUI-App: Aufnahme, Transkription, Texteinfügung per Hotkey |
|
| **HotKeet** | GUI app: recording, transcription, text insertion via hotkey |
|
||||||
| **parakeet-cli** | CLI für Parakeet v3 Speech-to-Text (transcribe-rs) |
|
| **parakeet-cli** | CLI for Parakeet v3 Speech-to-Text (transcribe-rs) |
|
||||||
|
|
||||||
## Schnellstart
|
## Quick Start
|
||||||
|
|
||||||
### Voraussetzungen
|
### Prerequisites
|
||||||
|
|
||||||
- Rust (1.70+)
|
- Rust (1.70+)
|
||||||
- **parakeet-cli** muss gebaut und erreichbar sein (im PATH oder Pfad konfigurieren)
|
- **parakeet-cli** must be built and available (in PATH or configure path)
|
||||||
- Parakeet-Modell (z.B. `parakeet-tdt-0.6b-v3-int8`)
|
- Parakeet model (e.g. `parakeet-tdt-0.6b-v3-int8`)
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# parakeet-cli zuerst bauen
|
# Build parakeet-cli first
|
||||||
cd parakeet-cli
|
cd parakeet-cli
|
||||||
cargo build --release
|
cargo build --release
|
||||||
|
|
||||||
# HotKeet bauen
|
# Build HotKeet
|
||||||
cd ../HotKeet
|
cd ../HotKeet
|
||||||
cargo build --release
|
cargo build --release
|
||||||
# oder unter Windows: build.cmd
|
# or on Windows: build.cmd
|
||||||
```
|
```
|
||||||
|
|
||||||
### Erste Schritte
|
### First Steps
|
||||||
|
|
||||||
1. HotKeet starten – läuft im Tray
|
1. Start HotKeet – runs in system tray
|
||||||
2. Rechtsklick auf Tray-Icon → **Einstellungen**
|
2. Right-click tray icon → **Settings**
|
||||||
3. **parakeet-cli** und **Modellpfad** per „Durchsuchen…“ auswählen (oder leer lassen = Standard)
|
3. Select **parakeet-cli** and **model path** via "Browse…" (or leave empty = default)
|
||||||
4. **Mikrofon** wählen
|
4. Choose **microphone**
|
||||||
5. **Speichern**
|
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 |
|
| Setting | Description |
|
||||||
|-------------|-------------|
|
|---------|-------------|
|
||||||
| **Hotkey** | Globaler Push-to-Talk (z.B. Ctrl+Shift+D) |
|
| **Hotkey** | Global Push-to-Talk (e.g. Ctrl+Shift+D) |
|
||||||
| **Eingabequelle** | Companion-App oder Mikrofon |
|
| **Input source** | Companion app or microphone |
|
||||||
| **parakeet-cli Pfad** | Leer = im PATH (Standard: parakeet-cli) |
|
| **parakeet-cli path** | Empty = in PATH (default: parakeet-cli) |
|
||||||
| **Modellpfad** | Leer = Standardpfad (plattformabhängig) |
|
| **Model path** | Empty = default path (platform-dependent) |
|
||||||
| **Einfügemethode** | Auto | Tastaturpuffer | Zwischenablage |
|
| **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 |
|
| Platform | Status |
|
||||||
|-----------|--------|
|
|----------|--------|
|
||||||
| **Windows** | ✅ Voll unterstützt |
|
| **Windows** | ✅ Fully supported |
|
||||||
| **Linux** | ⚠️ Lauffähig (Tray: libappindicator) |
|
| **Linux** | ⚠️ Runs (Tray: libappindicator) |
|
||||||
| **macOS** | ⚠️ Lauffähig |
|
| **macOS** | ⚠️ Runs |
|
||||||
|
|
||||||
Details: [HotKeet/PLATFORM.md](HotKeet/PLATFORM.md)
|
Details: [HotKeet/PLATFORM.md](HotKeet/PLATFORM.md)
|
||||||
|
|
||||||
## Projektstruktur
|
## Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
HotKeet/
|
HotKeet/
|
||||||
├── HotKeet/ # Diktier-App (Rust, egui)
|
├── HotKeet/ # Dictation app (Rust, egui)
|
||||||
├── parakeet-cli/ # Transkriptions-CLI (Rust, ONNX)
|
├── parakeet-cli/ # Transcription CLI (Rust, ONNX)
|
||||||
├── LICENSE # MIT
|
├── LICENSE # MIT
|
||||||
└── README.md
|
└── README.md
|
||||||
```
|
```
|
||||||
|
|
||||||
## Lizenz
|
## License
|
||||||
|
|
||||||
[MIT License](LICENSE)
|
[MIT License](LICENSE)
|
||||||
|
|||||||
@@ -1,18 +1,16 @@
|
|||||||
# parakeet-cli
|
# 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
|
## Build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd mediSchnack/parakeet-cli
|
cd parakeet-cli
|
||||||
cargo build --release
|
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
|
```bash
|
||||||
cargo update -p ort -p ort-sys --precise 2.0.0-rc.10
|
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