tts-generation

Konvertiere ein Radiosendungsskript in Sprachaudio mit Telefoneffekt auf den Stimmen der Korrespondenten unter Verwendung der Interactions API.

npx skills add https://github.com/google-gemini/gemini-managed-agents-templates --skill tts-generation

TTS Generation

Convert the radio show script into speech audio using the Gemini TTS model via the Interactions API. Apply a telephone bandpass filter to correspondent voices so they sound like phone call-ins, while keeping the host's voice clean studio-quality.

Embedded Script

python3 skills/tts-generation/scripts/generate_tts.py --workspace ./workspace

Arguments

ArgumentDefaultDescription
--workspaceworkspaceRoot workspace directory
--workers8Max parallel TTS worker threads

What it does

  1. Reads the script from {workspace}/data/script.md.
  2. Parses it into individual (speaker, text) turns and assigns voices.
  3. Generates TTS for all turns in parallel using a thread pool (default 8 workers).
  4. Retries each failed turn up to 3 times with exponential backoff.
  5. Applies an ffmpeg telephone bandpass filter (300Hz–3.4kHz) to correspondent voices.
  6. Keeps the host (Paul) audio clean and unfiltered.
  7. Concatenates all segments in original script order into a single WAV.

Dependencies

  • google-genai (>= 2.0.0)
  • ffmpeg (system)

API Details

Uses the Interactions API with single-speaker TTS — no multi-speaker workaround needed.

Voice Assignment

Voices are assigned dynamically based on [Male] / [Female] gender tags in the script:

SpeakerVoiceAudio Treatment
Paul (host)PuckClean — no filter
Caller [Female] — 1stKoreTelephone filter
Caller [Female] — 2ndAoedeTelephone filter
Caller [Male] — 1stCharonTelephone filter
Caller [Male] — 2ndFenrirTelephone filter

Voices cycle round-robin if there are more callers than available voices. Accent tags ([Accent: Irish], etc.) are injected into the TTS prompt to influence pronunciation.

Telephone Filter

Applied via ffmpeg to correspondent audio segments:

highpass=f=300, lowpass=f=3400, acompressor, volume=1.5

This simulates the standard telephone bandwidth (300Hz–3.4kHz) and adds compression to mimic phone codec dynamics.

Output

  • Primary output: {workspace}/audio/speech/speech.wav
  • Format: WAV, 24kHz, 16-bit PCM, mono
  • Intermediate segments: {workspace}/audio/speech/segments/turn_*.wav

Mehr Skills von google-gemini

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
Anleitung zur Verwendung des Gemini API CLI-Tools. Verwenden Sie es, wenn Sie über die Befehlszeile mit der Gemini API interagieren, Agents verwalten oder Medien (Bilder, …) erstellen müssen.
behavioral-evals
google-gemini
Anleitung zum Erstellen, Ausführen, Beheben und Fördern von Verhaltensevaluierungen. Verwenden Sie dies zur Überprüfung der Entscheidungslogik von Agenten, zum Debuggen von Fehlern, zum Debuggen von Prompts…
gemini-live-api-dev
google-gemini
Echtzeit-bidirektionales Streaming mit Gemini über WebSockets für Audio-, Video- und Textgespräche. Unterstützt Audio-Eingabe/-Ausgabe (16 kHz PCM), Videobilder, Text und automatische Transkriptionen mit Spracherkennung zur Unterbrechungsverwaltung. Enthält native Audiofunktionen: affektiven Dialog, proaktives Audio und Denkmodus; Funktionsaufrufe für synchrone und asynchrone Werkzeugnutzung; sowie Google Search Grounding. Bietet Sitzungsverwaltung mit Kontextkomprimierung, Wiederaufnahme und...
gemini-omni-flash-api
google-gemini
Nutzen Sie diese Fähigkeit für generative Videobearbeitung, Text-zu-Video, bildreferenzierte Videogenerierung und Übergangsanimationen vom ersten Bild zum Video unter Verwendung der…
gemini-api-dev
google-gemini
Erstellen Sie Anwendungen mit Googles Gemini-Modellen, die multimodale Inhalte, Funktionsaufrufe und strukturierte Ausgaben in Python, JavaScript, Go und Java unterstützen. Greifen Sie auf aktuelle Gemini 3 Modelle (Pro, Flash, Pro Image) mit 1M Token-Kontext zu; ältere Gemini 2.x und 1.5 Modelle sind veraltet. Unterstützt Textgenerierung, Bild-/Audio-/Video-Verständnis, Funktionsaufrufe, strukturierte JSON-Ausgabe, Codeausführung, Kontext-Caching und Embeddings. Offizielle SDKs verfügbar: google-genai (Python),...
gemini-interactions-api
google-gemini
Einheitliche Schnittstelle für Gemini-Modelle und Agents mit serverseitigem Zustand, Streaming und Tool-Orchestrierung. Unterstützt mehrere aktuelle Modelle (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) und den Deep Research Agent; ersetzt automatisch veraltete Modell-IDs durch aktuelle Alternativen. Auslagern des Gesprächsverlaufs an den Server über previous_interaction_id für zustandsbehaftete Multi-Turn-Interaktionen ohne manuelle Verlaufverwaltung. Integrierte Tool-Orchestrierung inklusive...
deliver
google-gemini
Veröffentlicht eine gekürzte Version des Briefings an einen Google Chat- oder Slack-Incoming-Webhook, sodass sich der tägliche Lauf selbst zustellt – und überspringt still, wenn kein Webhook …