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

greeter
google-gemini
Sebuah skill penyapa yang ramah
official
code-reviewer
google-gemini
Tinjauan kode otomatis untuk perubahan lokal dan permintaan pull jarak jauh dengan analisis terstruktur di seluruh aspek kebenaran, kemudahan pemeliharaan, dan keamanan. Mendukung perubahan sistem file lokal (yang sudah di-stage dan belum di-stage) serta PR jarak jauh (berdasarkan nomor atau URL) dengan pemeriksaan otomatis GitHub CLI. Menganalisis kode dalam tujuh dimensi: kebenaran, kemudahan pemeliharaan, keterbacaan, efisiensi, keamanan, penanganan kasus tepi, dan cakupan pengujian. Menjalankan rangkaian verifikasi prapenerbangan opsional (misalnya, npm run preflight) untuk menangkap...
official
review-duplication
google-gemini
Gunakan keterampilan ini selama peninjauan kode untuk secara proaktif menyelidiki basis kode terhadap fungsionalitas duplikat, roda yang diciptakan ulang, atau kegagalan menggunakan kembali yang sudah ada…
official
reconciliation
google-gemini
Rekonsiliasi biaya yang dimuat terhadap database faktur yang telah diurai sebelumnya, menandai ketidaksesuaian seperti ketidakcocokan jumlah, faktur yang hilang, dan ketidakcocokan pedagang…
official
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…
official
async-pr-review
google-gemini
Picu keterampilan ini saat pengguna ingin memulai tinjauan PR asinkron, menjalankan pemeriksaan latar belakang pada PR, atau memeriksa status PR asinkron yang sebelumnya dimulai…
official
ci
google-gemini
Keahlian khusus untuk Gemini CLI yang menyediakan kinerja tinggi dan cepat gagal
official
critique
google-gemini
Keahlian dalam mengaudit dan memperbaiki skrip repositori serta alur kerja GitHub Actions untuk memastikan ketahanan teknis dan keamanan.
official