in experiments/babel/app/pages/explore.py [0:0]
def regenerate_welcome(e: me.ClickEvent): # pylint: disable=unused-argument
"""regenerate welcome statement"""
state = me.state(PageState)
state.is_loading = True
state.audio_output_infos.clear()
yield
greetings = [
"Welcome!",
"Welcome to Chirp 3 H D!",
"Welcome, great to see you!",
"Welcome to Chirp 3: HD!",
"Welcome!",
"Greetings!",
]
random_greeting = random.choice(greetings)
state.welcome_statement = random_greeting
yield
data = generate_audio(random_greeting)
filtered_metadata: list[BabelMetadata] = [
{
"voice_name": item["voice_name"],
"language_code": item["language_code"],
"gender": item["gender"],
"text": item["text"],
"audio_path": item["audio_path"],
}
for item in data["audio_metadata"]
if "voice_name" in item
and ("Puck" in item["voice_name"] or "Leda" in item["voice_name"])
]
state.audio_output_metadata = filtered_metadata
state.is_loading = False
print(f"Received {len(state.audio_output_metadata)} voices")
yield