| name | vorgespraech |
| description | Verarbeitet Transkripte von Vorgesprächen (Discovery-/Verkaufsgespräche) zu Schulungen, Workshops, Projekten oder Mitgliedschaften mit Interessenten. Triggert auf "/vorgespraech", "Vorgespräch verarbeiten", "Discovery Call", "Erstgespräch", "Akquisegespräch", oder wenn Robert ein Transkript oder eine Audioaufnahme (.m4a, .mp3, .wav) eines Vor-/Verkaufsgesprächs mit einem Interessenten übergibt. NICHT für bestehende TRIZ-Mastery-Hub-Mitglieder verwenden — dafür ist der Skill member-interview zuständig. |
| version | 1.0.0 |
Vorgespräch Processor
Dieser Skill verarbeitet das Transkript eines Vorgesprächs (Discovery- oder Verkaufsgespräch) mit einem Interessenten zu Schulungen, Workshops, Projekten oder einer Mitgliedschaft. Transkripte können deutsch oder englisch sein. Führe die Schritte ohne Rückfrage nacheinander aus — bei einer Audiodatei als Input beginnend mit Schritt 0, sonst mit Schritt 1.
Abgrenzung: Dieser Skill ist für Interessenten VOR einem Abschluss/Beitritt. Bestehende TRIZ-Mastery-Hub-Mitglieder werden mit dem Skill member-interview verarbeitet (der hat einen zusätzlichen Circle-Schritt). Wichtige Unterschiede zu member-interview: (1) kein Circle-Schritt, (2) eigene Frontmatter-Felder, (3) eigener Ablageort.
Input
Drei Formen:
Dateipfad — Robert gibt einen Pfad zum Transkript an:
/vorgespraech /path/to/transcript.txt
Inline — Robert fügt das Transkript direkt in den Chat ein (mit oder ohne /vorgespraech). Wenn im Text oder Kontext kein Datum steht, heutiges Datum für den Dateinamen verwenden.
Audiodatei — Robert gibt einen Pfad zu einer Aufnahme statt zu einem Transkript an (.m4a, .mp3, .wav, .mp4):
/vorgespraech /path/to/AndreasNeufing.m4a
Dann zuerst Schritt 0 ausführen, danach normal weiter mit Schritt 1.
Schritt 0 — Audio transkribieren (nur bei Audio-Input)
Diesen Schritt überspringen, wenn bereits ein Transkript vorliegt.
Erst prüfen, ob es eine Aufzeichnung der Konferenzplattform gibt. Teams und Zoom zeichnen pro Teilnehmer eine eigene Tonspur auf, ihre Transkripte haben deshalb eine exakte Sprecherzuordnung statt einer geschätzten. Wenn ein solches Transkript vorliegt, ist es der bessere Ausgangspunkt — dann Schritt 0 überspringen. Robert nutzt es selbst, wenn er es hat; meist hat er nur eine Audiodatei.
Transkription läuft lokal mit Whisper, es wird nichts hochgeladen:
whisper "<Audiodatei>" --model large-v3-turbo --language de --output_format srt --output_dir "/Users/robert/Documents/TCG-Ordner/_Adunka/Vorgespraeche/"
- Ein Lauf, nicht zwei. Das blanke
whisper transkribiert vollständig, kann aber keine Sprecher unterscheiden. Die Zuordnung wird in Schritt 1 aus dem Inhalt erschlossen — bei einem Vorgespräch ist das gut möglich, weil Robert als TRIZ-Experte und Anbieter inhaltlich klar vom Interessenten zu trennen ist. Das ist Roberts ausdrückliche Entscheidung: Sprechererkennung ist den Mehraufwand hier nicht wert.
- Modell: immer
large-v3-turbo.
- Zeitstempel:
--output_format srt. Die Zeitmarken werden gebraucht, weil die _corrected-Dateien das Format Sprechername / mm:ss / Text haben.
- Sprache:
--language de bei deutschen Gesprächen, --language en bei englischen. Wenn unklar, den Parameter weglassen.
- Laufzeit: grob die Länge der Aufnahme bis zum Doppelten davon auf CPU. Immer im Hintergrund starten und nicht blockierend warten. Vorab mit
ffprobe die Dauer ermitteln und Robert eine Zeitschätzung nennen. Whisper puffert seine Ausgabe, wenn sie nicht auf ein Terminal geht — eine leere Logdatei heißt nicht, dass der Lauf hängt.
- Ergebnis: Whisper legt
<Basisname>.srt im Zielordner ab. Diese Datei ist das Roh-Transkript und geht so in Schritt 1 und 2. In Schritt 2 wird sie auf ..._raw.txt umbenannt (Inhalt unverändert, inklusive Zeitmarken); die von Whisper erzeugte Datei danach entfernen, damit im Ordner keine Dublette liegt.
- Datum: Audiodateinamen enthalten meist kein Datum. Dann das Änderungsdatum der Audiodatei als Gesprächsdatum verwenden, sonst heute.
- Plausibilitätsprüfung: grob 130 bis 140 Wörter pro Gesprächsminute sind normal. Deutlich weniger heißt, dass etwas schiefgelaufen ist.
- Halluzinierte Schlusssätze: Whisper erfindet auf Stille am Dateiende gern einen Satz ("Und diese Show wird schon toll sein.", "Vielen Dank fürs Zuschauen."). Steht am Ende ein Satz, der nicht zum Gespräch passt, ersatzlos streichen — das ist kein Hörfehler, sondern Erfindung.
Whisper liefert keine Sprecherkennung, der Text läuft als ein Block durch. Aus den SRT-Zeitmarken den Startzeitpunkt jedes Sprecherblocks als mm:ss übernehmen, damit das bereinigte Transkript dasselbe Format hat wie die von Transkriptionsdiensten erzeugten Dateien:
Robert Adunka
00:19
So, wunderschönen guten Morgen.
Sprechererkennung mit WhisperX — nur auf Anforderung
WhisperX ist eingerichtet (~/.venvs/whisperx/) und kann Sprecher trennen, wird aber standardmäßig nicht verwendet. Es lohnt sich nur, wenn die Zuordnung aus dem Inhalt schwerfällt — etwa bei mehr als zwei Teilnehmern oder wenn sich die Rollen inhaltlich nicht klar trennen lassen. Einsatz nur, wenn Robert es verlangt.
Wenn es zum Einsatz kommt, ist das Wichtigste: WhisperX allein liefert kein vollständiges Transkript. Seine Sprachaktivitätserkennung schneidet Text weg, gemessen an derselben 26-Minuten-Aufnahme (blankes whisper = 3528 Wörter als Referenz):
- pyannote (Voreinstellung): 2738 Wörter, 22 % fehlen
- pyannote mit abgesenkten
--vad_onset/--vad_offset: bringt nichts
--vad_method silero: 3065 Wörter, 13 % fehlen
Die Lücken sind im Fließtext nicht zu sehen. Deshalb in dem Fall den Text aus dem Whisper-Lauf behalten und aus WhisperX nur Sprecherlabels und Zeitmarken übernehmen:
/Users/robert/.venvs/whisperx/bin/whisperx "<Audiodatei>" \
--model large-v3-turbo --language de \
--device cpu --compute_type int8 \
--vad_method silero \
--diarize --min_speakers 2 --max_speakers 2 \
-f srt --output_dir "<Zielordner>"
- Sprecherzahl: Robert fragen, wie viele Personen auf der Aufnahme sprechen — er kann das nach dem Gespräch sagen. Die Zahl in
--min_speakers/--max_speakers eintragen. Bei Unsicherheit beide weglassen und die gefundene Zahl auf Plausibilität prüfen. Nicht auf kurze Ausschnitte anwenden, in denen eine Person kaum spricht: das Clustering teilt dann den dominanten Sprecher in zwei auf.
- Zugang: lädt
pyannote/speaker-diarization-community-1, ein zugangsbeschränktes Modell. Roberts HuggingFace-Token liegt in ~/.cache/huggingface/. Die Warnung No --hf_token provided ist irreführend und kann ignoriert werden.
- Laufzeit: mit Silero rund 36 Minuten für 26 Minuten Audio, also länger als der reine Whisper-Lauf. Fortschrittsbalken per
grep -viE "%\||MB/s" filtern.
- Güte: lange Redebeiträge sitzen zuverlässig, die Label-Zuordnung bleibt über die ganze Aufnahme stabil. Kurze Einwürfe ("Ah, okay", "Ja, genau", "Mhm") landen oft beim falschen Sprecher — rund 8 Prozent der Segmente. Die kurzen also gegenlesen.
- Zusammenführen: Blöcke des bereinigten Textes der Reihe nach gegen die WhisperX-Segmente matchen; für Blöcke ohne Treffer die Zeit zwischen den benachbarten Treffern interpolieren, nicht hochzählen, sonst läuft das Ende über die Aufnahmelänge hinaus. Vor dem Speichern prüfen, dass der Text Wort für Wort unverändert ist und nur Zeitmarken dazugekommen sind.
Schritt 1 — Transkript bereinigen
Lies das Roh-Transkript. Wende nur die minimal nötigen Korrekturen für Speech-to-Text-Fehler an. Nicht paraphrasieren, keine Grammatik glätten, keine Füllwörter entfernen, Stil nicht ändern.
TRIZ-Begriffe (nur wenn der Kontext eindeutig die Methodik meint):
- "Tris", "trees", "Chris", "Pris", "twist" → TRIZ
- "Arize", "arise", "a rise", "a riz" → ARIZ
Personennamen (phonetische Varianten korrigieren):
- Varianten → Genrikh Altshuller, Boris Zlotin, Alla Zusman, Valeri Souchkov, Sergei Ikovenko, Zion Bar-El, Nikolai Khomenko, Denis Cavallucci, Oleg Feygenson, Darrell Mann, Karen Gadd, Pavel Livotov, Christian Thurnes, Oliver Mayer
- Typische Verhörer: "Lieferthoff", "Livotoff", "Liwotow" → Pavel Livotov; "Thunis", "Thurnis", "Turnes" → Christian Thurnes
- Firmen-/Methodennamen: "Trismastery Hub"-Varianten → TRIZ Mastery Hub; "Ideasio/Ideation Workbench" → Ideation Workbench; "Kepner Trigo" etc. → Kepner-Tregoe
Standardfall ist die leichte Korrektur oben. Nur wenn das Transkript es klar erfordert, zusätzlich:
- Sprecher-Rekonstruktion aus dem Kontext, falls die Transkriptionssoftware die Sprecher vertauscht oder innerhalb der Blöcke zusammengemischt hat. Dann anhand des Inhalts zuordnen (wer ist Robert = TRIZ-Experte/Gastgeber, wer der Interessent) und zusammengefallene Redebeiträge trennen. Bei Audio-Input aus Schritt 0 ist das kein Sonderfall, sondern immer fällig, weil Whisper keine Sprecher kennzeichnet: Der Text kommt als durchlaufender Block, und die Redebeiträge müssen inhaltlich aufgeteilt und zugeordnet werden. Anhaltspunkte: Robert stellt die Fragen zu Bedarf und Zielsetzung, nennt Preise, Kursaufbau und Termine; der Interessent beschreibt Firma, Aufgabe und Randbedingungen. Kurze Einwürfe ("Mhm", "Ja, genau") gehören meist dem jeweils Zuhörenden. Wurde ausnahmsweise WhisperX benutzt, stattdessen dessen
SPEAKER_0x-Labels übersetzen und nur die kurzen Einwürfe gegenlesen.
- Fremdsprachige oder irrelevante Teile am Ende entfernen (z. B. ein angehängtes internes Gespräch mit der Assistentin), wenn Robert das anmerkt oder es offensichtlich nicht zum Gespräch gehört.
Diese beiden Zusatzschritte sind die Ausnahme, nicht die Regel. Halte das bereinigte Transkript für Schritt 2 bereit.
Schritt 2 — Roh- und bereinigte Datei speichern
Zielordner: /Users/robert/Documents/TCG-Ordner/_Adunka/Vorgespraeche/
Dateinamen: yymmdd_Vorgespraech_VornameNachname_raw.txt und _corrected.txt
- Datum: aus dem Originaldateinamen/Kontext, sonst heute (
yymmdd)
- Name: der Interessent (der Nicht-Robert-Sprecher). Voller Name in CamelCase ohne Leerzeichen, z. B.
ChrisGray
Speichere:
- Eine Kopie des Original-Roh-Transkripts als
..._raw.txt
- Das bereinigte Transkript als
..._corrected.txt
Schritt 3 — Obsidian-Notiz anlegen
Vorlage: /Users/robert/Library/Mobile Documents/iCloud~md~obsidian/Documents/Arbeit-ObsidianVault/Vorgespräche/_Vorlage Vorgespräch.md
Zieldatei: /Users/robert/Library/Mobile Documents/iCloud~md~obsidian/Documents/Arbeit-ObsidianVault/Vorgespräche/<Vorname Nachname>.md
Lies die Vorlage, lege eine neue Datei nach dem Interessenten an und fülle alle Abschnitte auf Deutsch basierend auf dem bereinigten Transkript.
YAML-Frontmatter (eigene Felder, nicht die von member-interview):
Name: — voller Name
Datum: — Gesprächsdatum YYYY-MM-DD (wenn eine Uhrzeit bekannt ist, gehört sie in "Anlass / Kontext", nicht ins Frontmatter)
Sprache: — DE oder EN
Art: — Schulung / Workshop / Projekt / Kurs / Membership / Sonstiges (ggf. kombiniert, plus "(Interessent)")
Firma: — Arbeitgeber, oder "Nicht genannt"
Rolle: — Funktion/Position
Land: — Standort
Status: — offen / Angebot / gewonnen / verloren
Abschnitte (auf Deutsch, nach dem tatsächlich Gesagten):
## Anlass / Kontext — wie kam der Kontakt zustande, worum ging es (Datum + ggf. Uhrzeit, Verweis auf die Transkript-Dateien im TCG-Ordner)
## Hintergrund Gesprächspartner — beruflicher Hintergrund
## Bedarf / Ziel — was sucht die Person, welches Problem
## Empfehlung / Angebot — was wurde empfohlen/angeboten
## Offene Punkte — Fragen, Einwände, Unklarheiten
## Follow-up / Nächster Schritt — konkreter nächster Schritt, Wiedervorlage
## Notizen — freie Notizen, Zitate, Eindrücke
Kurz aber vollständig schreiben. Wenn etwas nicht besprochen wurde, einen kurzen neutralen Platzhalter setzen statt den Abschnitt leer zu lassen.
Kein Circle-Schritt. Interessenten sind noch keine Mitglieder, es wird nichts in Circle eingetragen. Falls der Interessent später beitritt, kann er ins member-interview-System übernommen und hier der Status auf "gewonnen" gesetzt werden.
Zusammenfassung
Nach den Schritten kurz in einem Absatz berichten:
- Gespeicherte Dateien (mit Dateinamen)
- Angelegte Obsidian-Notiz (Dateiname)
- Aufgetretene Besonderheiten (z. B. Audio transkribiert und mit welchem Modell, Sprecher-Rekonstruktion nötig, Teile entfernt)