first commit

This commit is contained in:
2026-07-09 22:53:18 +02:00
commit 70088f7861
+84
View File
@@ -0,0 +1,84 @@
# Notarius
Lokale Aufnahme, Transkription (mit Sprechererkennung) und KI-gestützte
Zusammenfassung von Gesprächen. Läuft als Tray-Anwendung unter KDE/Plasma.
## Vorausgesetzte System-Abhängigkeiten
- `ffmpeg` / `ffprobe`
- `pactl` (PipeWire/PulseAudio-Kompatibilitätsschicht)
- Eine CUDA-fähige GPU + funktionierende whisperx/torch-CUDA-Umgebung
- Qt-Multimedia-Backend (z.B. `gstreamer1-plugin-libav` für MP3-Wiedergabe)
## Installation
```bash
./install.sh
```
Legt eine virtuelle Umgebung unter `.venv/` an, installiert Notarius darin und
richtet einen Eintrag im Anwendungsmenü ein (`~/.local/share/applications/notarius.desktop`,
Exec zeigt auf `.venv/bin/python`). Danach ist Notarius wie jede andere
Anwendung über das Plasma-Menü startbar. Zum Entfernen: `./uninstall.sh`
(fragt vor dem Löschen der venv nach; Aufnahmen und Konfiguration bleiben
in jedem Fall erhalten).
Manuell statt über das Skript:
```bash
python -m venv .venv
source .venv/bin/activate
pip install -e .
notarius-install-launcher # optional: Menü-Eintrag einrichten
```
`whisperx` bringt schwere GPU-Abhängigkeiten (torch, torchaudio) mit und wird
nur beim tatsächlichen Transkribieren als eigener Subprozess importiert - die
GUI selbst benötigt es nicht zum Starten.
Ein Flatpak-Paket wurde bewusst nicht erstellt: die whisperx/CUDA-Abhängigkeiten
ließen sich nur mit einem sehr großen, host-spezifischen Sandbox-Runtime
abbilden, und System-Audio-Mitschnitt (pactl) sowie Autostart bräuchten ohnehin
erweiterte Portale/Permissions - für ein Einzelplatz-Tool auf einer bekannten
Maschine steht der Aufwand in keinem Verhältnis zum Sandboxing-Nutzen.
## Start
```bash
notarius
# oder:
python -m notarius
```
Nach `./install.sh` reicht auch ein Klick auf den Menü-Eintrag. Es öffnet sich
kein Fenster, sondern ein Icon im System-Tray. Rechts-/Linksklick öffnet das
Menü (Start Rec / Stop Rec, Open, Quit).
## Tastenkurzbefehl für Start Rec / Stop Rec
`notarius-rec` steuert eine Aufnahme unabhängig davon, ob die Notarius-GUI
gerade läuft (Lock-Datei-basiert, analog zu `reference/call-recorder.sh`):
```bash
notarius-rec toggle # oder: start / stop
```
In KDE: Systemeinstellungen -> Kurzbefehle -> Eigene Kurzbefehle -> Neu ->
Befehl/URL. Als Befehl den vollen Pfad zur venv eintragen, z.B.:
```
/home/timbfrank/n3m3t0n/Hobby/programming/notarius/.venv/bin/notarius-rec toggle
```
Läuft die GUI parallel (z.B. über Autostart), erkennt sie den Zustandswechsel
innerhalb von ca. 1 Sekunde und aktualisiert Tray-Icon und Recordings-Liste
automatisch - der Kurzbefehl funktioniert aber auch komplett ohne laufende GUI.
## Konfiguration & Secrets
- Programmkonfiguration: `~/.config/notarius/config.json`
- Log-Datei: `~/.config/notarius/notarius.log`
- Aufnahmen und Begleitdateien: `~/Notarius/`
- Anthropic-API-Key und HuggingFace-Token (für die Diarization-Pipeline)
liegen ausschließlich im System-Keyring (Tab „Settings“), nicht in
Konfigurationsdateien oder im Quellcode.