Maximofn commited on
Commit
f0ef122
1 Parent(s): 1fbddba

Add to forntend social media icons, h1 and subtify logo

Browse files
.gitignore CHANGED
@@ -12,4 +12,6 @@ forma_de_onda.ipynb
12
  pretrained_models
13
  sepformer.ipynb
14
  modelscope.ipynb
15
- audio_cache
 
 
 
12
  pretrained_models
13
  sepformer.ipynb
14
  modelscope.ipynb
15
+ audio_cache
16
+ *.png
17
+ *.webp
app.py CHANGED
@@ -8,6 +8,7 @@ from lang_list import union_language_dict
8
  # import pyperclip
9
  from pytube import YouTube
10
  import re
 
11
 
12
  NUMBER = 100
13
  DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
@@ -29,6 +30,41 @@ YOUTUBE = "youtube"
29
  TWITCH = "twitch"
30
  ERROR = "error"
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  language_dict = union_language_dict()
33
 
34
  def subtify_no_ui():
@@ -246,6 +282,10 @@ def reset_frontend():
246
  gr.Video(visible=visible),
247
  )
248
 
 
 
 
 
249
  def get_youtube_thumbnail(url):
250
  yt = YouTube(url)
251
  thumbnail_url = yt.thumbnail_url
@@ -331,6 +371,7 @@ def change_visibility_texboxes():
331
  gr.Textbox(visible=True),
332
  gr.Textbox(visible=True),
333
  gr.Textbox(visible=True),
 
334
  )
335
 
336
  def get_audio_and_video_from_video(url):
@@ -477,15 +518,23 @@ def add_translated_subtitles_to_video(original_video_path, original_audio_path,
477
  def subtify():
478
  with gr.Blocks() as demo:
479
  num_speaker = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
 
 
 
 
 
480
 
481
  # Layout
482
- gr.Markdown("""# Subtify""")
 
 
483
  with gr.Row(variant="panel"):
484
  url_textbox = gr.Textbox(placeholder="Add video URL here", label="Video URL", elem_id="video_url", scale=1, interactive=True)
485
  # copy_button = gr.Button(size="sm", icon="icons/copy.svg", value="", min_width="10px", scale=0)
486
  delete_button = gr.Button(size="sm", icon="icons/delete.svg", value="", min_width="10px", scale=0)
487
 
488
  visible = False
 
489
  with gr.Row(equal_height=False):
490
  image = gr.Image(visible=visible, scale=1)
491
  with gr.Column():
@@ -496,7 +545,7 @@ def subtify():
496
  with gr.Row():
497
  subtify_button = gr.Button(size="lg", value="subtify", min_width="10px", scale=0, visible=visible)
498
 
499
- auxiliar_block = gr.Textbox(placeholder="Waiting", label="Auxiliar block", elem_id="auxiliar_block", interactive=False, visible=visible)
500
  with gr.Row():
501
  video_donwloaded_progress_info = gr.Textbox(placeholder="Waiting", label="Video downloaded progress info", elem_id="video_donwloaded_progress_info", interactive=False, visible=visible)
502
  video_sliced_progress_info = gr.Textbox(placeholder="Waiting", label="Video sliced progress info", elem_id="video_sliced_progress_info", interactive=False, visible=visible)
@@ -522,7 +571,7 @@ def subtify():
522
  target_languaje,
523
  number_of_speakers,
524
  subtify_button,
525
- auxiliar_block,
526
  video_donwloaded_progress_info,
527
  video_sliced_progress_info,
528
  video_transcribed_progress_info,
@@ -533,15 +582,19 @@ def subtify():
533
  ]
534
  )
535
  url_textbox.change(
 
 
 
 
536
  fn=is_valid_url,
537
  inputs=url_textbox,
538
  outputs=[image, source_languaje, target_languaje, number_of_speakers, subtify_button]
539
  )
540
  subtify_button.click(
541
  fn=change_visibility_texboxes,
542
- outputs=[auxiliar_block, video_donwloaded_progress_info, video_sliced_progress_info, video_transcribed_progress_info, transcriptions_concatenated_progress_info, video_translated_progress_info, video_subtitled_progress_info]
543
  )
544
- auxiliar_block.change(
545
  fn=get_audio_and_video_from_video,
546
  inputs=[url_textbox],
547
  outputs=[video_donwloaded_progress_info, original_audio_path, original_video_path]
 
8
  # import pyperclip
9
  from pytube import YouTube
10
  import re
11
+ from PIL import Image
12
 
13
  NUMBER = 100
14
  DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
 
30
  TWITCH = "twitch"
31
  ERROR = "error"
32
 
33
+ html_social_media = '''
34
+ <div style="float: right;">
35
+ <a href="https://maximofn.com/" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
36
+ <img src="http://127.0.0.1:7860/file=assets/MFN.svg" alt="MFN icon" width="16px">
37
+ </a>
38
+ <a href="http://github.com/maximofn" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
39
+ <img src="http://127.0.0.1:7860/file=assets/github.svg" alt="github icon">
40
+ </a>
41
+ <a href="http://linkedin.com/in/MaximoFN/" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
42
+ <img src="http://127.0.0.1:7860/file=assets/linkedin.svg" alt="linkedin icon">
43
+ </a>
44
+ <a href="https://www.facebook.com/profile.php?id=100085177670661" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
45
+ <img src="http://127.0.0.1:7860/file=assets/facebook.svg" alt="facebook icon">
46
+ </a>
47
+ <a href="https://twitter.com/Maximo_fn" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
48
+ <img src="http://127.0.0.1:7860/file=assets/x.svg" alt="x icon">
49
+ </a>
50
+ <a href="https://www.instagram.com/maximo__fn/" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
51
+ <img src="http://127.0.0.1:7860/file=assets/instagram.svg" alt="instagram icon">
52
+ </a>
53
+ <a href="https://www.tiktok.com/@maximo__fn" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
54
+ <img src="http://127.0.0.1:7860/file=assets/tiktok.svg" alt="tiktok icon">
55
+ </a>
56
+ <a href="https://www.twitch.tv/maximofn/" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
57
+ <img src="http://127.0.0.1:7860/file=assets/twitch.svg" alt="twitch icon">
58
+ </a>
59
+ <a href="https://www.youtube.com/channel/UCdQwg2JU_fWRsHn3yIlf3tw" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
60
+ <img src="http://127.0.0.1:7860/file=assets/youtube.svg" alt="youtube icon">
61
+ </a>
62
+ <a href="http://kaggle.com/maximofn" rel="noopener noreferrer" aria-disabled="false" class="sm secondary svelte-cmf5ev" id="component-1" style="flex-grow: 100;" target="_blank">
63
+ <img src="http://127.0.0.1:7860/file=assets/kaggle.svg" alt="kaggle icon">
64
+ </a>
65
+ </div>
66
+ '''
67
+
68
  language_dict = union_language_dict()
69
 
70
  def subtify_no_ui():
 
282
  gr.Video(visible=visible),
283
  )
284
 
285
+ def show_auxiliar_block1():
286
+ print("show_auxiliar_block1")
287
+ return gr.Textbox(value="URL checked", visible=True)
288
+
289
  def get_youtube_thumbnail(url):
290
  yt = YouTube(url)
291
  thumbnail_url = yt.thumbnail_url
 
371
  gr.Textbox(visible=True),
372
  gr.Textbox(visible=True),
373
  gr.Textbox(visible=True),
374
+ gr.Textbox(visible=False),
375
  )
376
 
377
  def get_audio_and_video_from_video(url):
 
518
  def subtify():
519
  with gr.Blocks() as demo:
520
  num_speaker = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
521
+ subtify_logo = Image.open("assets/subtify_logo.webp")
522
+ subtify_logo_width, subtify_logo_height = subtify_logo.size
523
+ factor = 5
524
+ new_width = subtify_logo_width // factor
525
+ new_height = subtify_logo_height // factor
526
 
527
  # Layout
528
+ gr.Markdown(html_social_media)
529
+ gr.Markdown("<h1 style='text-align: center;'>Subtify</h1>")
530
+ gr.Markdown(f"<img src='https://maximofn.com/wp-content/uploads/2023/11/subtify_logo-scaled.webp' style='width: {new_width}px; height: {new_height}px; margin-left: auto; margin-right: auto; display: block;'/>")
531
  with gr.Row(variant="panel"):
532
  url_textbox = gr.Textbox(placeholder="Add video URL here", label="Video URL", elem_id="video_url", scale=1, interactive=True)
533
  # copy_button = gr.Button(size="sm", icon="icons/copy.svg", value="", min_width="10px", scale=0)
534
  delete_button = gr.Button(size="sm", icon="icons/delete.svg", value="", min_width="10px", scale=0)
535
 
536
  visible = False
537
+ auxiliar_block1 = gr.Textbox(label="Auxiliar block 1", elem_id="auxiliar_block1", interactive=False, visible=visible)
538
  with gr.Row(equal_height=False):
539
  image = gr.Image(visible=visible, scale=1)
540
  with gr.Column():
 
545
  with gr.Row():
546
  subtify_button = gr.Button(size="lg", value="subtify", min_width="10px", scale=0, visible=visible)
547
 
548
+ auxiliar_block2 = gr.Textbox(placeholder="Waiting", label="Auxiliar block 2", elem_id="auxiliar_block2", interactive=False, visible=visible)
549
  with gr.Row():
550
  video_donwloaded_progress_info = gr.Textbox(placeholder="Waiting", label="Video downloaded progress info", elem_id="video_donwloaded_progress_info", interactive=False, visible=visible)
551
  video_sliced_progress_info = gr.Textbox(placeholder="Waiting", label="Video sliced progress info", elem_id="video_sliced_progress_info", interactive=False, visible=visible)
 
571
  target_languaje,
572
  number_of_speakers,
573
  subtify_button,
574
+ auxiliar_block2,
575
  video_donwloaded_progress_info,
576
  video_sliced_progress_info,
577
  video_transcribed_progress_info,
 
582
  ]
583
  )
584
  url_textbox.change(
585
+ fn=show_auxiliar_block1,
586
+ outputs=[auxiliar_block1]
587
+ )
588
+ auxiliar_block1.change(
589
  fn=is_valid_url,
590
  inputs=url_textbox,
591
  outputs=[image, source_languaje, target_languaje, number_of_speakers, subtify_button]
592
  )
593
  subtify_button.click(
594
  fn=change_visibility_texboxes,
595
+ outputs=[auxiliar_block2, video_donwloaded_progress_info, video_sliced_progress_info, video_transcribed_progress_info, transcriptions_concatenated_progress_info, video_translated_progress_info, video_subtitled_progress_info, auxiliar_block1]
596
  )
597
+ auxiliar_block2.change(
598
  fn=get_audio_and_video_from_video,
599
  inputs=[url_textbox],
600
  outputs=[video_donwloaded_progress_info, original_audio_path, original_video_path]
assets/MFN.min.svg ADDED
assets/MFN.svg ADDED
assets/facebook.svg ADDED
assets/github.svg ADDED
assets/instagram.svg ADDED
assets/kaggle.svg ADDED
assets/linkedin.svg ADDED
assets/sitemap.svg ADDED
assets/tiktok.svg ADDED
assets/twitch.svg ADDED
assets/x.svg ADDED
assets/youtube.svg ADDED