ysharma HF Staff commited on
Commit
b69a7c1
·
1 Parent(s): e800a87
Files changed (1) hide show
  1. app.py +47 -1
app.py CHANGED
@@ -3,14 +3,60 @@ import os
3
  import requests
4
  import urllib
5
  from os import path
6
- from pydub import AudioSegment
 
 
 
 
 
7
 
8
  img_to_text = gr.Blocks.load(name="spaces/pharma/CLIP-Interrogator")
 
9
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  def clip_intero_inference(uploaded_image):
11
  prompt = img_to_text(uploaded_image, fn_index=1)[0]
12
  return prompt
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  with gr.Blocks() as demo:
15
  with gr.Row():
16
  #in_newssource = gr.Dropdown(["Google News", "The Hindu", "Times Of India"], label='Choose a News Outlet')
 
3
  import requests
4
  import urllib
5
  from os import path
6
+
7
+ import PIL
8
+ from PIL import Image
9
+ from PIL import ImageDraw
10
+ from PIL import ImageFont
11
+
12
 
13
  img_to_text = gr.Blocks.load(name="spaces/pharma/CLIP-Interrogator")
14
+ prompt_to_joke = gr.Blocks.load(name="spaces/ysharma/Voice-to-jokes")
15
 
16
+ def driver(uploaded_image):
17
+ #get clip interogator's prompt response
18
+ prompt = clip_intero_inference(uploaded_image)
19
+
20
+ #get a joke based on the prompt
21
+ generated_joke = voicetojoke_inference(prompt)
22
+
23
+ #write on the image
24
+ image0 = write_on_image(uploaded_image, joke)
25
+
26
+ return image0
27
+
28
  def clip_intero_inference(uploaded_image):
29
  prompt = img_to_text(uploaded_image, fn_index=1)[0]
30
  return prompt
31
 
32
+ def voicetojoke_inference(prompt):
33
+ generated_joke = prompt_to_joke(None, prompt)[1] # dummy_transcript, dummy_audio
34
+ return generated_joke
35
+
36
+ #def download_image(url):
37
+ # response = requests.get(url)
38
+ # return PIL.Image.open(BytesIO(response.content)).convert("RGB").resize((512, 512))
39
+
40
+
41
+ def write_on_image(uploaded_image, joke):
42
+ print("************ Inside write_on_image ***********")
43
+ #image_path0 = "./distracted0.jpg"
44
+ image0 = Image.open(uploaded_image).convert("RGB").resize((512, 512)) #(image_path0)
45
+ I1 = ImageDraw.Draw(image0)
46
+ myfont = ImageFont.truetype('./font1.ttf', 30)
47
+
48
+ prompt_list = joke #final_solution.split('\n')
49
+ topline = ' '.join(joke.split()[:5])
50
+ bottomline = ' '.join(joke.split()[5:])
51
+ print(f"Joke is : {joke}")
52
+ print(f"top line is : {topline }")
53
+ print(f"bottom line is : {bottomline }")
54
+
55
+ I1.text((14, 14), topline, font=myfont, fill =(255, 255, 255))
56
+ I1.text((14, 454), bottomline, font=myfont, fill =(255, 255, 255))
57
+
58
+ return image0 #, new_prompt
59
+
60
  with gr.Blocks() as demo:
61
  with gr.Row():
62
  #in_newssource = gr.Dropdown(["Google News", "The Hindu", "Times Of India"], label='Choose a News Outlet')