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