import gradio as gr from gtrox.pipeline import analyze_audio with gr.Blocks(title="GTROX Speech Coach") as demo: gr.Markdown("# GTROX Speech Coach") gr.Markdown( "GPU transcription by NVIDIA Parakeet, delivery KPIs, and personalized " "coaching by Qwen2.5." ) audio_input = gr.Audio( type="filepath", label="Record or Upload Audio", sources=["microphone", "upload"], ) analyze_btn = gr.Button("Analyze Speech", variant="primary") transcript_box = gr.Textbox(label="Transcript", lines=8) metrics_table = gr.Dataframe( headers=["Metric", "Value"], interactive=False, ) feedback_box = gr.Markdown(label="Coach Feedback") analyze_btn.click( analyze_audio, inputs=audio_input, outputs=[transcript_box, metrics_table, feedback_box], ) if __name__ == "__main__": demo.launch()