File size: 754 Bytes
c636cc6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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