Skip to content

Audio

the_data_packet.generation.audio

Audio generation using Vertex AI Gemini TTS.

logger = get_logger(__name__) module-attribute

AudioResult dataclass

Result of audio generation.

output_file: Path instance-attribute

duration_seconds: Optional[float] = None class-attribute instance-attribute

file_size_bytes: Optional[int] = None class-attribute instance-attribute

generation_time_seconds: Optional[float] = None class-attribute instance-attribute

__init__(output_file: Path, duration_seconds: Optional[float] = None, file_size_bytes: Optional[int] = None, generation_time_seconds: Optional[float] = None) -> None

AudioGenerator

Generates podcast audio from scripts using Vertex AI Gemini TTS.

AVAILABLE_VOICES = {'male': ['Puck'], 'female': ['Kore']} class-attribute instance-attribute

TTS_MODEL = 'gemini-3.1-flash-tts-preview' class-attribute instance-attribute

SAMPLE_RATE = 24000 class-attribute instance-attribute

male_voice = male_voice or getattr(config, 'male_voice', 'Puck') instance-attribute

female_voice = female_voice or getattr(config, 'female_voice', 'Kore') instance-attribute

project = project or getattr(config, 'google_cloud_project', 'gen-lang-client-0429374219') instance-attribute

location = location instance-attribute

config = config instance-attribute

tts_client = genai.Client(vertexai=True, project=(self.project), location=(self.location), http_options=(HttpOptions(api_version='v1'))) instance-attribute

__init__(male_voice: Optional[str] = None, female_voice: Optional[str] = None, project: Optional[str] = None, location: str = 'us-central1')

generate_audio(script: str, output_file: Optional[Path] = None) -> AudioResult

Generate audio from a podcast script.

get_available_voices() -> Dict[str, List[str]]

Get available Vertex AI TTS voices.

convert_wav_to_mp3(wav_path: Path, mp3_path: Path) -> None

Convert a wav file to mp3 using pydub.