File size: 1,108 Bytes
6696082
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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