Spaces:
Build error
Build error
| import gradio as gr | |
| from processing.slide_parser import parse_slides | |
| from agent.planner import explain_slide | |
| from utils.translator import translate | |
| from speech.tts_engine import create_voice | |
| def generate_lecture(ppt_file, language): | |
| slides = parse_slides(ppt_file) | |
| scripts = [] | |
| audio_files = [] | |
| total = len(slides) | |
| for i, slide in enumerate(slides): | |
| explanation = explain_slide(slide["text"]) | |
| translated = translate(explanation, language) | |
| audio = create_voice(translated, language) | |
| scripts.append( | |
| f"Slide {slide['index']}:\n{translated}\n" | |
| ) | |
| audio_files.append(audio) | |
| progress = int((i+1)/total*100) | |
| return audio_files, "\n".join(scripts), progress | |
| with gr.Blocks() as demo: | |
| gr.Markdown(""" | |
| # ๐ AI Agentic Slide Lecturer | |
| Upload a PowerPoint presentation. | |
| The AI will: | |
| - Explain each slide | |
| - Generate narration | |
| - Support Tamil / English | |
| """) | |
| ppt_input = gr.File(label="Upload PPTX") | |
| language = gr.Radio( | |
| ["English","Tamil"], | |
| value="English", | |
| label="Lecture Language" | |
| ) | |
| run_btn = gr.Button("Generate Lecture") | |
| progress = gr.Slider( | |
| 0, | |
| 100, | |
| value=0, | |
| label="Progress" | |
| ) | |
| audio_output = gr.Audio( | |
| label="Slide Narration" | |
| ) | |
| script_output = gr.Textbox( | |
| label="Lecture Script", | |
| lines=15 | |
| ) | |
| run_btn.click( | |
| generate_lecture, | |
| inputs=[ppt_input, language], | |
| outputs=[audio_output, script_output, progress] | |
| ) | |
| demo.launch() |