2024-02-15 11:23:36 +01:00
|
|
|
import moviepy
|
2024-02-15 12:27:13 +01:00
|
|
|
import time
|
|
|
|
|
import os
|
2024-02-15 11:23:36 +01:00
|
|
|
|
|
|
|
|
from .. import engines
|
2024-02-15 12:27:13 +01:00
|
|
|
from ..utils.prompting import get_prompt
|
|
|
|
|
|
2024-02-15 11:23:36 +01:00
|
|
|
class GenerationContext:
|
|
|
|
|
|
2024-02-15 12:27:13 +01:00
|
|
|
def __init__(self, powerfulllmengine: engines.LLMEngine.BaseLLMEngine, simplellmengine: engines.LLMEngine.BaseLLMEngine, scriptengine: engines.ScriptEngine.BaseScriptEngine, ttsengine: engines.TTSEngine.BaseTTSEngine) -> None:
|
|
|
|
|
self.powerfulllmengine = powerfulllmengine
|
|
|
|
|
self.powerfulllmengine.ctx = self
|
|
|
|
|
|
|
|
|
|
self.simplellmengine = simplellmengine
|
|
|
|
|
self.simplellmengine.ctx = self
|
2024-02-15 11:23:36 +01:00
|
|
|
|
|
|
|
|
self.scriptengine = scriptengine
|
|
|
|
|
self.scriptengine.ctx = self
|
|
|
|
|
|
|
|
|
|
self.ttsengine = ttsengine
|
|
|
|
|
self.ttsengine.ctx = self
|
2024-02-15 12:27:13 +01:00
|
|
|
def setup_dir(self):
|
|
|
|
|
self.dir = f"output/{time.time()}"
|
|
|
|
|
os.makedirs(self.dir)
|
|
|
|
|
|
2024-02-15 11:23:36 +01:00
|
|
|
def process(self):
|
2024-02-15 12:27:13 +01:00
|
|
|
self.setup_dir()
|
|
|
|
|
|
|
|
|
|
script = self.scriptengine.generate()
|
|
|
|
|
|
|
|
|
|
timed_script = self.ttsengine.synthesize(script, self.dir)
|