from agent.planner import prepare_script from processing.slide_parser import parse_slides from utils.translator import translate_text from speech.tts_engine import generate_voice def generate_lecture(ppt_file, language, progress=0): slides = parse_slides(ppt_file) audios = [] scripts = [] total = len(slides) for idx, slide in enumerate(slides): slide_text = slide["text"] script = prepare_script(slide_text) translated = translate_text(script, language) audio = generate_voice(translated, language) audios.append(audio) scripts.append(f"Slide {slide['index']}:\n{translated}\n") progress = int(((idx+1)/total)*100) return audios, "\n".join(scripts), progress