ai-script-to-video / requisites.py
Aliashraf's picture
Create requisites.py
6696082 verified
from moviepy.editor import TextClip, AudioFileClip, CompositeVideoClip
import torch
import torchaudio
from TTS.api import TTS
# Initialize AI Text-to-Speech (Coqui TTS)
tts_model = TTS("tts_models/en/ljspeech/glow-tts").to("cpu")
vocoder = "vocoders/en/ljspeech/hifigan_v2"
def generate_speech(text):
"""Convert text to AI-generated speech using Coqui TTS."""
audio_path = "output_audio.wav"
tts_model.tts_to_file(text=text, file_path=audio_path, speaker_wav=None, vocoder_path=vocoder)
return audio_path
def create_video(text, audio_path):
"""Generate a video with text overlay and AI-generated speech."""
audio = AudioFileClip(audio_path)
duration = audio.duration
# Create text overlay
txt_clip = TextClip(text, fontsize=40, color="white", size=(1280, 720))
txt_clip = txt_clip.set_position("center").set_duration(duration)
# Combine text with audio
video = CompositeVideoClip([txt_clip.set_audio(audio)], size=(1280, 720))
output_video = "output_video.mp4"
video.write_videofile(output_video, fps=24, codec="libx264")
return output_video