--- name: text-to-audio description: Transformiert Quelltexte, Recherchen, Dossiers, Artikel oder Notizen in ein hochwertiges Audio-Dossier / Podcast. Unterstützt flexible Zieldauer (z.B. 2m, 5m, 10m), filtert Inhalte vorab nach Wichtigkeit (Pacing: ~130 Wörter/Minute) und generiert wahlweise Solo-Briefings oder lebendige Zwei-Sprecher-Dialoge (NotebookLM-Style) über OpenRouter TTS. --- # 🎙️ Text-to-Audio Dossier & Podcast Producer Dieser Skill fungiert als spezialisierter **Audio-Producer**. Er nimmt beliebige Quelltexte (Rechercheergebnisse, Dossiers, Notizen aus dem Knowledge-Wiki, tägliche Reports oder Artikel) entgegen, komprimiert sie nach Wichtigkeit auf eine gewünschte Hördauer und generiert eine fertige, abspielbare MP3. --- ## 🧭 Kern-Workflow Wenn der User ein Audio-Dossier oder einen Podcast wünscht (z.B. *"Erstelle ein 3-Minuten Audio-Dossier über X"*, *"Mach einen Podcast zu Thema Y"*, *"Lies mir das als Audio vor"*), gehe strikt in folgenden 4 Schritten vor: ### 1. Zieldauer & Wortbudget ermitteln Gesprochenes Deutsch / Englisch hat ein natürliches Sprechtempo von ca. **120–140 Wörtern pro Minute**. Ermittle das Wortbudget: * **Kurz-Briefing (`2m`):** ca. 250–300 Wörter. * **Standard-Dossier (`3m`–`4m`, Default):** ca. 400–550 Wörter. * **Ausführlicher Deep Dive (`5m`–`8m`):** ca. 650–1.000 Wörter. * *Formel:* `Zielminuten × 130 Wörter`. ### 2. Redaktionelle Wichtigkeits-Filterung (Preprocessing) Quelltexte sind für das Auge geschrieben, nicht für das Ohr. Bereite den Inhalt vor: * **Wichtigkeits-Kompression:** Filter die 3 bis 5 wichtigsten Kernaussagen und Aha-Momente heraus. Streiche Nebensächlichkeiten, Tabellen, rohe URLs, Codeblöcke und Fußnoten. * **Auditiver Schreibstil:** Formuliere in natürlicher, flüssiger gesprochener Sprache mit klaren Übergängen (*"Ein entscheidender Punkt hierbei ist..."*, *"Was viele überrascht: ..."*, *"Kurz gesagt: ..."*). * **Keine Markdown-Artefakte:** Verwende im Skript keine Sterne (`**`), Listenstriche oder Links. Zahlen und Akronyme ausschreiben, wenn die Aussprache sonst unklar ist (z.B. "Kubernetes ein Punkt zweiunddreißig" statt "K8s 1.32"). ### 3. Format-Entscheidung: Solo vs. Dialog (NotebookLM-Style) #### A. Dialog-Modus (Empfohlen für Themen-Deep-Dives & Podcasts) Zwei Sprecher spielen sich die Bälle zu: * **Julius (`aura-2-julius-de`):** Host, moderiert an, stellt neugierige Fragen, zieht Zwischenfazits. * **Lara (`aura-2-lara-de`):** Expertin / Co-Host, erklärt Zusammenhänge, bringt Hintergründe und Beispiele. Schreibe das Skript als JSON-Array: ```json [ {"speaker": "julius", "text": "Willkommen zum heutigen Audio-Dossier. Wir schauen uns heute das Thema X an. Lara, was ist da gerade los?"}, {"speaker": "lara", "text": "Hi Julius! Spannend ist vor allem, dass sich hier fundamental etwas geändert hat..."}, {"speaker": "julius", "text": "Das klingt nach einem großen Schritt. Wie wirkt sich das in der Praxis aus?"}, {"speaker": "lara", "text": "In der Praxis bedeutet das..."} ] ``` #### B. Solo-Modus (Empfohlen für schnelle Briefings & Reports) Ein einzelner Erzähler führt durch das Dossier: * Stimme: `aura-2-julius-de` (Deutsch) oder `aura-2-zeus-en` (Englisch). --- ## 🛠️ Ausführung & Synthese Nutze das Synthese-Skript `scripts/text_to_audio.py`. ### A. Für Dialog-Modus: 1. Speichere das strukturierte Skript temporär: ```bash cat << 'EOF' > /tmp/podcast_script.json [ {"speaker": "julius", "text": "..."}, {"speaker": "lara", "text": "..."} ] EOF ``` 2. Generiere das Audio: ```bash python3 /home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py \ --dialog-file /tmp/podcast_script.json \ --title "Titel des Dossiers" \ --output /tmp/audio-dossier.mp3 ``` ### B. Für Solo-Modus: ```bash python3 /home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py \ --text "Dein aufbereitetes Skript..." \ --voice aura-2-julius-de \ --title "Titel des Dossiers" \ --output /tmp/audio-dossier.mp3 ``` *(Hinweis: `scripts/text_to_audio.py` befindet sich relativ im Skill-Ordner, in OpenClaw erreichbar unter `/home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py` oder `./skills/text-to-audio/scripts/text_to_audio.py`).* --- ## 📱 Auslieferung an den User Das Skript gibt am Ende die Zeile `MEDIA:/tmp/...mp3` aus. Übergib in deiner Antwort an Telegram: ```markdown Hier ist dein persönliches Audio-Dossier zu **[Thema]** ([Dauer] Min.): MEDIA:/tmp/audio-dossier.mp3 ``` Telegram bindet daraufhin automatisch den integrierten Podcast-Player ein.