91 lines
3.6 KiB
Markdown
91 lines
3.6 KiB
Markdown
---
|
||
name: text-to-audio
|
||
description: Transformiert Quelltexte, Recherchen, Dossiers, Artikel oder Notizen in ein hochwertiges Audio-Dossier. Erstellt standardmäßig ein Solo-Briefing mit natürlicher Stimme (Google Gemini 3.1 Flash TTS). Schaltet nur dann auf einen Zwei-Sprecher-Dialog um, wenn der Begriff "Podcast" explizit genannt wird.
|
||
---
|
||
|
||
# 🎙️ Text-to-Audio Dossier & Podcast Producer
|
||
|
||
Dieser Skill transformiert beliebige Quelltexte (Recherchen, Restaurant-Infos, Artikel, Notizen, Reports) in ein professionelles Audio-Dossier mit **Google Gemini 3.1 Flash TTS**.
|
||
|
||
---
|
||
|
||
## 🧭 Kern-Regeln für das Format
|
||
|
||
### 1. Standard-Modus: Solo-Monolog (DEFAULT)
|
||
* **Immer Standard für:** Audio-Dossiers, Audio-Briefings, Zusammenfassungen, "Lies mir das vor", "Erstelle ein Audio zu X", tägliche News.
|
||
* **Ein einzelner, charismatischer Sprecher:** Kein künstlicher Dialog, keine erfundenen Zwischenfragen. Ein flüssiger, strukturierter, gut erzählter Vortrag.
|
||
* **Vorausgewählte Stimmen:**
|
||
* **Deutsch:** `Puck` (lebendig, warm, dynamisch) oder `Charon` (tief, ruhig, sachlich).
|
||
* **Englisch:** `Zephyr` (natürlich, ausgewogen, klar).
|
||
|
||
### 2. Dialog-Modus: Nur bei explizitem "Podcast"-Wunsch
|
||
* **NUR verwenden, wenn:** Der User explizit das Wort **"Podcast"** (oder "Zwei Moderatoren", "Dialog") verwendet!
|
||
* **Zwei Sprecher (Host & Co-Host):**
|
||
* **Host:** `Puck` (moderiert an, leitet durch die Themen).
|
||
* **Co-Host / Expertin:** `Aoede` (bringt Details, Einschätzungen und Praxisbeispiele).
|
||
|
||
---
|
||
|
||
## ⏱️ Zieldauer & Pacing (~130 Wörter / Minute)
|
||
|
||
Ermittle die gewünschte Dauer oder nutze den Standard:
|
||
* **Kurz-Dossier (`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.
|
||
|
||
### Redaktionelles Skripting
|
||
* **Wichtigkeit vor Quantität:** Kernaussagen und Aha-Momente priorisieren, Füllmaterial und Wiederholungen streichen.
|
||
* **Für das Ohr schreiben:** Keine Markdown-Artefakte (Sterne, Listen, rohe URLs, Tabellen). Klare akustische Übergänge nutzen.
|
||
|
||
---
|
||
|
||
## 🛠️ Ausführung & Synthese
|
||
|
||
Nutze das Skript `scripts/text_to_audio.py` (bzw. `/home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py` im Cluster).
|
||
|
||
### A. Solo-Modus (Standard)
|
||
Schreibe das Skript am besten in eine Datei, um Shell-Escaping-Probleme zu vermeiden:
|
||
|
||
```bash
|
||
# 1. Skript in Datei schreiben
|
||
cat << 'TXT_EOF' > /tmp/dossier_script.txt
|
||
Dein aufbereitetes Skript ohne Markdown-Artefakte...
|
||
TXT_EOF
|
||
|
||
# 2. Synthese starten (läuft parallel & fällt bei Gemini-Timeouts automatisch auf MiniMax zurück)
|
||
python3 /home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py \
|
||
--file /tmp/dossier_script.txt \
|
||
--voice Puck \
|
||
--lang de \
|
||
--title "Titel des Dossiers" \
|
||
--output /tmp/audio-dossier.mp3
|
||
```
|
||
|
||
### B. Dialog-Modus (NUR wenn "Podcast" explizit verlangt)
|
||
```bash
|
||
cat << 'JSON_EOF' > /tmp/podcast_dialog.json
|
||
[
|
||
{"speaker": "host", "text": "Willkommen zum Podcast. Heute sprechen wir über..."},
|
||
{"speaker": "cohost", "text": "Hi! Ja, das Thema ist super spannend, weil..."}
|
||
]
|
||
JSON_EOF
|
||
|
||
python3 /home/node/mop-skills/mop-skills/skills/text-to-audio/scripts/text_to_audio.py \
|
||
--dialog-file /tmp/podcast_dialog.json \
|
||
--lang de \
|
||
--title "Podcast Titel" \
|
||
--output /tmp/audio-dossier.mp3
|
||
```
|
||
|
||
---
|
||
|
||
## 📱 Auslieferung an den User
|
||
|
||
Das Skript gibt am Ende `MEDIA:/tmp/...mp3` aus. Antworte in Telegram:
|
||
|
||
```markdown
|
||
Hier ist dein Audio-Dossier zu **[Thema]** ([Dauer] Min.):
|
||
|
||
MEDIA:/tmp/audio-dossier.mp3
|
||
```
|