(Geheimes) Meeting gehabt?
Sodele, Meeting ist rum: Wer schreibt das Protokoll?
Du kommst aus einem wichtigen Meeting, einer Videokonferenz oder einem Workshop. Eine Stunde intensive Diskussion, viele gute Ideen, wichtige Entscheidungen. Und jetzt sollte jemand das Ganze zusammenfassen.
Du hast eine Videoaufnahmeeine Audioaufnahme auf Deinem Rechner. Vielleicht von Zoom, Teams oder einer anderen Software. Der Inhalt ist da, aber als VideoAudiodatei, nicht als Text.
Manuell abtippen? Bei einer Stunde Aufnahme sitzt Du locker drei bis vier Stunden an der Tastatur. Das ist nicht nur zeitaufwändig, sondern auch unglaublich ermüdend.
Es geht auch einfacher
Es gibt Programme, die gesprochene Sprache in Text umwandeln können. Das Besondere an der Lösung, die ich Dir hier zeige: Sie läuft komplett auf Deinem eigenen Rechner. Keine Cloud, keine monatlichen Kosten, keine Sorgen um Datenschutz.
Das Programm heißt Whisper und ist kostenlos, quelloffen und funktioniert offline. Du lädst es einmal herunter, und danach kannst Du beliebig viele VideosAudioaufnahmen transkribieren.
Das Ergebnis ist eine Textdatei mit dem kompletten Inhalt Deiner Aufnahme. Inklusive Zeitmarken, sodass Du jede Stelle im Videoin der Aufnahme wiederfinden kannst.
Was Du am Ende bekommst
Nach der Verarbeitung hast Du eine strukturierte Datei im JSON-Format. Das klingt technisch, ist aber einfach eine Textdatei, die so aufgebaut ist, dass Computer sie gut lesen können. Darin findest Du:
- Den vollständigen Text als durchsuchbares Dokument
- Jeden Satz mit genauer Zeitangabe, wann er beginnt und endet
- Ein Format, das Du leicht weiterverarbeiten kannst
So sieht das Ergebnis aus:
{
"text": "Der vollständige transkribierte Text...",
"segments": [
{
"start": 0.0,
"end": 4.5,
"text": "Willkommen zum heutigen Seminar."
},
{
"start": 4.5,
"end": 9.2,
"text": "Heute sprechen wir über künstliche Intelligenz."
}
]
}
Die Zeitangaben sind in Sekunden. Wenn da 127.5 steht, bedeutet das: 2 Minuten und 7,5 Sekunden nach Beginn der Aufnahme.
Was Du brauchst
Die Anforderungen sind überschaubar:
- Einen Computer mit Linux, MacOS (Windows geht auch) oder einen GPU-Server (für Unternehmensanwendungen am sinnvollsten)
- Python in Version 3.10 oder neuer
- Eine VideodateiAudiodatei, die Du transkribieren möchtest
Optional, aber sehr empfehlenswert:
- Eine NVIDIA-Grafikkarte: Damit wird die Verarbeitung etwa zehnmal schneller. Statt 30 Minuten für eine Stunde Audio brauchst Du nur noch 3 Minuten.
Falls Du keine Grafikkarte hast: Kein Problem. Es dauert dann einfach länger, aber das Ergebnis ist genauso gut.
So funktioniert die Umwandlung
Bevor ich in die Praxis einsteige, erkläre ich Dir kurz, was im Hintergrund passiert. Das hilft Dir zu verstehen, warum bestimmte Schritte nötig sind und was Du tun kannst, wenn mal etwas nicht klappt.
Die Umwandlung von VideoAudio zu Text läuft in zwei Schritteneinem Schritt ab:
Deine Datei (video.mp4)
│
▼
┌─────────────┐
│ ffmpeg │ Schritt 1: Audio extrahieren
└─────────────┘
│
▼
audio.wav (16 kHz, Mono)
│
▼
┌─────────────┐
│ Whisper │ Schritt 2: Sprache erkennen
└─────────────┘
│
▼
ausgabe.json (Text + Zeitmarken)
Deine Datei (aufnahme.mp3)
│
▼
┌─────────────┐
│ Whisper │ Sprache erkennen
└─────────────┘
│
▼
ausgabe.json (Text + Zeitmarken)
Schritt 1: Die Tonspur aus dem Video holen
Ein Video besteht aus zwei Teilen: dem Bild und dem Ton. Für die Texterkennung interessiert uns nur der Ton, das Bild können wir ignorieren.
Das Werkzeug dafür heißt ffmpeg. Es ist ein Schweizer Taschenmesser für alles, was mit Video und Audio zu tun hat. ffmpeg kann praktisch jedes Format lesen und umwandeln.
Ich sage ffmpeg: Nimm das Video, wirf das Bild weg, und speichere nur den Ton. Dabei wandeln wir das Audio gleich in ein Format um, das Whisper besonders gut verarbeiten kann:
- 16.000 Hz Abtastrate: Whisper wurde mit dieser Frequenz trainiert und arbeitet damit am besten
- Mono statt Stereo: Für Sprache reicht ein Kanal völlig aus
- WAV-Format: Unkomprimiert, damit keine Qualität verloren geht
Der Befehl dafür sieht so aus:
ffmpeg -i video.mp4 -vn -ar 16000 -ac 1 audio.wav
Was bedeuten diese Buchstaben und Zahlen?
-i video.mp4ist die Eingabedatei (Dein Video)-vnsteht für "video no", also das Bild weglassen-ar 16000steht für "audio rate", also Abtastrate auf 16.000 Hz setzen-ac 1steht für "audio channels", also nur ein Kanal (Mono)audio.wavist die Ausgabedatei
Das dauert je nach Videolänge ein paar Sekunden bis wenige Minuten. Danach hast Du eine WAV-Datei mit dem Ton.
Schritt 2: Sprache in Text umwandeln
Whisper ist ein sogenanntes neuronales Netz, eine Software, die Muster erkennen kann. Es wurde mit 680.000 Stunden Audiomaterial in 97 Sprachen trainiert. Das Modell hat dabei gelernt, wie gesprochene Sprache klingt und wie sie geschrieben wird.
Wenn Du Whisper eine AudiodateiAufnahme gibst, macht es mehrere Dinge gleichzeitig:
- Es erkennt die einzelnen Wörter
- Es versteht den Zusammenhang und korrigiert Hörfehler
- Es setzt Satzzeichen und Absätze
- Es merkt sich, wann jeder Satz beginnt und endet
Am Ende bekommst Du eine strukturierte Datei mit dem vollständigen Text und Zeitmarken für jeden Abschnitt.
Warum dieser Umweg über ffmpeg?
Whisper kann keine Videodateien direkt verarbeiten, es versteht nur Audio. Deshalb der Zwischenschritt mit ffmpeg.
Außerdem spart die Umwandlung in 16 kHz Mono Rechenzeit. Ein Stereo-Audio mit 48 kHz enthält sechsmal so viele Daten, bringt aber keine bessere Texterkennung. Sprache braucht keine hohen Frequenzen und keinen Raumklang.
Wie Whisper funktioniert
Bevor Du Whisper einsetzt, hilft es zu verstehen, was dieses Programm eigentlich macht. Keine Sorge, Du musst kein Informatiker sein. Ich erkläre es so, dass Du die wichtigsten Zusammenhänge verstehst.
Whisper ist ein quelloffenes Spracherkennungsprogramm, das im September 2022 veröffentlicht wurde und seitdem kostenlos verfügbar ist. Das Besondere: Es läuft komplett auf Deinem eigenen Rechner, ohne Internetverbindung.
Was passiert, wenn Whisper zuhört?
Stell Dir vor, Du hörst jemandem zu und schreibst mit. Dein Gehirn macht dabei erstaunlich viele Dinge gleichzeitig: Es erkennt einzelne Laute, setzt sie zu Wörtern zusammen, versteht den Zusammenhang, korrigiert Verhörer aus dem Kontext und setzt Satzzeichen.
Whisper macht im Prinzip dasselbe, nur mit Mathematik statt Neuronen. Der Prozess läuft in drei Schritten:
Schritt 1: Audio wird zum Bild
Whisper wandelt die Tonspur in ein sogenanntes Spektrogramm um. Das ist eine Art Wärmebild des Klangs: Die X-Achse zeigt die Zeit, die Y-Achse die Tonhöhe, und die Helligkeit zeigt die Lautstärke. Aus dem hörbaren Signal wird ein sichtbares Muster.
Schritt 2: Muster werden erkannt
Ein speziell trainiertes Netzwerk, der sogenannte Encoder, analysiert dieses Bild. Es hat während des Trainings gelernt, welche Muster zu welchen Lauten gehören. Aber es erkennt nicht nur einzelne Laute, sondern versteht auch den Zusammenhang. Deshalb kann es unterscheiden, ob jemand "Rat" oder "Rad" sagt: Aus dem Kontext wird klar, was gemeint ist.
Schritt 3: Text wird geschrieben
Der Decoder, der zweite Teil des Netzwerks, schreibt nun Wort für Wort den Text. Dabei berücksichtigt er, was er schon geschrieben hat. Wenn der bisherige Satz "Morgen treffen wir uns um" lautet, ist "zehn Uhr" wahrscheinlicher als "Zähne Uhr".
Die verschiedenen Modellgrößen
Whisper gibt es in verschiedenen Größen, von winzig bis riesig. Die Größe bestimmt, wie viele "Neuronen" das Modell hat und damit, wie gut es arbeitet. Größere Modelle verstehen mehr Nuancen und machen weniger Fehler, brauchen aber auch mehr Rechenleistung.
| Modell | Parameter | Speicherbedarf | Wann sinnvoll |
|---|---|---|---|
| tiny | 39 Millionen | ca. 1 GB | Zum schnellen Testen, ob alles funktioniert |
| base | 74 Millionen | ca. 1 GB | Einfache Aufnahmen mit klarer Sprache |
| small | 244 Millionen | ca. 2 GB | Schnelle Ergebnisse, wenn Qualität zweitrangig |
| medium | 769 Millionen | ca. 5 GB | Die beste Wahl für deutschsprachige Meetings |
| large | 1,5 Milliarden | ca. 10 GB | Wenn es wirklich genau sein muss |
Mein Benchmark hat gezeigt: Das medium-Modell mit initial_prompt liefert die besten Ergebnisse für deutschsprachige Aufnahmen. Es schlägt sogar das große large-Modell, wenn man ihm vorher die relevanten Fachbegriffe mitgibt.
Grafikkarte oder nicht?
Whisper kann sowohl auf der Grafikkarte (GPU) als auch auf dem Prozessor (CPU) laufen. Der Unterschied ist dramatisch:
| Hardware | Zeit für 1 Stunde Audio (Modell: medium) |
|---|---|
| Nur CPU (moderner Intel i7) | etwa 45 Minuten |
| NVIDIA RTX 3060 | etwa 5 Minuten |
| NVIDIA RTX 4000 (Server) | etwa 3 Minuten |
Whisper erkennt automatisch, ob eine kompatible NVIDIA-Grafikkarte vorhanden ist, und nutzt sie. Du musst nichts extra konfigurieren.
Falls Du keine Grafikkarte hast: Das ist kein Problem. Die Verarbeitung dauert länger, aber das Ergebnis ist identisch. Starte die Transkription einfach und mach in der Zwischenzeit etwas anderes.
Wenn etwas nicht stimmt
Viele Fehler im Text?
Meistens liegt es an der Audioqualität. Wenn Du selbst Mühe hast, alles zu verstehen, hat Whisper es auch schwer. Und noch wichtiger: Nutze den initial_prompt mit den relevanten Fachbegriffen.
Fachbegriffe werden falsch geschrieben?
Whisper kennt nicht jedes Spezialvokabular. Medizinische Fachbegriffe, Produktnamen oder Abkürzungen werden oft falsch geraten. Hier hilft der initial_prompt, den ich im nächsten Abschnitt erkläre.
Das Modell erfindet Text?
Bei langen Pausen oder Hintergrundmusik kann Whisper manchmal Text "halluzinieren": Es erfindet Sätze, die nie gesagt wurden. Das passiert vor allem bei den kleineren Modellen. Lösung: Schneide solche Passagen vorher aus dem Audio heraus, oder verwende das medium-Modell mit initial_prompt.
Faster-Whisper: Schneller, sparsamer, besser
Das Original-Whisper funktioniert gut, aber es gibt eine bessere Alternative. Faster-Whisper ist eine optimierte Neuimplementierung des Modells, die auf einer Bibliothek namens CTranslate2 basiert. Das Ergebnis ist beeindruckend: Du bekommst die gleiche Qualität bei deutlich geringerem Ressourcenverbrauch.
Was macht Faster-Whisper anders?
Faster-Whisper nutzt eine Technik namens int8-Quantisierung. Das klingt technisch, hat aber einen einfachen Hintergrund: Statt mit sehr genauen 32-Bit-Zahlen zu rechnen, verwendet das Modell kompaktere 8-Bit-Zahlen. Das ist wie der Unterschied zwischen einem hochauflösenden Foto und einem optimierten Bild: Die wesentliche Information bleibt erhalten, aber die Dateigröße schrumpft erheblich.
Die praktischen Auswirkungen dieser Optimierung:
- Deutlich weniger Speicherbedarf: Ein Modell, das vorher 10 GB Arbeitsspeicher brauchte, läuft jetzt mit etwa 2,5 GB. Das bedeutet, dass auch Laptops mit 8 GB RAM die größeren Modelle ausführen können.
- Zwei- bis viermal schneller: Die gleiche Transkription ist in einem Bruchteil der Zeit fertig. Bei meinem 15-minütigen TEDx-Talk bedeutete das: 90 statt 168 Sekunden für das large-Modell.
- Identische Qualität: Die Genauigkeit der Transkription bleibt praktisch gleich. In meinen Tests konnte ich keinen messbaren Unterschied in der Textqualität feststellen.
Vergleich am Beispiel meines TEDx-Talks
Um die Unterschiede greifbar zu machen, habe ich beide Varianten mit demselben Video getestet, meinem 15-minütigen TEDx-Talk auf Deutsch:
| Variante | Modell | Verarbeitungszeit | Speicherbedarf |
|---|---|---|---|
| Original Whisper | large | 168 Sekunden | ca. 10 GB |
| Faster-Whisper | large-v3 | 90 Sekunden | ca. 3 GB |
| Faster-Whisper | large-v3-turbo | 38 Sekunden | ca. 3 GB |
Das large-v3-turbo-Modell von Faster-Whisper ist also mehr als viermal so schnell wie das Original, bei einem Drittel des Speicherbedarfs. Das macht einen erheblichen Unterschied, besonders wenn Du viele Aufnahmen verarbeiten möchtest.
Installation
Faster-Whisper installierst Du mit einem einzigen Befehl über den Python-Paketmanager pip:
pip install faster-whisper
Danach kannst Du es genauso verwenden wie das Original-Whisper, nur mit den genannten Vorteilen bei Geschwindigkeit und Speicherverbrauch.
Der Kontext-Trick: initial_prompt
Das Geheimnis für deutlich bessere Transkriptionen liegt in einem Parameter, den die meisten übersehen: initial_prompt. Damit gibst Du Whisper Kontext, also Hintergrundinformationen über den Inhalt Deiner Aufnahme. Die Qualität springt dadurch von "kaum brauchbar" auf "professionell".
Das Problem ohne Kontext
Whisper kennt weder Dein Unternehmen noch Deine Fachbegriffe. Wenn jemand im Meeting "karlsCORE" sagt, hört Whisper vielleicht "Carls Core" oder "Karl Score". Bei "KI-Gemeinschaft" wird es zu "KI Gemeinschaft" oder "Kiegemeinschaft". Das Modell rät einfach, weil es diese Wörter nicht kennt.
In meinem Benchmark mit meinem TEDx-Talk habe ich gemessen, wie stark sich der initial_prompt auf die Qualität auswirkt:
| Modell | Ohne initial_prompt | Mit initial_prompt |
|---|---|---|
| base | 3,0 / 10 | nicht getestet |
| medium | 6,7 / 10 | 8,7 / 10 |
| large | 4,3 / 10 | 7,7 / 10 |
Das Ergebnis hat mich überrascht: Das medium-Modell mit initial_prompt schlägt das große large-Modell ohne Kontext und braucht dabei nur die Hälfte der Rechenzeit. Der Kontext ist wichtiger als die Modellgröße.
Was gehört in den initial_prompt?
Im Prinzip alles, was Whisper helfen könnte, unbekannte Begriffe richtig zu erkennen. Ich empfehle, vor der Transkription kurz zu überlegen, welche speziellen Wörter in der Aufnahme vorkommen:
- Firmennamen: karlsCORE, Domicilium, Microsoft
- Produktnamen: Claude, Whisper, karlsGPT
- Personennamen: Karl Kratz, die Namen der Teilnehmer
- Fachbegriffe: Transkription, Protokollierung, Kybernetik, Rückkopplung
- Abkürzungen: KI, LLM, API, CRM, MVP
So verwendest Du initial_prompt
from faster_whisper import WhisperModel
model = WhisperModel("medium", device="cuda", compute_type="float16")
initial_prompt = """
Dieses Meeting behandelt karlsCORE und die KI-Gemeinschaft.
Teilnehmer: Karl Kratz, Anna Schmidt.
Themen: Claude, Whisper, Transkription.
"""
segments, info = model.transcribe(
"meeting.mp4",
language="de",
initial_prompt=initial_prompt
)
for segment in segments:
print(segment.text)
Der Prompt muss nicht perfekt formuliert sein, es ist keine Anweisung an Whisper, sondern eher eine "Vokabelliste". Du kannst einfach alle relevanten Begriffe aufschreiben, die in der Aufnahme vorkommen könnten. Whisper nutzt diese Information, um bei mehrdeutigen Klängen die richtige Schreibweise zu wählen.
Benchmark: Welches Modell für welche Qualität?
Theorie ist gut, Zahlen sind besser. Ich habe alle Whisper-Modelle mit meinem TEDx-Talk getestet, einem 15-minütigen deutschsprachigen Vortrag mit normaler Audioqualität. So konnte ich unter realistischen Bedingungen messen, wie sich die verschiedenen Modelle schlagen.
Testaufbau
- Testvideo: Mein TEDx-Talk, 15:23 Minuten
- Hardware: Hetzner GEX 44 Server mit NVIDIA RTX 4000 (20 GB VRAM)
- Bewertung: Manuelle Qualitätsprüfung auf einer Skala von 1 bis 10, wobei ich besonders auf die korrekte Wiedergabe von Fachbegriffen und Eigennamen geachtet habe
Ergebnisse: Standard Whisper ohne Kontext
Zunächst habe ich das Original-Whisper getestet, ohne dem Modell vorher Kontext über den Inhalt zu geben. Die Ergebnisse haben mich überrascht:
| Modell | Größe | Verarbeitungszeit | Erkannte Wörter | Qualität |
|---|---|---|---|---|
| tiny | 39 MB | 12 Sekunden | 1.547 | 3,3 / 10 |
| base | 74 MB | 15 Sekunden | 1.690 | 3,0 / 10 |
| small | 244 MB | 28 Sekunden | 1.848 | - |
| medium | 769 MB | 52 Sekunden | 1.795 | 6,7 / 10 |
| large | 1,5 GB | 168 Sekunden | 1.818 | 4,3 / 10 |
Die Überraschung: Das große large-Modell schnitt schlechter ab als das mittelgroße medium-Modell. Ohne Kontext rät Whisper bei Eigennamen und Fachbegriffen, und interessanterweise raten die größeren Modelle "kreativer" daneben, weil sie mehr Varianten kennen.
Ergebnisse: Faster-Whisper mit initial_prompt
Im zweiten Durchgang habe ich die optimierte Faster-Whisper-Variante verwendet und dem Modell über den initial_prompt mitgeteilt, welche Begriffe im Talk vorkommen. Der Unterschied war beeindruckend:
| Modell | Verarbeitungszeit | Erkannte Wörter | Qualität |
|---|---|---|---|
| medium | 50 Sekunden | 1.814 | 8,7 / 10 |
| large-v3-turbo | 38 Sekunden | 1.824 | 8,3 / 10 |
| large-v3 | 90 Sekunden | 1.810 | 7,7 / 10 |
Was ich daraus gelernt habe
Die Kombination macht den entscheidenden Unterschied. Drei Faktoren zusammen führen zu deutlich besseren Ergebnissen:
- Faster-Whisper statt Standard-Whisper: Die optimierte Variante nutzt eine effizientere Implementierung, die den Arbeitsspeicher schont und die Verarbeitung beschleunigt. Bei meinem Test war Faster-Whisper etwa doppelt so schnell wie das Original.
- initial_prompt mit relevantem Kontext: Indem ich Whisper vorher mitteile, welche Fachbegriffe und Namen im Audio vorkommen, kann das Modell diese korrekt zuordnen. Die Qualität springt dadurch von "kaum brauchbar" auf "professionell".
- Das medium-Modell als Sweetspot: Überraschenderweise liefert das mittelgroße Modell mit Kontext bessere Ergebnisse als das große Modell ohne Kontext. Und es braucht nur einen Bruchteil der Rechenzeit.
Mit dieser Kombination erreichst Du eine Transkriptionsqualität, die für Meeting-Protokolle mehr als ausreicht.
Welches Modell für Deinen Anwendungsfall?
Nach den Benchmarks kommt die praktische Frage: Welches Modell solltest Du für Deine Situation verwenden? Die Antwort hängt davon ab, was Dir wichtiger ist: schnelle Ergebnisse oder maximale Genauigkeit. Hier findest Du eine Entscheidungshilfe basierend auf meinen Erfahrungen.
Entscheidungshilfe nach Anwendungsfall
| Anwendungsfall | Empfohlenes Modell | Begründung |
|---|---|---|
| Schnelle Entwürfe Wenn Du nur eine grobe Übersicht brauchst, die Du nicht weitergibst |
tiny oder base | Diese kleinen Modelle liefern in wenigen Sekunden ein Ergebnis. Die Qualität reicht zum Überfliegen, aber nicht für offizielle Dokumente. |
| Interne Protokolle Team-Meetings, Workshops, Brainstormings |
medium + initial_prompt | Das ist der Sweetspot, den ich in meinen Tests gefunden habe. Mit 8,7 von 10 Punkten bei meinem TEDx-Talk bietet diese Kombination die beste Kosten-Nutzen-Relation. |
| Offizielle Dokumente Kundenprotokolle, rechtlich relevante Aufzeichnungen |
large-v3 + initial_prompt | Hier brauchst Du maximale Genauigkeit. Das large-Modell erkennt auch feine Nuancen, aber plane Zeit für eine manuelle Prüfung ein. |
| Batch-Verarbeitung Viele Dateien über Nacht verarbeiten |
large-v3-turbo | Dieses Modell ist schneller als das normale large-v3 und liefert fast die gleiche Qualität. Ideal, wenn Zeit wichtiger ist als das letzte Prozent Genauigkeit. |
Meine Empfehlung für den Alltag
Für die meisten Anwendungsfälle empfehle ich: Faster-Whisper mit dem medium-Modell und einem gut vorbereiteten initial_prompt.
Diese Kombination bietet Dir:
- Geschwindigkeit: Die Transkription läuft in Echtzeit oder sogar schneller. Ein 15-minütiges Video ist in unter einer Minute verarbeitet.
- Qualität: Mit dem richtigen Kontext erreichst Du eine Genauigkeit, die für Protokolle mehr als ausreicht. Fachbegriffe und Namen werden korrekt erkannt.
- Ressourcenschonend: Das medium-Modell läuft auf jedem modernen Laptop ohne Probleme. Du brauchst keine teure Gaming-Grafikkarte.
- Flexibilität: Ohne dedizierte GPU dauert es etwas länger, aber die Ergebnisse sind genauso gut.
Erst wenn Du regelmäßig mit schwierigen Aufnahmen arbeitest (starke Akzente, deutliche Hintergrundgeräusche oder mehrere Sprecher, die durcheinander reden), lohnt sich der Umstieg auf das large-v3-Modell. In meinen Tests hat das medium-Modell bei klaren Aufnahmen sogar besser abgeschnitten.
Bevor es losgeht: Alles da?
Bevor Du mit der eigentlichen Arbeit beginnst, prüfe ich mit Dir kurz, ob alle nötigen Programme installiert sind. Das dauert nur eine Minute und erspart Dir später Frust.
Python prüfen
Python ist die Programmiersprache, in der Whisper geschrieben ist. Öffne ein Terminal und gib folgenden Befehl ein:
python3 --version
Du solltest eine Versionsnummer sehen, zum Beispiel "Python 3.11.2". Wichtig ist, dass die erste Zahl nach dem Punkt mindestens 10 ist, also Python 3.10 oder neuer.
Falls stattdessen "command not found" erscheint oder eine ältere Version angezeigt wird, musst Du Python zuerst installieren. Auf Ubuntu oder Debian geht das so:
sudo apt update sudo apt install python3 python3-pip python3-venv
ffmpeg prüfen
ffmpeg brauchst Du, um die Tonspur aus Deinem Video zu extrahieren. Prüfe, ob es installiert ist:
ffmpeg -version
Du solltest mehrere Zeilen mit Versionsinformationen sehen. Falls nicht, installiere ffmpeg:
sudo apt update sudo apt install ffmpeg
Grafikkarte prüfen (optional)
Wenn Du eine NVIDIA-Grafikkarte hast, kann Whisper diese nutzen und wird deutlich schneller. Prüfe mit diesem Befehl, ob die Treiber korrekt installiert sind:
nvidia-smi
Wenn eine Tabelle mit Informationen zu Deiner Grafikkarte erscheint, ist alles bereit. Falls eine Fehlermeldung kommt, hast Du entweder keine NVIDIA-Karte oder die Treiber sind nicht installiert. Das ist nicht schlimm: Whisper funktioniert auch ohne, nur langsamer.
Whisper installieren
Jetzt richten wir einen eigenen Arbeitsbereich für das Projekt ein. Das ist eine gute Praxis: Alle Programme und Bibliotheken bleiben in einem Ordner und kommen dem Rest Deines Systems nicht in die Quere.
Erstelle einen neuen Ordner und wechsle hinein:
mkdir ~/video2text cd ~/video2text
Jetzt erstellen wir eine sogenannte "virtuelle Umgebung". Das ist ein abgeschotteter Bereich, in dem Du Python-Pakete installieren kannst, ohne das Hauptsystem zu verändern:
python3 -m venv venv source venv/bin/activate
Du erkennst, dass die virtuelle Umgebung aktiv ist, wenn vor Deinem Prompt "(venv)" steht. Jetzt installierst Du Whisper:
pip install openai-whisper
Das dauert ein paar Minuten, weil einige Abhängigkeiten heruntergeladen werden. Beim ersten Aufruf von Whisper wird zusätzlich das Sprachmodell geladen. Das sind je nach Modellgröße zwischen 150 MB und mehreren Gigabyte.
Dein erstes Transkript erstellen
Jetzt wird es ernst. Angenommen, Du hast eine Datei mein-video.mp4mein-audio.mp3 in Deinem Ordner ~/aufnahmen/ liegen.
Schritt 1: Tonspur extrahieren
Zuerst holst Du den Ton aus dem Video:
ffmpeg -i ~/aufnahmen/mein-video.mp4 -vn -ar 16000 -ac 1 ~/video2text/audio.wav
Das dauert normalerweise nur ein paar Sekunden. Danach findest Du die Datei audio.wav in Deinem video2text-Ordner.
Schritt 2: Text erkennen lassen
Text erkennen lassen
Jetzt kommt Whisper zum Einsatz. Stelle sicher, dass Du im richtigen Ordner bist und die virtuelle Umgebung aktiv ist:
cd ~/video2text source venv/bin/activate
Dann starte die Transkription:
whisper audio.wav --model medium --language de --output_format jsonwhisper ~/aufnahmen/mein-audio.mp3 --model medium --language de --output_format json
Whisper zeigt Dir den Fortschritt an. Wie lange es dauert, hängt von der Länge der Aufnahme und Deiner Hardware ab:
- Mit NVIDIA-Grafikkarte: Eine Stunde Audio in etwa 5 Minuten
- Ohne Grafikkarte: Eine Stunde Audio in etwa 45 Minuten
Du kannst während der Verarbeitung andere Dinge am Computer erledigen. Das stört Whisper nicht.
Das Ergebnis ansehen
Nach der Verarbeitung findest Du eine neue Datei: audio.jsonmein-audio.json. Öffne sie, um das Ergebnis zu sehen:
cat audio.jsoncat mein-audio.json
Du siehst den vollständigen Text und alle einzelnen Segmente mit ihren Zeitmarken.
Das richtige Modell wählen
Mit dem Parameter --model bestimmst Du, welches Sprachmodell Whisper verwendet. Basierend auf meinen Benchmarks empfehle ich:
| Modell | Anwendungsfall | Befehl |
|---|---|---|
| tiny | Nur zum schnellen Testen | --model tiny |
| medium | Beste Wahl für deutschsprachige Meetings | --model medium |
| large | Schwierige Aufnahmen, maximale Genauigkeit | --model large |
Das medium-Modell hat in meinem Benchmark die besten Ergebnisse für deutschsprachige Aufnahmen geliefert, besonders in Kombination mit dem initial_prompt.
Praktische Tipps
Immer die Sprache angeben: Der Parameter --language de sagt Whisper, dass die Aufnahme auf Deutsch ist. Ohne diese Angabe versucht Whisper, die Sprache selbst zu erkennen. Das funktioniert meist, kostet aber Zeit und kann bei gemischten Inhalten zu Problemen führen.
Auf die Audioqualität achten: Whisper kann nur verstehen, was auch ein Mensch verstehen würde. Wenn Du bei einer Aufnahme selbst Mühe hast, einzelne Wörter zu erkennen, wird Whisper ebenfalls Probleme haben. In solchen Fällen nutze unbedingt den initial_prompt mit den relevanten Fachbegriffen.
Nach der Arbeit aufräumen
Die WAV-Datei war nur ein Zwischenschritt. Wenn Du das Transkript hast, kannst Du sie löschen, um Speicherplatz zu sparen:
rm audio.wav
Die JSON-Datei mit dem Transkript solltest Du natürlich behalten: Sie enthält das Ergebnis Deiner Arbeit.
Aus dem Transkript wird ein Protokoll
Whisper liefert Dir den kompletten Text aus Deinem Meeting. Aber wenn Du ehrlich bist: Ein Transkript ist noch lange kein brauchbares Protokoll. Da steht jedes "Ähm", jeder Satzabbruch, jede Wiederholung. Das Wichtige geht im Wortschwall unter.
Was Du eigentlich brauchst: Eine Zusammenfassung. Wer war dabei? Was wurde besprochen? Welche Entscheidungen wurden getroffen? Was sind die nächsten Schritte?
Die gute Nachricht: Ein lokales Sprachmodell kann Dir diese Arbeit abnehmen. Es liest das Transkript und erstellt daraus ein strukturiertes Protokoll. Und das Beste: Alles passiert auf Deinem eigenen Rechner. Keine Cloud, keine Kosten, volle Kontrolle über Deine vertraulichen Daten.
Was ist Ollama?
Ollama ist ein kostenloses Programm, mit dem Du Sprachmodelle auf Deinem eigenen Computer ausführen kannst. Es läuft komplett lokal, alles bleibt auf Deinem Rechner und Du brauchst keine Internetverbindung.
Die Installation ist einfach. Öffne ein Terminal und führe diesen Befehl aus:
curl -fsSL https://ollama.com/install.sh | sh
Der Befehl lädt das Installationsskript herunter und führt es aus. Nach ein paar Sekunden ist Ollama einsatzbereit.
Ein Sprachmodell herunterladen
Ollama selbst ist nur das Werkzeug. Du brauchst noch ein Sprachmodell, das ist die "Intelligenz", die den Text versteht und zusammenfasst.
Für den Anfang empfehle ich gemma3:4b-it-qat. Es versteht Deutsch gut und liefert ausgewogene Ergebnisse:
ollama pull gemma3:4b-it-qat
Das Modell ist etwa 4 GB groß. Je nach Internetverbindung dauert der Download einige Minuten. Danach ist das Modell auf Deiner Festplatte und Du brauchst es nie wieder herunterzuladen.
Das Transkript vorbereiten
Whisper hat Dir eine JSON-Datei erzeugt. Darin steckt der Text, aber auch viele technische Informationen wie Zeitstempel. Für die Zusammenfassung brauchst Du nur den reinen Text.
Erstelle eine kleine Hilfsdatei namens extract.py mit folgendem Inhalt:
import json, sys
with open(sys.argv[1]) as f:
print(json.load(f)["text"])
Dieses kleine Programm öffnet die JSON-Datei und gibt nur den Text aus. Benutze es so:
python3 extract.py audio.json > transkript.txt
Jetzt hast Du eine Datei transkript.txt mit dem reinen Text, ohne JSON-Formatierung.
Die Zusammenfassung erstellen
Jetzt kommt der spannende Teil: Du gibst dem Sprachmodell eine Aufgabe. Damit es weiß, was Du erwartest, formulierst Du einen sogenannten Prompt, eine Art Arbeitsanweisung.
Erstelle eine Datei prompt.txt mit folgender Anweisung:
Erstelle aus folgendem Meeting-Transkript ein strukturiertes Protokoll auf Deutsch. Gliedere das Protokoll in diese Abschnitte: 1) Teilnehmer: Wer hat am Meeting teilgenommen? (Falls aus dem Gespräch erkennbar) 2) Besprochene Themen: Was wurde diskutiert? Fasse jeden Punkt kurz zusammen. 3) Entscheidungen: Was wurde beschlossen oder vereinbart? 4) Offene Punkte: Was muss noch geklärt werden? Wer macht was bis wann? Schreibe in klarem, professionellem Deutsch. Formatiere das Ergebnis als Markdown. Hier ist das Transkript:
Mit diesem Prompt weiß das Modell genau, was es tun soll. Jetzt verbindest Du Prompt und Transkript und schickst beides an das Modell:
cat prompt.txt transkript.txt | ollama run gemma3:4b-it-qat > protokoll.md
Der Befehl cat fügt beide Dateien zusammen. Das Ergebnis wird an ollama run weitergeleitet, und die Ausgabe landet in protokoll.md.
Wichtig: Der Befehl cat ist hier nur deshalb "mit der Hand am Arm", damit Du es einmal selbst gemacht hast und verstehst, was passiert. In der späteren Pipeline für Video- und Audio-Aufnahmen aus der Firma läuft das dann natürlich alles vollautomatisch!
Je nach Länge des Meetings und Leistung Deines Rechners dauert das zwischen 30 Sekunden und einigen Minuten. Wenn Du eine NVIDIA-Grafikkarte hast, geht es deutlich schneller.
Was Du beachten solltest
Lange Meetings aufteilen: Sprachmodelle haben ein Limit, wie viel Text sie auf einmal verarbeiten können. Bei Meetings über zwei Stunden kann es passieren, dass der Text zu lang wird. In dem Fall teile das Transkript in Abschnitte auf und erstelle für jeden eine separate Zusammenfassung.
Das Ergebnis prüfen: Sprachmodelle sind beeindruckend, aber nicht perfekt. Sie können Dinge falsch verstehen, Namen verwechseln oder Details übersehen. Besonders bei wichtigen Protokollen solltest Du das Ergebnis gegenlesen und mit dem Original vergleichen. Betrachte die automatische Zusammenfassung als ersten Entwurf, nicht als fertiges Dokument.
Deine Daten bleiben bei Dir: Anders als bei Cloud-Diensten verlässt bei dieser Lösung kein einziges Wort Deinen Rechner. Das Sprachmodell läuft komplett lokal. Du brauchst nicht einmal eine Internetverbindung, nachdem das Modell einmal heruntergeladen ist. Für vertrauliche Meetings, etwa mit Geschäftspartnern, Kunden oder im medizinischen Bereich, ist das ein entscheidender Vorteil.
Welches LLM für die Zusammenfassung?
Whisper liefert Dir den Text. Aber für ein brauchbares Protokoll brauchst Du eine KI, die den Text zusammenfasst und strukturiert. Ich habe vier lokale Ollama-Modelle mit dem TEDx-Talk-Transkript getestet, um herauszufinden, welches sich für welchen Einsatzzweck eignet.
Getestete Modelle
| Modell | Größe | Zeit | Output | Charakter |
|---|---|---|---|---|
| llama3.2:3b | 2 GB | 6 Sekunden | 1.550 Zeichen | Schnell, kompakt |
| gemma3:4b-it-qat | 4 GB | 18 Sekunden | 4.200 Zeichen | Gut strukturiert, ausgewogen |
| qwen2.5vl:7b | 6 GB | 20 Sekunden | 2.700 Zeichen | Kompakt, auf den Punkt |
| glm-4.7-flash | 19 GB | 64 Sekunden | 10.500 Zeichen | Detailliert, mit Reasoning |
Was die Zahlen bedeuten
llama3.2:3b ist der Sprinter unter den Modellen: In nur 6 Sekunden hast Du ein Ergebnis. Der Output ist kompakt und fokussiert sich auf die Kernaussagen. Für einen schnellen Überblick ausreichend.
gemma3 und qwen2.5 sind die Allrounder: Sie liefern in 15 bis 20 Sekunden solide Protokolle mit guter Struktur. Die Zusammenfassungen enthalten die wesentlichen Punkte und sind gut lesbar.
glm-4.7-flash ist der Perfektionist: Das Modell denkt sichtbar nach, es zeigt einen sogenannten Thinking-Prozess, in dem es seine Überlegungen dokumentiert. Es analysiert den Text gründlich und produziert detaillierte Protokolle mit mehreren Abschnitten. Die 19 GB Speicherbedarf sind happig, aber das Ergebnis ist beeindruckend.
Beispiel-Output aus dem TEDx-Talk (gekürzt)
llama3.2:3b:
Zusammenfassung
Der Vortrag behandelt das Thema Perspektivenwechsel und Resonanzfähigkeit. Der Sprecher diskutiert, wie wichtig es ist, unterschiedliche Perspektiven zu berücksichtigen und zu akzeptieren, um erfolgreich kommunizieren zu können.
Kernkonzepte
• Resonanzfähigkeit: Die Fähigkeit, sich auf eine bestimmte Frequenz einzustimmen
• Perspektivenwechsel: Die Fähigkeit, unterschiedliche Perspektiven zu akzeptieren
• Ebenenmodell: Eine Methode zur Analyse aus verschiedenen Perspektiven
glm-4.7-flash:
1. Zusammenfassung
Der Vortragende erklärt, dass Resonanz das grundlegende Prinzip für das Verständnis zwischen verschiedenen Systemen ist. Um Resonanz zu erzeugen, ist der aktive Perspektivwechsel notwendig, um fremde Standpunkte wahrzunehmen und ambivalente Sichtweisen aushalten zu können. Als praktische Methode stellt er das Ebenenmodell vor, ein Werkzeug zur effizienten Abstraktion von Informationen aus verschiedenen Quellen.
2. Kernkonzepte
• Resonanz: Synchronisation von Systemen, die auf ähnlichen Frequenzen schwingen
• Perspektivwechsel: Die Fähigkeit, die eigene Wahrnehmung zu verändern
• Ambivalenz: Die Bereitschaft, unterschiedliche Wahrnehmungen zuzulassen
• Das Ebenenmodell: Strukturierte Sammlung von Informationen aus verschiedenen Blickwinkeln
3. Praktische Beispiele
• Das Weinglas: Beschallen mit Resonanzfrequenz als Metapher
• Das geometrische Objekt: Drei Personen sehen Kreis, Dreieck, Quadrat
• Vermarktung von Honig: Abstraktion von Kundenbewertungen ins Ebenenmodell
Meine Empfehlung
- Für schnelle Überblicke: gemma3:4b-it-qat bietet eine gute Balance aus Geschwindigkeit und Qualität. Es ist mein Standard für alltägliche Protokolle.
- Für wichtige Vorträge: glm-4.7-flash, wenn Du genug RAM hast und das bestmögliche Ergebnis willst. Die zusätzliche Minute Wartezeit lohnt sich bei komplexen Inhalten wie diesem TEDx-Talk.
- Für Batch-Verarbeitung: llama3.2:3b, wenn Du viele Aufnahmen auf einmal verarbeiten willst und eine grobe Übersicht ausreicht.
Grenzen und typische Fehler
So gut die Technik auch ist: Sie hat Grenzen. Wer diese kennt, kann besser damit umgehen und weiß, wann manuelle Nacharbeit nötig ist.
Das Eigennamen-Problem
Whisper wurde mit Millionen Stunden Audio trainiert, aber Deinen Firmennamen, Deine Kollegen oder Deine Produktbezeichnungen kennt es nicht. Ohne initial_prompt rät es:
- "karlsCORE" → "Carls Core", "Karl Score", "Karls Kur"
- "Domicilium" → "Domizilium", "Domisillium"
- "KI-Gemeinschaft" → "Kiegemeinschaft", "KI Gemeinschaft"
Lösung: Immer einen initial_prompt mit allen relevanten Eigennamen mitgeben.
Halluzinationen
Bei schlechter Audioqualität oder langen Pausen erfindet Whisper manchmal Inhalte. Das passiert besonders bei:
- Hintergrundmusik oder Hintergrundgeräusche
- Sehr leisen Passagen
- Überlappenden Sprechern
- Starken Akzenten oder Dialekten
Lösung: Bei kritischen Dokumenten das Transkript stichprobenartig gegen das Original prüfen.
Sprechererkennung fehlt
Whisper liefert einen Textblock, ohne Angabe, wer was gesagt hat. Bei Meetings mit mehreren Teilnehmern musst Du die Sprecherzuordnung manuell ergänzen oder ein zusätzliches Tool für Speaker Diarization einsetzen.
Zeitstempel-Genauigkeit
Whisper liefert Zeitstempel auf Segment-Ebene (typisch 5-30 Sekunden). Für wortgenaue Zeitstempel brauchst Du zusätzliche Nachbearbeitung mit Tools wie whisper-timestamped.
Checkliste vor der Weitergabe
Bevor Du ein automatisch erstelltes Protokoll weitergibst:
- Eigennamen und Fachbegriffe prüfen
- Zahlen und Datumsangaben verifizieren
- Bei wichtigen Entscheidungen: Original-Stelle nachhören
- Sprecherzuordnung ergänzen (falls relevant)
Mit dieser kurzen Prüfung stellst Du sicher, dass das Protokoll korrekt ist und sparst trotzdem 90% der manuellen Arbeit.
Der TEDx-Talk als Benchmark
Alle Benchmarks in diesem Artikel basieren auf meinem TEDx-Talk. Das ist ein 15-minütiger deutschsprachiger Vortrag mit normaler Vortragsqualität, also genau die Art von Aufnahme, die Du auch aus Deinen Meetings und Workshops kennst.
Ich habe diesen Talk bewusst als Testmaterial gewählt, weil er mehrere typische Herausforderungen enthält: Fachbegriffe wie "Resonanz" und "Ambivalenz", Eigennamen, Live-Experimente mit dem Publikum und stellenweise schnelleres Sprechen.
Video-Details: 15:26 Min, 1080p mit adaptivem Streaming, deutsche Untertitel aus automatischer Transkription.
Falls Du die Transkription selbst nachvollziehen möchtest, kannst Du das Video herunterladen und mit den beschriebenen Werkzeugen verarbeiten. So kannst Du Deine eigenen Ergebnisse mit meinen Benchmarks vergleichen.