tts-generation

Преобразование сценария радиопередачи в речевое аудио с эффектом телефонного разговора для голосов корреспондентов с использованием 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

Больше skills от 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
Руководство по использованию инструмента командной строки Gemini API. Используйте, когда вам нужно взаимодействовать с Gemini API через командную строку, управлять агентами или генерировать медиа (изображения,…
behavioral-evals
google-gemini
Руководство по созданию, запуску, исправлению и продвижению поведенческих оценок. Используется при проверке логики принятия решений агентом, отладке сбоев, отладке подсказок…
gemini-live-api-dev
google-gemini
Реализация двусторонней потоковой передачи в реальном времени с Gemini через WebSockets для аудио-, видео- и текстовых диалогов. Поддерживает ввод/вывод аудио (16 кГц PCM), видеокадры, текст и автоматические транскрипции с обнаружением голосовой активности для обработки прерываний. Включает встроенные аудиофункции: аффективный диалог, упреждающее аудио и режим размышления; вызов функций для синхронного и асинхронного использования инструментов; а также привязку к Google Search. Предлагает управление сессиями с сжатием контекста, возобновлением и...
gemini-omni-flash-api
google-gemini
Используйте этот навык для генеративного видеомонтажа, преобразования текста в видео, генерации видео по изображению-референсу и анимации переходов от первого кадра к видео с помощью…
gemini-api-dev
google-gemini
Создавайте приложения с моделями Google Gemini, поддерживающими мультимодальный контент, вызов функций и структурированные выходные данные на Python, JavaScript, Go и Java. Доступ к текущим моделям Gemini 3 (Pro, Flash, Pro Image) с контекстом в 1 миллион токенов; устаревшие модели Gemini 2.x и 1.5 больше не поддерживаются. Поддерживается генерация текста, понимание изображений, аудио и видео, вызов функций, структурированный вывод JSON, выполнение кода, кэширование контекста и эмбеддинги. Официальные SDK: google-genai (Python),...
gemini-interactions-api
google-gemini
Унифицированный интерфейс для моделей и агентов Gemini с состоянием на стороне сервера, потоковой передачей и оркестрацией инструментов. Поддерживает несколько актуальных моделей (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) и агента Deep Research; автоматически заменяет устаревшие идентификаторы моделей на актуальные альтернативы. Выгружает историю диалога на сервер через previous_interaction_id для многошаговых взаимодействий с сохранением состояния без ручного управления историей. Встроенная оркестрация инструментов, включая...
deliver
google-gemini
Публикует сжатую версию брифинга во входящий вебхук Google Chat или Slack, так что ежедневный запуск доставляет себя сам — молча пропускается, когда вебхук не…