[Plan] Jervais Echtzeit-Uebersetzung - KM/EN -> DE im Ohr, lokal auf RTX 3080 #103
Labels
No labels
flugscanner
fuenfvoracht
infrastruktur
jarvis
ki-tower
nice-to-have
prio-1
wartung
wordpress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: orbitalo/homelab-brain#103
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Live-Uebersetzung eingehender Sprache (Khmer, Englisch) -> Deutsch im Kopfhoerer. Ich hoere nur die Uebersetzung in meiner Sprache; das System spricht kein Khmer (keine Khmer-TTS noetig). Phase 2: zusaetzlich Text-Einblendung auf der Even-Realities-Brille.
Warum lokal (Kosten-Kontext)
Laufende Cloud-Wartung ist bereits teuer (~250 EUR/Monat im Schnitt, Spitzen bis 800 EUR). Eine dauerlaufende, streaming-intensive Uebersetzung auf gemeterter Cloud-API wuerde das massiv erhoehen. Loesung: lokal auf vorhandener GPU -> Marginalkosten ~0 EUR. Cloud nur als gezielter Fallback (s. u.).
Hardware
Architektur (eine Richtung: zuhoeren)
Eingang-Audio -> STT -> MT -> TTS(DE) -> KopfhoererSprachen / Risiko-Verteilung
Phasen
Phase 0 - Validierung (VOR Aufbau)
Phase 1 - Kopfhoerer-Pipeline (MVP)
Phase 2 - Even Realities Text-Einblendung
Offene Fragen
Erfolgskriterien
Kontext
Plan-Besprechung mit Cline (13.06.2026)
Kontext-Korrektur (vorab)
Hermes läuft NICHT mehr auf dem Mac. Der aktuelle Stand laut CT-151-Doku (13.05.2026):
100.84.255.83:11434)@JervaisBot) war nur temporär und läuft ausDamit ist die 3080 auf demselben KI-Server (100.84.255.83) wirklich frei für die Übersetzungspipeline – CUDA_VISIBLE_DEVICES reicht zum Pinnen.
Phase 0 – Validierung
NLLB-200 KM→DE Quality-Spike
VRAM-Korrektur zum Plan: NLLB-200-3.3B-distilled braucht ~7 GB, nicht 12 GB. Der Plan verwechselte das mit dem full 54B-Modell.
Test-Design:
Zusätzlicher Test (empfohlen): Den EN-Pivot-Pfad (KM→EN→DE) gleich mitmessen. Selbst wenn KM→DE direkt "akzeptabel" ist, könnte der Pivot deutlich besser sein – und die Zusatzlatenz (~200 ms für zweiten MT-Durchlauf) ist der Qualitätsgewinn wahrscheinlich wert.
Khmer-STT-Test
Das Hauptrisiko ist die Segmentierung, nicht die MT-Qualität:
Test-Vorschlag: Echte Khmer-Aufnahmen (Alltagsgespräch, nicht Studio) durch faster-whisper large-v3 jagen, WER (Word Error Rate) messen. Ziel: WER < 20 %.
Phase 1 – VRAM-Realitätscheck
Korrigierte VRAM-Rechnung:
Fazit: Passt auf eine 12-GB-3080, aber nicht auf 10 GB. Sequenzielle Pipeline (STT→MT→TTS nacheinander) senkt die Spitze auf ~8 GB.
Empfehlung: Erstmal mit NLLB-1.3B starten (~2 GB, schnell), dann auf 3.3B upgraden wenn Phase 0 zeigt, dass es nötig ist.
Phase 2 – Even Realities G1
Keine Doku-Infos im gesamten Homelab. Das ist ein separates Risiko – unklar ob das SDK offen genug ist, beliebigen Live-Text einzublenden. Unabhängig von der Audio-Pipeline.
Offene Fragen (geklärt / noch offen)
Nächste Schritte (Vorschlag)
nvidia-smiauf KI-Server, VRAM auslesenKorrektur & Architektur-Update (verifiziert per nvidia-smi / OpenMemory)
Einige Punkte aus der vorigen Analyse waren falsch bzw. ungeprueft. Richtiggestellt:
Hardware (geprueft am KI-Server 100.84.255.83)
nvidia-smi -L-> nur GPU 0: RTX 3090 im KI-Server. Keine 3080 verbaut. Die fruehere Aussage '3080 auf KI-Server frei' war NICHT bestaetigt (CUDA_VISIBLE_DEVICES-Pinning waere bei einer GPU sinnlos gewesen).ENTSCHEIDUNG Hardware-Topologie
Weitere Korrekturen
Aktualisierte offene Fragen
Naechste konkrete Schritte (unveraendert sinnvoll)
Bauplan Uebersetzungs-Rechner (Hardware final spezifiziert)
Hardware (steht fest)
Detail (harmlos): 5600G (Cezanne-APU) bindet den GPU-Slot mit PCIe 3.0 x8 an. Fuer Inferenz irrelevant (Modell wird einmal ins VRAM geladen, danach kaum PCIe-Verkehr).
VRAM-Budget auf 10 GB (alles resident, quantisiert)
Software-Stack
Reihenfolge-Empfehlung
Phase 0 (Khmer-Spike) VOR dem Aufbau - laeuft auf der freien 3090 im KI-Server (23 GB frei, kostet nichts). Erst wenn Khmer->DE lokal brauchbar ist, lohnt der 3080-Aufbau. Englisch->DE ist ohnehin unkritisch.
Verbleibende offene Entscheidung
OS-Entscheidung: Proxmox (statt blankes Ubuntu) + GPU-Sharing via LXC
Neuer Rechner wird Proxmox-Node - damit auch Jellyfin mit drauf laeuft (Konsolidierung, passt zum restlichen Proxmox-Stack).
KRITISCH: GPU-Zugriff = LXC, NICHT VM-Passthrough
Die eine 3080 soll von ZWEI Workloads genutzt werden (Uebersetzung + Jellyfin):
/dev/nvidia*in mehrere unprivilegierte LXCs durchreichen. Uebersetzungs-LXC und Jellyfin-LXC teilen sich dieselbe Karte gleichzeitig.Warum das zusammen funktioniert
Ehrliche Vorbehalte
Setup-Schritte (Host)
/dev/nvidia*durchreichen (cgroup2 devices.allow + mount.entry), matching Userspace-Treiber im Container (ohne Kernel-Modul).Damit ist die Hardware/OS-Planung abgeschlossen. Offen bleibt nur Phase 0 (Khmer-Qualitaet) - die laeuft vorab auf der freien 3090, bevor die Kiste gebaut wird.
Pipeline-Design: Machbarkeit, Latenz, Input (Stand Planung)
Hardware-Fazit
RTX 3080 10GB reicht locker (komplett dediziert, da Jellyfin auf iGPU laeuft). VRAM-Budget:
Die GPU ist NICHT der Engpass. Die echten Schwierigkeiten: Khmer-Qualitaet + Latenz/Audio-Architektur.
Latenz - realistische Erwartung
Zwei Quellen: (1) Netzwerk (Tailscale, abhaengig von geografischer Distanz Feldgeraet<->Server), (2) Haupttreiber: Whisper braucht ~2-4s Audio-Kontext.
Ergebnis: ~3-5s Verzoegerung = 'verzoegerte Untertitel im Ohr', NICHT simultanes Dolmetschen. Physikalisch nicht umgehbar, keine Hardware-Frage.
Richtung
Start mit EINER Richtung: Gegenueber (Khmer/EN) -> Deutsch ins Ohr. Bei passivem Zuhoeren stoert der Lag kaum. Bidirektional (Deutsch->Khmer fuer sie) = Phase 2, wegen Lag zaeh fuer echtes Hin-und-Her.
Input = wichtigster Faktor (garbage in/out)
Loesung: Wireless Clip-Mikro a la DJI Mic / Rode Wireless GO (2,4-GHz-RF, kein WLAN; wenige ms Latenz, top Qualitaet).
Architektur-Kette
Clip-Mikro (am Sprecher) -> Empfaenger -> Handy (USB-C) -> App -> Tailscale -> Server (STT->MT->TTS) -> Deutsch ins Ohr (Einzel-Ohrhoerer, Umgebung bleibt hoerbar).
Realistische Erwartung
Offen
Stoergeraeusch-Strategie (in Schichten, frueh schlaegt spaet)
Grundregel: Was einmal im Signal ist, kriegt Software nur teilweise raus -> verhindern vor unterdruecken. Von wirksamster zu schwaechster Schicht:
1. Physik (groesster Hebel, kostenlos)
2. Hardware-NC im Mikro
DJI Mic 2 / Rode haben eingebaute DSP-Rauschunterdrueckung (Knopfdruck) -> gleichmaessiger Laerm (Verkehr, AC, Gewirr) reduziert, bevor das Signal den Server erreicht.
3. Software vor dem STT (auf dem Server)
4. Mehrere Stimmen gleichzeitig (harter Fall)
Denoise hilft kaum -> Target-Speaker-Extraction (SepFormer/SpeechBrain), Zielstimme isolieren. Rechenintensiv, aber 3080 dediziert vorhanden. Phase 2.
5. Echo/Rueckkopplung
Deutsches Output im Ohr darf nicht ins Mikro zurueck. Bei Clip-Mikro AM SPRECHER kaum ein Thema (weit vom Ohr) - Pluspunkt. Sonst geschlossener In-Ear + AEC.
Ehrliche Grenze
Laerm ist nicht restlos loesbar. Lauter Markt + mehrere Khmer-Sprecher + Distanz = Fehler bleiben. Ziel: 'gut genug bei moderatem Laerm mit Nahbesprechung', nicht 'perfekt im Chaos'. Zuverlaessigster Trick: naeher ran, Mikro Richtung Sprecher, ruhigere Ecke.
Empfohlener Stack
DJI Mic 2 (Hardware-NC) nah am Sprecher -> Silero VAD -> DeepFilterNet -> faster-whisper. Target-Speaker-Extraction als Phase-2-Option.
Festlegung: bewaehrte Technik, keine Experimente
Entscheidung: Kein Forschungsprojekt. Die Technik ist bekannt und erprobt, das Ergebnis haengt primaer vom Input ab - ein guter Filter ist damit machbar.
Damit ist die Input-/Filter-Frage abgeschlossen.
Feldgeraet-Konzept (Mikros, App, Ohrhoerer, Brille)
2 Mikros - der saubere Weg
DJI Mic 2 Dual-Kit = 2 Sender + 1 Empfaenger. Empfaenger per USB-C ins Handy, liefert beide Mikros als Stereo (A=links, B=rechts). App trennt die Kanaele:
Was noch fehlt
Brille = Ausbauphase (stark)
AR-/Smart-Brille blendet Uebersetzung als Text ins Sichtfeld. Lesen umgeht das Lag-Gefuehl (eigenes Tempo statt verzoegertes Audio). Untertitel-Brillen existieren (XREAL etc.), Technik reift noch. Phase 3.
Phasenplan (nicht alles auf einmal)
Jede Phase ist fuer sich nuetzlich.
Korrektur Mikro-Anbindung (Bluetooth-Diskussion war falsch)
Klarstellung: Die drahtlose Kopplung laeuft ueber 2,4-GHz-RF zwischen Sendern und Empfaenger - NICHT Bluetooth. Bluetooth-Direktmodus nutzt in der Praxis niemand (Latenz/Qualitaet).
Standard-Setup:
Die fruehere Erwaehnung von Bluetooth-Direktkopplung / BT-Trade-offs ist hinfaellig.
Lade-Loesung: MagSafe statt Hub (iPhone)
Feldgeraet ist ein iPhone. Da der USB-C-Port durch den Mikro-Empfaenger-Dongle belegt ist, wird drahtlos per MagSafe/Qi geladen - kein Hub noetig.
Damit ist die frueher erwaehnte Hub-Option vom Tisch.
Nordstern: Hermes/KI als Gespraechs-Co-Pilot (Phase 4)
Vision ueber die reine Uebersetzung hinaus: Hermes mischt mit, gibt live Tipps/Kontext, KI spielt mit. Architektur-Trick, damit das den MVP NICHT bremst:
Zwei getrennte Spuren auf gemeinsamem Transkript
Architektur-Hinweis fuer JETZT (spart spaeter Umbau)
Pipeline von Tag 1 so bauen, dass der STT-Strom abgegriffen werden kann (Fan-out) - auch wenn Hermes erst Phase 4 dazukommt.
Brille als Display (passt perfekt)
Ohr = Uebersetzung (Audio), Brille = Hermes-Tipps (Text). Zwei Kanaele, kein Gerangel. Aus Uebersetzer wird Gespraechs-Co-Pilot (z.B. 'hoefliche Absage', 'ueblicher Preis X', 'er erwaehnte vorhin Y').
Geerdet
Phase 3-4, Nordstern - nicht der Start. Erst MVP. Hermes existiert bereits im Homelab -> spaeter Integration, nicht Neubau (LLM evtl. auf der 3080, oder Hermes liest Transkript uebers Netz).
Phasen aktualisiert
Phase-0-Ergebnis + Richtungsentscheidung (16.06.2026, verifiziert auf CT201/pve-jervais)
Aufbau des Spikes
Neuer LXC CT201
jervais-translateauf pve-jervais, RTX-3080-Sharing funktioniert (Treiber 580.126.09 Host+Container, fp16-Modelle real auf der GPU, GPU-Util 96-97 %). Damit ist Phase E (NVIDIA-LXC-Sharing) praktisch bewiesen. Testdaten: FLEURS km_kh / de_de.Befund 1 - Khmer-STT ist der Showstopper (robust)
faster-whisper large-v3 auf sauberem FLEURS-Studio-Khmer: avg CER = 0.95 (95 % Zeichenfehler), reproduziert ueber 3 Laeufe. Reale Gespraeche (Laerm/Distanz) waeren schlechter. Whisper kann Khmer nicht - kein Tuning-/Hardware-Problem. RTranslator etc. nutzen sogar kleineres Whisper -> helfen nicht.
Befund 2 - MT-Zahl war ungueltig (Mess-Bug, nicht Modellurteil)
Erste NLLB-Khmer->DE-Messung ergab chrF=14.4 - das war ein Alignment-Bug (FLEURS km/de per Position statt ueber FLORES-
idgepaart -> Uebersetzung gegen den falschen deutschen Satz gemessen). Per id-Join gefixt, aber bewusst NICHT zu Ende validiert, weil die Richtungsentscheidung (unten) das Khmer-Thema obsolet macht.ENTSCHEIDUNG (User, 16.06.2026): Khmer-lokal verworfen, Zielpfad = EN->DE
Naechster Schritt
KI-Modelle sind geloest; der eigentliche Restaufwand ist der Klebstoff (siehe Kommentar 297): Server-Streaming-Pipeline auf CT201 + Handy-App. Statt selbst bauen werden PolyTalkIO/polytalk bzw. SunnyYadav16/audio-streaming-poc (exakt der Stack: faster-whisper + NLLB + Piper, self-hosted, WebSocket) als Basis evaluiert.
Wert des Spikes
Phase 0 hat ihren Zweck erfuellt: an einem Nachmittag + ~0 Cloud-Kosten geklaert, dass die Khmer-Vollausbau-Pipeline NICHT gebaut werden sollte - bevor Infrastruktur verbrannt wurde. Negatives, aber korrektes Validierungsergebnis.
Aufgabenstellung fuer SPAETER (Phase 4 praezisiert, 16.06.2026): Hermes als Intelligenzverstaerker
Nicht jetzt bauen - aber als Ziel festhalten, damit die Pipeline von Anfang an dafuer vorbereitet wird.
Idee: Hermes klinkt sich als stiller Zuhoerer ins laufende Gespraech ein und blendet Tipps/Kontext im Display (Brille, Phase 3) ein - als Intelligenzverstaerker / Gespraechs-Co-Pilot, nicht als Uebersetzer.
Konkret:
Architektur-Konsequenz fuer JETZT (damit Phase 4 spaeter ohne Umbau andockt):
Die EN->DE-Pipeline (Phase 1) von Tag 1 so bauen, dass der STT-Output abgegriffen werden kann (Fan-out / Event-Stream) - auch wenn Hermes erst viel spaeter dazukommt.
Voraussetzungen: Phase 1 (EN->DE-MVP ins Ohr) + Phase 3 (Display/Brille). Hermes existiert bereits (CT151, pve-mu-3) -> spaeter Integration ueber den Transkript-Stream, kein Neubau.
Aufgabenstellung fuer SPAETER (Phase 4 praezisiert, 16.06.2026): Hermes als Intelligenzverstaerker
Nicht jetzt bauen - aber als Ziel festhalten, damit die Pipeline von Anfang an dafuer vorbereitet wird.
Idee: Hermes klinkt sich als stiller Zuhoerer ins laufende Gespraech ein und blendet Tipps/Kontext im Display (Brille, Phase 3) ein - als Intelligenzverstaerker / Gespraechs-Co-Pilot, nicht als Uebersetzer.
Konkret:
Architektur-Konsequenz fuer JETZT (damit Phase 4 spaeter ohne Umbau andockt):
Die EN->DE-Pipeline (Phase 1) von Tag 1 so bauen, dass der STT-Output abgegriffen werden kann (Fan-out / Event-Stream) - auch wenn Hermes erst viel spaeter dazukommt.
Voraussetzungen: Phase 1 (EN->DE-MVP ins Ohr) + Phase 3 (Display/Brille). Hermes existiert bereits (CT151, pve-mu-3) -> spaeter Integration ueber den Transkript-Stream, kein Neubau.
ABSCHLUSS Khmer-lokal + Recherche-Fazit (16.06.2026, Tiefenrecherche Hermes/deepseek-v4-pro)
Diesmal mit Desk-Research + Benchmark-Zahlen + Konfidenzangaben (die Lehre aus dem letzten Fehler). Khmer-lokal ist endgueltig begraben.
Bestaetigt
Supervisor-Korrekturen an der Recherche (wichtig)
ENTSCHEIDUNG
Quellen (Hermes): MMS arxiv 2305.13516, SeamlessM4T v2 (Meta), NLLB-200 arxiv 2207.04672/FLORES-200, faster-whisper + WhisperLive (Repos), Google STT Pricing.
Richtungswechsel + Parken (16.06.2026): Brille ist das tragende Feature, nicht die Uebersetzung
User-Entscheidung
Der Kern des Projekts ist die Text-Einblendung in der Brille (Live-Untertitel + Hermes-Tipps als Intelligenzverstaerker). Die Uebersetzungsfunktion ist zweitrangig und nur eine Textquelle fuers Display. Klartext des Users: "die ganze sache faellt wenn die brille nicht teil des planes ist". Damit ist der bisherige Audio-zentrische Plan (PolyTalk/CT201 als Kern) degradiert; die lokale EN->DE-Pipeline wird optional.
Recherche-Ergebnis: Brillen-Display ist machbar (verifiziert)
Das "Betriebssystem"-Repo = MentraOS (
Mentra-Community/MentraOS, MIT-Lizenz):AppServer/onSession). Eigene App (Hermes-Tipps-Layer) laeuft auf eigenem Server -> 100 % kontrollierbar.Self-Hosting-Lage:
Direkter BLE-Weg (ohne Mentra, Purist): G1 laesst sich direkt ueber BLE mit beliebigem Text bespielen - offizielles Protokoll (
even-realities/EvenDemoApp, Cmd0x4E), Community-Libs (emingenc/even_glassespip,Feras797/matrix-ar,Cheddies1/even-g1-companionmit0x52Live-Streaming-Text). Tooling-Reife v.a. auf G1.G1 vs G2 (fuer Text-HUD)
Fuer einen text-lastigen Use-Case zaehlt Display-Flaeche/Schaerfe -> G2 klar besser: 75 % groesseres + schaerferes Display, bis 1200 nits, ~48 h Akku (G1: ~24 h), 36 g, Magnetometer/IP54. Preis 599 $/£ (Glasses-only). G1 nur bei hartem Budget.
Warum geparkt
Das Brillen-Erlebnis ("ist es der Hit?") laesst sich nicht ohne echte Hardware validieren - reine Software-Validierung unmoeglich. Gate = Hardware-Investition (~599 EUR) in ein offenes Experiment. User hat entschieden: erstmal parken, spaeter entscheiden.
Naechster Schritt, wenn reaktiviert
Stand Infrastruktur (bleibt bestehen)
CT201 (jervais-translate, RTX-3080-Passthrough) laeuft - EN->DE lokal validiert, Khmer-lokal verworfen (s.o.). Nichts wird abgebaut, nur pausiert.