tts-generation

Konversi naskah acara radio menjadi audio ucapan dengan efek telepon pada suara koresponden menggunakan 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

Lebih banyak skill dari 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
Panduan untuk menggunakan alat CLI Gemini API. Gunakan saat Anda perlu berinteraksi dengan Gemini API melalui baris perintah, mengelola agen, atau menghasilkan media (gambar, …)
behavioral-evals
google-gemini
Panduan untuk membuat, menjalankan, memperbaiki, dan mempromosikan evaluasi perilaku. Gunakan saat memverifikasi logika keputusan agen, men-debug kegagalan, men-debug prompt…
gemini-live-api-dev
google-gemini
Streaming dua arah secara real-time dengan Gemini melalui WebSocket untuk percakapan audio, video, dan teks. Mendukung input/output audio (PCM 16 kHz), bingkai video, teks, dan transkripsi otomatis dengan deteksi aktivitas suara untuk penanganan interupsi. Menyertakan fitur audio asli: dialog afektif, audio proaktif, dan mode berpikir; pemanggilan fungsi untuk penggunaan alat sinkron dan asinkron; serta penjangkaran Google Search. Menawarkan manajemen sesi dengan kompresi konteks, kelanjutan, dan...
gemini-omni-flash-api
google-gemini
Gunakan keterampilan ini untuk penyuntingan video generatif, teks-ke-video, pembuatan video dengan referensi gambar, dan animasi transisi bingkai pertama-ke-video menggunakan…
gemini-api-dev
google-gemini
Bangun aplikasi dengan model Gemini dari Google, mendukung konten multimodal, pemanggilan fungsi, dan keluaran terstruktur di Python, JavaScript, Go, dan Java. Akses model Gemini 3 terkini (Pro, Flash, Pro Image) dengan konteks 1M token; model lawas Gemini 2.x dan 1.5 sudah tidak digunakan lagi. Mendukung pembuatan teks, pemahaman gambar/audio/video, pemanggilan fungsi, keluaran JSON terstruktur, eksekusi kode, caching konteks, dan embeddings. SDK resmi tersedia: google-genai (Python),...
gemini-interactions-api
google-gemini
Antarmuka terpadu untuk model dan agen Gemini dengan status sisi server, streaming, dan orkestrasi alat. Mendukung beberapa model terkini (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) dan agen Deep Research; secara otomatis mengganti ID model yang tidak digunakan lagi dengan alternatif terkini. Offload riwayat percakapan ke server melalui previous_interaction_id untuk interaksi multi-putaran yang memiliki status tanpa pengelolaan riwayat manual. Orkestrasi alat bawaan termasuk...
deliver
google-gemini
Memposting versi ringkas dari briefing ke incoming webhook Google Chat atau Slack, sehingga laporan harian terkirim dengan sendirinya — melewati secara diam-diam ketika tidak ada webhook yang…