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.