tts-generation

Convierte el guion de un programa de radio en audio de voz con efecto telefónico en las voces de los corresponsales usando la API de Interactions.

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

Más skills de 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
Guía para usar la herramienta CLI de la API de Gemini. Úsala cuando necesites interactuar con la API de Gemini a través de la línea de comandos, gestionar agentes o generar contenido multimedia (imágenes,…
behavioral-evals
google-gemini
Guía para crear, ejecutar, corregir y promover evaluaciones conductuales. Úsese al verificar la lógica de decisión del agente, depurar fallos, depurar indicaciones…
gemini-live-api-dev
google-gemini
Transmisión bidireccional en tiempo real con Gemini a través de WebSockets para conversaciones de audio, video y texto. Admite entrada/salida de audio (PCM de 16 kHz), fotogramas de video, texto y transcripciones automáticas con detección de actividad de voz para manejo de interrupciones. Incluye funciones de audio nativas: diálogo afectivo, audio proactivo y modo de pensamiento; llamada a funciones para uso sincrónico y asincrónico de herramientas; y fundamentación con Google Search. Ofrece gestión de sesiones con compresión de contexto, reanudación y...
gemini-omni-flash-api
google-gemini
Usa esta habilidad para edición generativa de video, texto a video, generación de video con referencia de imagen y animaciones de transición de primer fotograma a video utilizando el…
gemini-api-dev
google-gemini
Crea aplicaciones con los modelos Gemini de Google, compatible con contenido multimodal, llamadas a funciones y salidas estructuradas en Python, JavaScript, Go y Java. Accede a los modelos actuales Gemini 3 (Pro, Flash, Pro Image) con contexto de 1 millón de tokens; los modelos heredados Gemini 2.x y 1.5 están obsoletos. Admite generación de texto, comprensión de imágenes/audio/video, llamadas a funciones, salida JSON estructurada, ejecución de código, almacenamiento en caché de contexto y embeddings. SDKs oficiales disponibles: google-genai (Python),...
gemini-interactions-api
google-gemini
Interfaz unificada para modelos y agentes Gemini con estado del lado del servidor, transmisión y orquestación de herramientas. Soporta múltiples modelos actuales (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) y el agente Deep Research; sustituye automáticamente IDs de modelos obsoletos por alternativas actuales. Descarga el historial de conversación al servidor mediante previous_interaction_id para interacciones multi-turno con estado sin gestión manual del historial. Orquestación de herramientas integrada que incluye...
deliver
google-gemini
Publica una versión condensada del informe en un webhook entrante de Google Chat o Slack, de modo que el resumen diario se entregue solo — se omite silenciosamente cuando no hay un webhook…