tts-generation

작성자: google-gemini

Convert radio show script to speech audio with telephone effect on correspondent voices using the 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

google-gemini의 다른 스킬

greeter
google-gemini
친절한 인사 스킬
official
code-reviewer
google-gemini
로컬 변경 사항과 원격 풀 리퀘스트에 대한 자동화된 코드 리뷰로, 정확성, 유지보수성, 보안 측면에서 구조화된 분석을 제공합니다. 로컬 파일 시스템 변경 사항(스테이징 및 언스테이징)과 원격 PR(번호 또는 URL 기준)을 모두 지원하며, 자동 GitHub CLI 체크아웃을 수행합니다. 정확성, 유지보수성, 가독성, 효율성, 보안, 엣지 케이스 처리, 테스트 커버리지의 일곱 가지 차원에서 코드를 분석합니다. 선택적으로 사전 검증 제품군(예: npm run preflight)을 실행하여 문제를 사전에 파악합니다.
official
review-duplication
google-gemini
코드 리뷰 중에 이 스킬을 사용하여 코드베이스에서 중복된 기능, 재발명된 바퀴, 또는 기존 코드를 재사용하지 않은 부분을 사전에 조사하세요.
official
reconciliation
google-gemini
로드된 비용을 사전 파싱된 인보이스 데이터베이스와 대조하여 금액 불일치, 누락된 인보이스, 판매자 불일치 등의 차이점을 플래그 지정합니다…
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
사용자가 비동기 PR 리뷰를 시작하거나, PR에 대한 백그라운드 검사를 실행하거나, 이전에 시작한 비동기 PR의 상태를 확인하려 할 때 이 스킬을 트리거하세요.
official
ci
google-gemini
Gemini CLI를 위한 고성능, 빠른 실패(fail-fast)를 제공하는 특화된 스킬
official
critique
google-gemini
저장소 스크립트와 GitHub Actions 워크플로우를 감사하고 수정하여 기술적 견고성과 보안을 보장하는 전문성.
official