Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
from gtts import gTTS
|
4 |
-
from
|
|
|
5 |
import numpy as np
|
6 |
from scipy.io.wavfile import write
|
7 |
from pydub import AudioSegment
|
8 |
|
|
|
9 |
script_generator = pipeline("text-generation", model="gpt2", truncation=True, max_length=100)
|
10 |
|
11 |
|
@@ -29,14 +31,19 @@ def generate_animation(script):
|
|
29 |
texts = [item['generated_text'] for item in script if isinstance(item, dict) and 'generated_text' in item]
|
30 |
script = " ".join(texts)
|
31 |
|
32 |
-
lines = script.split('. ')
|
33 |
clips = []
|
34 |
for line in lines:
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
38 |
final_video = concatenate_videoclips(clips, method="compose")
|
39 |
-
|
|
|
|
|
40 |
|
41 |
|
42 |
def generate_sine_wave(frequency, duration, sample_rate=44100, amplitude=0.5):
|
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
from gtts import gTTS
|
4 |
+
from PIL import Image, ImageDraw, ImageFont
|
5 |
+
from moviepy.editor import CompositeVideoClip, concatenate_videoclips, ImageClip
|
6 |
import numpy as np
|
7 |
from scipy.io.wavfile import write
|
8 |
from pydub import AudioSegment
|
9 |
|
10 |
+
|
11 |
script_generator = pipeline("text-generation", model="gpt2", truncation=True, max_length=100)
|
12 |
|
13 |
|
|
|
31 |
texts = [item['generated_text'] for item in script if isinstance(item, dict) and 'generated_text' in item]
|
32 |
script = " ".join(texts)
|
33 |
|
34 |
+
lines = script.split('. ')
|
35 |
clips = []
|
36 |
for line in lines:
|
37 |
+
img = Image.new('RGB', (800, 400), color=(0, 0, 0))
|
38 |
+
d = ImageDraw.Draw(img)
|
39 |
+
fnt = ImageFont.load_default()
|
40 |
+
d.text((10, 180), line, font=fnt, fill=(255, 255, 255))
|
41 |
+
img.save('/tmp/temp.png')
|
42 |
+
clips.append(ImageClip('/tmp/temp.png').set_duration(3))
|
43 |
final_video = concatenate_videoclips(clips, method="compose")
|
44 |
+
final_video.write_videofile("/tmp/final_video.mp4", fps=24)
|
45 |
+
return "/tmp/final_video.mp4"
|
46 |
+
|
47 |
|
48 |
|
49 |
def generate_sine_wave(frequency, duration, sample_rate=44100, amplitude=0.5):
|