Communitygithub.com

Presenter-Voiceover

Verwenden beim Schreiben oder Generieren eines Voiceovers/Narration für jedes Video, jede Demo oder Präsentation: Regeln für Präsentationsstil, Pausenmarkierung, offline Kokoro-Stimme, Nachbearbeitung und an das Video angepasstes Mischen.

Was ist Presenter-Voiceover?

Dieses Skill bietet einen vollständigen Workflow zur Erstellung professioneller Voiceover-Narrationen im Präsentationsstil für Videos, Demos und Präsentationen. Es enthält umfassende Richtlinien zum Verfassen des Skripts, die sicherstellen, dass der Sprechertext nie einfach den auf dem Bildschirm angezeigten Text wiederholt, sondern sinnstiftende Erzählungen, Emotionen und eine durchgängige Heldenfigur bietet, um die Zuschauer zu fesseln. Das Skill unterstützt die Offline-Sprachsynthese mit Kokoro (über 50 Stimmen) und optional Premium-Cloud-Stimmen über ElevenLabs, alle gesteuert über ein Python-Skript-Markup-System für präzise Zeitsteuerung und Pausen. Der vollständige Workflow umfasst das Schreiben des Skripts, das Abschätzen der Sprechdauer, das Generieren von Sprache, das Ki-basierte Nachbearbeiten (Trimmen, EQ, Kompression) und das Mischen mit Hintergrundmusik, wobei eine endgültige Ausgabe mit absoluter Lautstärke von −16 LUFS und einer begleitenden SRT-Datei erstellt wird. Es ist besonders wertvoll für Entwickler und Inhaltsersteller, die eine konsistente, qualitativ hochwertige Narration ohne teure Studioaufnahmen benötigen und die volle Kontrolle über Tempo, Betonung und Timing behalten möchten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sanjayyykumar/ai-essentials/tree/HEAD/skills/presenter-voiceover

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Presenter Voiceover

Werkzeuge: $VIDEO_ROOT/voice/ aus video-generations (speak.py, speak_cast.py, polish_vo.py, mix_narration.py, el_cache.py); Modelle in $VIDEO_ROOT/models (python studio/get_models.py).

1. Schreiben wie ein Präsentator (Das Skript ist wichtiger als die Stimme)

  • Nie den Bildschirm vorlesen. Der Text auf dem Bildschirm nennt die Tatsache; die Stimme verleiht Bedeutung, Emotion oder die Geschichte dahinter. Wenn eine Zeile das Bild wortwörtlich wiederholt, schreibe sie um oder streiche sie. Ausnahmen: Produktnamen und der abschließende Slogan.

  • Eine Idee pro Zeile. Kurze Sätze, 6–12 Wörter. Gesprochenes Englisch, Kontraktionen erlaubt.

  • Heldenfaden. Folge einer Person (z. B. Aroon, Anita, Dr. Rao) und beziehe dich auf sie zurück; Menschen erinnern sich an Geschichten, nicht an Funktionen.

  • Endfokus. Setze das Schlüsselwort an das Ende seiner Phrase („… jedes Team hält nur eines.“); die Stimme landet dort natürlich. Kontext voranstellen: „Um … vierzehn, früh morgens, // Aroon // bricht zusammen.“

  • Dreierregel für Vorteile und Listen, mit gleichmäßigen Betonungen.

  • Kontrast und Wendung: Problem → „Stellen Sie sich vor, …“ → Lösung.

  • Einstiege: Beginne jeden Abschnitt mit einem Anker („Zuerst für Familien.“, „Betreten Sie jetzt das Krankenhaus.“).

  • Abschlüsse: Aussagen enden mit einem Punkt für einen fallenden, abgeschlossenen Ton. Schließe mit dem Versprechen oder Slogan, einer klaren Einladung, dann „Vielen Dank.“

  • Tempo (Hausstil): Langsam, pausenbeladene Lieferung klingt roboterhaft („zu viele Pausen, zu wenige Wörter“). Standardmäßig flüssiges Präsentatortempo:

    • Geschwindigkeit 1,00 für die meisten Zeilen, 1,02 für lange Listen/Erklärungen, 0,95–0,97 für Slogans und Abschlüsse, 0,93 nur für den einzigen emotionalen Höhepunkt.
    • Höchstens ein ... gehaltener Schlag pro Zeile, und nur an der emotionalen Wendung („Um vierzehn, früh morgens ... Aroon bricht zusammen“, „Was wäre, wenn ... es nur eines einzigen Fingertipps bedürfte?“). Verwende / sparsam; bevorzuge einfache Kommas.
    • Gemessene Sprechrate in diesem Stil: etwa 2,6–2,8 gesprochene Wörter pro Sekunde (af_kore). Budget = Wörter / 2,7 + 0,35 s Nachbearbeitungsende; eine Zeile muss vor dem nächsten visuellen Schlag passen.
    • Hinterlasse eine bewusste Stille (1–1,5 s, keine Zeile) nach dem Aufbau des Problems und nach dem emotionalen Höhepunkt der Lösung („Ruhiger als in jener ersten Nacht.“).
    • Dichte: etwa 230–250 erzählte Wörter für einen 2,5-minütigen Film; jede Szene erhält mindestens eine Zeile, sodass keine Szene länger als ~3 s still ist, außer den geplanten Stillen.
  • Ehrlichkeit: Keine erfundenen Ergebnisse; fiktive Namen und Zahlen sind Demodaten.

  • Schneller Weg (um Zeit zu sparen): Alle Zeilen schreiben → Dauer mit dem obigen Budget schätzen → Überläufe im Text beheben, bevor generiert wird → einmal generieren. Das erneute Generieren auf dem Laptop kostet etwa 25–40 s pro Zeile, daher geht die meiste Zeit in Text, der neu geschrieben wird.

2. Markup (Narrationsdatei)

LINES = [(start_s, speed, text), ...], VOICE = '...', plus ein Docstring mit Lieferhinweisen. Beispiel: voice/examples/narration_demo.py.

  • / = Atempause (0,25 s), // = dramatische Pause (0,55 s), ... = gehaltener Schlag (0,8 s).
  • Namen, die die Engine falsch ausspricht, in voice/lexicon.py umschreiben (z. B. Arun → „Aroon“, Dr → „Doctor“) und zuerst eine Zeile testen.
  • Dialog mit mehreren Stimmen: LINES = [(key, voice, speed, text), ...] für speak_cast.py (voice/examples/dialogue_demo.py).

3. Stimme

  • Engine: Kokoro über kokoro-onnx, offline, 50+ Stimmen. Gute Präsentator-Auswahlen: af_kore / af_heart (ruhig, selbstbewusst weiblich), hm_omega / hm_psi (indisch männlich), am_onyx (tief männlich), bm_george (britisch männlich), hf_alpha / hf_beta (indisch weiblich). Mischungen funktionieren: hm_omega:0.6,am_onyx:0.4.
  • Für eine neue Stimmauswahl rendere 3 repräsentative Zeilen (Höhepunkt, Lösung, Slogan) pro Kandidat und lasse den Benutzer vor der vollständigen Durchführung wählen.
  • Wortbetonung kann nicht erzwungen werden; erzeuge sie mit Satzstellung, Zeichensetzung, Pausen und Geschwindigkeit. Exakte Betonung erfordert eine menschliche Aufnahme.
  • Premium-Cloud-Stimme: voice/el_cache.py (ElevenLabs; jede Zeile einmal abgerechnet, dann zwischengespeichert).

4. Generieren → Nachbearbeiten → Mischen

  1. python voice/speak.py <narration>.py work/vo [voice] — fortsetzbar; jede Phrase wird separat gesprochen und mit den markierten Stillen verbunden.
  2. python voice/polish_vo.py work/vo work/vo_polished — trimmen, warm/klares EQ, sanfte Kompression, dezenter Raumklang, Ausblendung am Ende.
  3. python voice/mix_narration.py <silent.mp4> <music.wav> <narration>.py work/vo_polished <out.mp4> — platziert Zeilen, beschleunigt eine lange Zeile um maximal 1,08×, verschiebt spätere Zeilen nur bei Bedarf, duckt Musik, −16 LUFS, schreibt .srt.
  4. Überprüfe den Driftbericht. Jede Zeile sollte innerhalb von ~0,5 s ihres visuellen Takts liegen. Wenn sich Drift aufbaut, verkürze oder streiche eine Zeile (bevorzuge Zeilen, die den Bildschirm wiederholen) und verschiebe Startzeiten auf ihre visuellen Takte; mische neu, ohne unberührte Zeilen neu zu generieren. Um einige Zeilen zu wiederholen, verschiebe ihre alten Clips beiseite und führe speak.py erneut aus; es füllt nur fehlende Clips. Halte die Clipnummerierung mit LINES synchron.
  5. Liefere die MP4- und SRT-Datei aus.

Verwandte Skills