Zum Hauptinhalt springen 🏠
Voice View - Telefongespräche in Echtzeit mitlesen

Technische Details

Für Entwickler und technisch interessierte Nutzer: Hier erfahren Sie, wie Voice View unter der Haube funktioniert.


Architektur & Audio-Pipeline

Voice View verarbeitet Audiodaten in Echtzeit durch eine mehrstufige Pipeline:

  1. VoIP-Empfang: Fritz!Box leitet eingehende Anrufe über SIP-Protokoll an microSIP weiter
  2. Audio-Routing: microSIP gibt Audio über VB-Audio Virtual Cable aus (virtuelles Kernel-Level Audio-Device)
  3. Dual-Stream-Capture: Voice View erfasst parallel zwei Audio-Streams:
    • CABLE Output (VoIP-Anrufer)
    • Standard-Mikrofon (Ihre Stimme)
  4. Voice Activity Detection (VAD): Erkennt Sprechpausen und segmentiert Audio in sinnvolle Chunks
  5. Whisper-Inference: OpenAI Whisper transkribiert die Audio-Chunks in Echtzeit
  6. GUI-Display: Transkribierter Text erscheint sofort im Chat-ähnlichen Fenster
Warum Virtual Cable? VB-Audio Virtual Cable arbeitet auf Kernel-Ebene und ermöglicht verlustfreies Audio-Routing ohne Qualitätsverlust. Alternative Software-Lösungen (z.B. DirectShow) haben oft höhere Latenz.

Whisper-Integration & KI-Modelle

Voice View nutzt OpenAI Whisper, ein hochmodernes Speech-to-Text-Modell. Sie können zwischen verschiedenen Modellgrößen wählen:

Modell Größe Latenz (CPU) Genauigkeit
tiny ~75 MB 1-2 Sekunden Gut (schnell)
base ~145 MB 2-3 Sekunden Sehr gut
small ~485 MB 3-4 Sekunden Ausgezeichnet
medium ~1.5 GB 5-7 Sekunden Sehr genau
large ~3 GB 8-12 Sekunden Maximal genau

Empfehlung: Für Echtzeit-Telefonie eignen sich base oder small am besten. Die Modelle werden beim ersten Start automatisch heruntergeladen und lokal gecacht.

GPU-Unterstützung: Voice View kann CUDA-fähige NVIDIA-GPUs nutzen, falls verfügbar. Die Inferenz-Zeit reduziert sich dadurch um den Faktor 3-5x. Für CPU-only-Systeme sind die kleineren Modelle empfohlen.

Unterstützte Sprachen

Voice View unterstützt aktuell 13 Sprachen:

  • Deutsch
  • Englisch
  • Türkisch
  • Polnisch
  • Russisch
  • Italienisch
  • Französisch
  • Spanisch
  • Arabisch
  • Rumänisch
  • Niederländisch
  • Griechisch
  • Portugiesisch

Die Sprache wird automatisch erkannt. Dank OpenAI Whisper funktioniert die Erkennung auch bei gemischten Gesprächen (z.B. Deutsch mit englischen Fachbegriffen).


Echtzeit-Verarbeitung & Latenz-Optimierung

Voice View ist auf minimale Latenz optimiert:

  • Voice Activity Detection (VAD): Erkennt Sprechpausen automatisch und startet die Transkription sofort nach Ende eines Satzes
  • Chunk-Size: Audio wird in 2-5 Sekunden-Chunks verarbeitet (abhängig von Sprechpausen)
  • Threading-Model: Drei parallele Threads:
    • Audio-Capture-Thread: Erfasst kontinuierlich Audio von beiden Quellen
    • Inference-Thread: Führt Whisper-Inferenz asynchron aus
    • GUI-Thread: Zeigt Transkriptionen ohne Blockierung an
  • Puffer-Management: Ringpuffer vermeiden Audio-Dropouts bei CPU-Spitzen

Technische Herausforderungen & Lösungen

Speaker Diarization (Sprecher-Unterscheidung)

Voice View unterscheidet automatisch zwischen Anrufer und Ihnen durch Analyse der Audio-Quellen: Audio von CABLE Output = Anrufer, Audio von Mikrofon = Sie.

Echo-Cancellation-Problem

Wichtig: Wenn Ihr Mikrofon zu nah an den Lautsprechern steht, kann Voice View die Stimme des Anrufers über Ihr Mikrofon aufnehmen und fälschlicherweise als Ihre Stimme transkribieren. Lösung: Kopfhörer verwenden oder ausreichend Abstand zwischen Mikrofon und Lautsprechern.

Netzwerk-Jitter bei VoIP

VoIP-Verbindungen haben oft variable Latenz (Jitter). microSIP verwendet einen Jitter-Buffer, um Audio zu glätten. Voice View arbeitet downstream und profitiert davon.


Build & Packaging

Voice View wird mit PyInstaller zu einer standalone Windows-Anwendung gepackt:

  • Python 3.11 embedded
  • PyTorch (CPU oder CUDA-Version, je nach Ziel-System)
  • Whisper + alle Abhängigkeiten
  • pyaudio für Audio-Capture
  • tkinter für die GUI (Python Standard-Library)

Der Installer wird mit Inno Setup erstellt und prüft automatisch:

  • Ob VB-Audio Virtual Cable installiert ist
  • Ob ausreichend Festplattenspeicher vorhanden ist
  • Ob Windows 10/11 läuft

System-Integration

  • System Tray: Voice View läuft im Hintergrund als System-Tray-Anwendung (win32gui API)
  • Auto-Start: Optional beim Setup: Registry-Eintrag in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • Konfiguration: Einstellungen werden in %APPDATA%\VoiceView\config.json gespeichert
  • Gespeicherte Transkriptionen: Optional in %APPDATA%\VoiceView\transcripts\ (nur wenn Nutzer das aktiviert)

Verwendete Open Source Komponenten

Voice View basiert auf bewährten Open Source Technologien:

  • Python 3.11 - PSF License
  • OpenAI Whisper - MIT License
  • PyTorch - BSD License
  • pyaudio - MIT License
  • tkinter - Python Standard Library