Aliashraf commited on
Commit
6696082
·
verified ·
1 Parent(s): 93a9993

Create requisites.py

Browse files
Files changed (1) hide show
  1. requisites.py +30 -0
requisites.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from moviepy.editor import TextClip, AudioFileClip, CompositeVideoClip
2
+ import torch
3
+ import torchaudio
4
+ from TTS.api import TTS
5
+
6
+ # Initialize AI Text-to-Speech (Coqui TTS)
7
+ tts_model = TTS("tts_models/en/ljspeech/glow-tts").to("cpu")
8
+ vocoder = "vocoders/en/ljspeech/hifigan_v2"
9
+
10
+ def generate_speech(text):
11
+ """Convert text to AI-generated speech using Coqui TTS."""
12
+ audio_path = "output_audio.wav"
13
+ tts_model.tts_to_file(text=text, file_path=audio_path, speaker_wav=None, vocoder_path=vocoder)
14
+ return audio_path
15
+
16
+ def create_video(text, audio_path):
17
+ """Generate a video with text overlay and AI-generated speech."""
18
+ audio = AudioFileClip(audio_path)
19
+ duration = audio.duration
20
+
21
+ # Create text overlay
22
+ txt_clip = TextClip(text, fontsize=40, color="white", size=(1280, 720))
23
+ txt_clip = txt_clip.set_position("center").set_duration(duration)
24
+
25
+ # Combine text with audio
26
+ video = CompositeVideoClip([txt_clip.set_audio(audio)], size=(1280, 720))
27
+ output_video = "output_video.mp4"
28
+ video.write_videofile(output_video, fps=24, codec="libx264")
29
+
30
+ return output_video