slidespeaker / agent /controller.py
subramaniansrc's picture
Create agent/controller.py
c636cc6 verified
Raw
History Blame Contribute Delete
754 Bytes
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