Push-to-Talk-Sprachdiktat für Linux, in jeder Anwendung

Eine Taste halten, sprechen, loslassen: Der transkribierte Text wird in das fokussierte Fenster eingefügt. Angetrieben von Whisper über faster-whisper, vollständig quelloffen und datenschutzfreundlich – nichts von dem, was Sie sagen, verlässt jemals Ihren Rechner.

v1.0.1 · en / fr / de / es · 100 % offline · Push-to-Talk

WhispSkrid ist keine Spracherkennungs-Engine – es ist eine Kommandozeilen-Diktatschicht auf Basis von Whisper, bereitgestellt durch faster-whisper (CTranslate2). Whisper übernimmt die Transkription; dieses Projekt kümmert sich um die Push-to-Talk-Taste, die Audioaufnahme während die Taste gehalten wird, den Steuer-Socket, der die Desktop-Kurzbefehle anbindet, und das Einfügen des Ergebnisses in die Anwendung, die den Fokus hat.

Leichtgewichtig, persistent

Das Whisper-Modell wird einmal in einen persistenten Prozess geladen, danach erfolgt die Transkription beim Loslassen der Taste. Das Modell base in int8 wiegt etwa 145 MB auf der Platte und erreicht auf der CPU bis zu 0,5–0,6 GB RAM (auf der GPU etwa 0,3 GB VRAM); von tiny bis large-v3 reicht die Palette von etwa 75 MB bis 3 GB auf der Platte. Keine automatische Segmentierung der Sprache: Was zwischen Drücken und Loslassen aufgenommen wird, geht in einem einzigen Durchgang hinaus.

  • Push-to-Talk ist strikt: Die Aufnahme dauert genau so lange, wie die Taste gehalten wird, ohne Timer und ohne Stille-Abschaltung.
  • Die einzige automatische Schutzvorkehrung ist eine hohe, konfigurierbare maximale Aufnahmedauer gegen eine hängende Taste.
  • Sobald das Modell lokal vorhanden ist, wird keine Netzwerkverbindung benötigt.

Echte Messwerte je Maschine wurden während der Validierung auf fünf Maschinen erhoben und werden hier nicht veröffentlicht — maßgeblich sind die Größenordnungen oben.

Hauptmerkmale

Striktes Push-to-Talk

Die Aufnahme dauert genau so lange, wie Sie die Taste halten. Keine automatische Abschaltung, kein Timer, keine Satzende-Erkennung.

Vier Sprachen

Englisch, Französisch, Deutsch und Spanisch. -l fr erzwingt die an Whisper übergebene Sprache; ohne Argument erkennt Whisper sie selbst.

Zwei Auslösewege

Ein lokaler Tasten-Listener mit nativer Halte-Semantik oder Unterbefehle, die an die globalen Kurzbefehle Ihres Desktops gebunden sind – der Weg, der unter Wayland überall funktioniert.

Eine einzige Konfigurationsdatei

Modell, Push-to-Talk-Taste, Audiogerät, Zwischenablage, Thema: alles in config.yaml, Schlüssel für Schlüssel aus Ihrem Home-Verzeichnis überschrieben.

Whisper setzt die Zeichensetzung selbst

Zeichensetzung und Großschreibung kommen vom Modell. Die Nachbearbeitung beschränkt sich auf das Entfernen von Leerraum und einen erzwungenen Anfangsgroßbuchstaben.

100 % offline

Das Modell wird aus einem lokalen Verzeichnis geladen. Keine Daten verlassen Ihren Rechner.

Alles ist Konfiguration

Push-to-Talk-Taste, Modell, Audiogerät, Zwischenablage – eine lesbare YAML-Datei

config.yaml
hotkeys:
  # Lokaler pynput-Listener (best effort; unter Wayland
  # nur XWayland-Fenster).
  pynput_enabled: true
  # Halten = Aufnahme; Loslassen = Transkription.
  push_to_talk: ["shift_r"]

theme:
  ready_message: "GREEN"
  info: "RESET"
  warning: "YELLOW"
  error: "RED"

Taste und Thema

Die Push-to-Talk-Taste ist überschreibbar, und der lokale Listener wird per Boolean abgeschaltet, wenn Sie lieber über Desktop-Kurzbefehle steuern. Die Farben der Terminalausgabe werden je Nachrichtentyp gesetzt.

  • Konfigurierbare Push-to-Talk-Taste; standardmäßig rechte Umschalttaste
  • Lokaler Listener an oder aus
  • Anpassbare Farbe je Nachrichtentyp
config.yaml
backend:
  name: "faster-whisper"
  beam_size: 5

models:
  default: "base"        # tiny | base | small | medium | large-v3
  dir: ""                # leer => Standard-Speicherorte
  device: "auto"         # cpu | cuda | auto
  compute_type: "auto"   # int8 | float16 | auto

capture:
  max_seconds: 300

Engine und Modelle

Das Standardmodell lässt sich jederzeit wechseln, per Kurzname oder absolutem Pfad, ohne Neukompilierung. device und compute_type bleiben auf auto: int8 auf der CPU, float16 auf CUDA.

  • Modell über config.yaml oder --model gewählt
  • Verwaltetes Modellverzeichnis; der Hugging-Face-Cache ist nur ein Rückfall
  • Schutz über die Aufnahmedauer gegen eine hängende Taste

Installieren

Auf Debian oder Ubuntu: ein Befehl und ein Modell; Fedora, openSUSE und Arch Linux haben eigene Pakete. Der vollständige Leitfaden behandelt auch die Installation aus dem Quellcode, die Modellwahl und Desktop-Kurzbefehle.

Vollständiger Installationsleitfaden →

1

Das Paket installieren

Holen Sie sich die .deb von der Downloadseite, dann:

sudo apt install ./whispskrid_1.0.1_all.deb

Beim ersten Einrichten baut das Paket eine private virtuelle Umgebung und installiert faster-whisper darin (dafür ist Netzwerkzugriff nötig).

2

Ein Modell herunterladen

Holen Sie sich ein Whisper-Modell und prüfen Sie, dass es lädt:

whispskrid --download-model base  # auch: tiny, small, medium, large-v3

Ist kein Modell vorhanden, bietet das Werkzeug den Download beim ersten Start an.

3

Diktieren

Starten Sie eine Sitzung in der gewünschten Sprache und halten Sie dann die Push-to-Talk-Taste:

whispskrid -l de
4

Aus dem Quellcode (zur Entwicklung)

Um am Code zu arbeiten, führen Sie ihn aus einem Git-Klon aus:

git clone https://github.com/RonanDavalan/whispskrid.git
cd whispskrid
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/whispskrid -l de