Skip to content

exclude-barrier/transcribe

Repository files navigation

Local Speaker-Aware Transcription / Lokale Transkription mit Sprecher-Erkennung

Offline German audio transcription with automatic speaker recognition. Powered by WhisperX (Whisper large-v3), pyannote speaker diarization, and Resemblyzer speaker embeddings. Runs fully local on your own GPU — no cloud, no upload. Simple browser UI (Gradio), no coding required.

Keywords: speech-to-text · transcription · speaker diarization · speaker recognition · speaker identification · voice enrollment · whisper · whisperx · pyannote · resemblyzer · offline · local · privacy · german · deutsch · gradio

Features

  • 🎙️ Transcription of audio files via WhisperX (Whisper large-v3), German.
  • 👥 Speaker diarization (who spoke when) via pyannote.
  • 🏷️ Speaker recognition with enrollment — teach it known voices once, it labels them by name across recordings (Resemblyzer embeddings).
  • 🔒 Fully offline — audio never leaves your machine.
  • 🖥️ Simple browser GUI — no command line needed after setup.

Anleitung auf Deutsch / German guide below.


Transkribiert Audioaufnahmen komplett offline auf dem eigenen Rechner (whisperX, Whisper large-v3, Deutsch) und ordnet jedem Sprecher automatisch den richtigen Namen zu (Resemblyzer Stimm-Erkennung). Nichts wird ins Internet hochgeladen – die gesamte Verarbeitung bleibt auf dem eigenen Rechner.

Bedienung über eine einfache Oberfläche im Browser. Kein Programmierwissen nötig.


⚠️ Voraussetzungen

Python und FFmpeg installiert der Installer automatisch per winget (er fragt vorher nach). Falls du es lieber selbst machst:

winget install --id Python.Python.3.11 -e
winget install --id Gyan.FFmpeg -e

Hinweis: Es muss Python 3.11 sein (3.10–3.13 funktionieren). Der neue „Python Install Manager" aus dem Microsoft Store bündelt Python 3.14 – dafür gibt es keine PyTorch-Wheels, das funktioniert hier nicht.

Selbst kümmern musst du dich nur um:

  1. NVIDIA-Grafikkarte mit aktuellem Treiber Ohne NVIDIA-GPU läuft alles auf der CPU – deutlich langsamer und etwas ungenauer (es wird automatisch ein kleineres Whisper-Modell genutzt).

  2. Kostenloser HuggingFace-Account + Modell-Zugang (für die Sprecher-Trennung)


Installation

  1. Dieses Projekt herunterladen (grüner Button „Code" → „Download ZIP") und entpacken, z. B. nach C:\Transkription.
  2. Im entpackten Ordner: Doppelklick auf install.bat.
    • install.bat startet install.ps1 mit -ExecutionPolicy Bypass, damit Windows das Skript nicht blockiert.
    • Alternativ (nicht nötig): Rechtsklick auf install.ps1 → „Mit PowerShell ausführen". Schließt sich das Fenster sofort, ist die ExecutionPolicy schuld – dann install.bat benutzen.
  3. Der Installer prüft die Voraussetzungen, richtet alles ein und fragt nach dem HuggingFace-Token. Das dauert ein paar Minuten (lädt ca. 2,5 GB PyTorch).

Nutzung

Doppelklick auf start.bat.

Der Browser öffnet sich automatisch (http://127.0.0.1:7860). Das schwarze Fenster bitte offen lassen, solange du die App nutzt.

Beim ersten Start werden ca. 3–4 GB Modelle heruntergeladen (einmalig, danach läuft alles offline). Bitte Geduld.

Schritt 1 (optional) – Sprecher anlernen (Tab „Sprecher anlernen")

Pro Person: Namen eingeben und eine oder mehrere Audiodateien hochladen, in denen nur diese Person spricht (20–30 Sekunden saubere Sprache, mehrere Dateien machen die Erkennung zuverlässiger). „Anlernen" klicken. Das macht man pro Person nur einmal – die Profile bleiben gespeichert.

Ohne angelernte Profile funktioniert die Transkription trotzdem – die Sprecher heißen dann generisch „Sprecher 1", „Sprecher 2", …

Schritt 2 – Transkribieren (Tab „Transkribieren")

Aufnahme hochladen, „Transkribieren" klicken. Das Ergebnis erscheint im Textfeld und wird zusätzlich als <Aufnahmename>_transkript.txt neben der Originaldatei gespeichert.

Schwellwert-Regler: Bestimmt, wie sicher die Zuordnung sein muss. Startwert 0,65. Werden zu viele Abschnitte als „Unbekannt" markiert → Regler senken. Werden Sprecher verwechselt → Regler erhöhen.


Datenschutz

  • Alle Verarbeitung passiert lokal auf dem eigenen Rechner.
  • Die einzige Internetverbindung ist der einmalige Modell-Download und die HuggingFace-Token-Prüfung – die Audiodateien selbst verlassen den Rechner nie.
  • Angelernte Stimmprofile und Transkripte sind personenbezogene Daten. Sie werden durch .gitignore vom Hochladen ins Repo ausgeschlossen. Trotzdem sorgsam damit umgehen.

Probleme?

Problem Lösung
Fenster schließt sich sofort beim Rechtsklick auf install.ps1 ExecutionPolicy blockt das Skript. Stattdessen install.bat doppelklicken
cublas64_12.dll not found In PowerShell vor dem Start ausführen: $nv = "$PWD\venv\Lib\site-packages\nvidia"; $env:PATH = ((Get-ChildItem -Path $nv -Recurse -Filter "*.dll" | Select-Object -ExpandProperty DirectoryName -Unique) -join ";") + ";" + $env:PATH — dann start.bat
„Kein HuggingFace-Token" hf_token.txt im Ordner anlegen mit dem Token als Inhalt, oder install.ps1 erneut ausführen
Sehr langsam Läuft vermutlich auf der CPU – NVIDIA-Treiber prüfen
torchcodec/FFmpeg-Warnung beim Start Harmlos, kann ignoriert werden

Technik (für Interessierte)

whisperX (Whisper large-v3) für die Transkription und zeitliche Sprecher-Trennung (pyannote speaker-diarization-community-1), Resemblyzer für das Wiedererkennen angelernter Stimmen per Embedding-Vergleich (Cosine-Similarity). Oberfläche mit Gradio. Läuft in einer isolierten venv-Umgebung, um Konflikte mit anderem Python-Paketen zu vermeiden.

About

Offline German transcription with speaker recognition — WhisperX + pyannote + Resemblyzer, Gradio UI, runs fully local.

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors